Connector Runner
Supported EHR, FHIR, REST, and workspace-data ingestion, plus policy-gated external delivery, observability, and outbound call dispatch.
Inbound Sync
Entity Resolution
Outbound Sync
Write-Back
Outbound Call Dispatch
Pipeline Observability
Pipeline Status
Composite pipeline dashboard: connector-runner state + Lakebase counts.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
0Read-model event count for the last 7 days. Null means the read model is empty or unavailable; zero means the read model is ready and has no events.
emptyPossible values: 0Rate limit exceeded
GET /v1/{workspace_id}/pipeline/status HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"status": "text",
"connector_runner_status": "text",
"uptime_seconds": 1,
"active_polls": 0,
"total_events": 1,
"event_read_model_status": "empty",
"event_read_model_synced_at": "2026-01-01T00:00:00.000Z",
"total_entities": 0,
"sources": [
{
"data_source_id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"source_type": "ehr",
"connector_type": "text",
"status": "text",
"last_poll_at": "text",
"last_poll_duration_ms": 0,
"last_poll_event_count": 0,
"last_error": "text",
"consecutive_errors": 0,
"connection_healthy": true
}
],
"entity_resolution": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"review_loop": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"outbound_dispatch": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"outbound_subscriber": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"reconciliation": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"gap_scanner": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}List Sources
Data sources with live health from Valkey cr:last_poll keys.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Search by name, ID, type, or health status
Filter by source type
Filter by health status
Filter by active state
Successful Response
0Validation Error
Rate limit exceeded
GET /v1/{workspace_id}/pipeline/sources HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"display_name": "text",
"source_type": "ehr",
"is_active": true,
"health_status": "unknown",
"last_poll": {
"at": "text",
"duration_ms": 0,
"event_count": 0,
"error": "text"
},
"event_count": 0,
"last_sync_at": "text"
}
]Source Overview
Consolidated source detail: metadata, health, recent failures, last poll, outbound summary.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
000Data source not found
Validation Error
Rate limit exceeded
GET /v1/{workspace_id}/pipeline/sources/{source_id}/overview HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"display_name": "text",
"source_type": "ehr",
"is_active": true,
"health_status": "unknown",
"last_sync_at": "text",
"last_sync_status": "success",
"last_sync_event_count": 0,
"created_at": "text",
"event_count": 0,
"entity_count": 0,
"last_poll": {
"at": "text",
"duration_ms": 0,
"event_count": 0,
"error": "text"
},
"recent_failures": [
{
"event_id": "123e4567-e89b-12d3-a456-426614174000",
"event_type": "text",
"fhir_resource_type": "text",
"sync_error": "text",
"ingested_at": "text"
}
],
"outbound": {
"total": 0,
"synced": 0,
"failed": 0,
"pending": 0,
"last_synced_at": "text"
}
}Source History
Event counts bucketed by time window for a specific source.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
1hPossible values: Successful Response
Validation Error
Rate limit exceeded
GET /v1/{workspace_id}/pipeline/sources/{source_id}/history HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"bucket": "text",
"source_system": "text",
"event_count": 1
}
]Source Events
Paginated events for a specific data source.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
[]50Filter by event type
Filter by entity type
Filter events ingested on or after this time
Filter events ingested on or before this time
Successful Response
Validation Error
Rate limit exceeded
GET /v1/{workspace_id}/pipeline/sources/{source_id}/events HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"event_type": "text",
"entity_type": "text",
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"source": "text",
"source_system": "text",
"confidence": 1,
"ingested_at": "2026-01-01T00:00:00.000Z"
}
],
"has_more": true,
"continuation_token": null
}Outbound Summary
Per-sink outbound sync aggregation: synced/failed/pending counts.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Rate limit exceeded
GET /v1/{workspace_id}/pipeline/outbound HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"data_source_id": "123e4567-e89b-12d3-a456-426614174000",
"data_source_name": "text",
"total": 1,
"synced": 1,
"failed": 1,
"pending": 1,
"last_synced_at": "text"
}
]Outbound Log
Paginated outbound sync log for a specific sink.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
50Successful Response
Validation Error
Rate limit exceeded
GET /v1/{workspace_id}/pipeline/outbound/{data_source_id}/log HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"event_id": "123e4567-e89b-12d3-a456-426614174000",
"synced_at": "2026-01-01T00:00:00.000Z",
"sync_error": "text",
"attempt_count": 1,
"created_at": "2026-01-01T00:00:00.000Z"
}
],
"has_more": true,
"continuation_token": null
}Entity Resolution Metrics
Historical same_as merge-edge counts (written by the pre-SDP resolver; merge detection now lives in the Databricks pipeline — new edges are not produced) and entity resolution loop status.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Rate limit exceeded
GET /v1/{workspace_id}/pipeline/entity-resolution HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"total_same_as_edges": 1,
"recent_merges_24h": 1,
"loop_status": "text",
"last_tick_at": "text"
}Legacy Review Counters
Review queue depth, approval rate, and average review time.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
0Rate limit exceeded
GET /v1/{workspace_id}/pipeline/review HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"queue_depth": 1,
"pending_by_priority": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"approved_7d": 1,
"rejected_7d": 1,
"avg_review_time_hours": 1,
"total_items": 0
}Throughput
Event throughput time series across all sources.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
1dPossible values: Successful Response
Validation Error
Rate limit exceeded
GET /v1/{workspace_id}/pipeline/throughput HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
[
{
"bucket": "text",
"source_system": "text",
"event_count": 1
}
]Source Health
Graceful Degradation
Connector Settings
Last updated
Was this helpful?

