FHIR
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Missing or invalid API key.
Workspace not found.
GET /v1/{workspace_id}/fhir/status HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"configured": true,
"connector_type": "text",
"event_count": 1,
"entity_count": 1,
"entity_type_counts": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"resource_type_counts": {
"ANY_ADDITIONAL_PROPERTY": 1
},
"last_poll_at": "text",
"last_change_at": "text",
"sync_healthy": true
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
fhir_importWhen true, identical re-uploads of the same FHIR resource are skipped via content-hash dedup. Set to false to force emission regardless of content changes.
trueControls resources whose resourceType is missing or not projected by platform FHIR APIs. 'error' skips the resource and adds a per-resource error; 'skip' skips it without adding an error. Unsupported resources are never emitted as silent raw world events.
errorPossible values: Successful Response
000false0falseFHIR import uses workspace + resourceType + id as the natural key. Identical re-uploads can be deduped; changed resources supersede prior current events.
same_resource_id_upsertResources omitted from a later bundle are not deleted or archived by import.
absent_resources_persistInvalid bundle format.
Validation Error
POST /v1/{workspace_id}/fhir/import HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 202
{
"bundle": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"source": "fhir_import",
"source_system": "text",
"data_source_id": "123e4567-e89b-12d3-a456-426614174000",
"dedup": true,
"unsupported_resource_policy": "error"
}{
"events_created": 1,
"events_skipped": 0,
"events_updated": 0,
"entities_created": 1,
"entities_updated": 1,
"error_count": 0,
"errors": [
"text"
],
"errors_truncated": false,
"unsupported_resource_count": 0,
"unsupported_resources": [
{
"resource_type": "text",
"resource_id": "text",
"location": "text",
"reason": "text"
}
],
"unsupported_resources_truncated": false,
"upsert_semantics": "same_resource_id_upsert",
"absence_semantics": "absent_resources_persist"
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Request body for POST /fhir/build-bundle.
Bundle building is a pure transformation, so this carries only the user
rows — provenance/dedup options (source, dedup, …) belong to the
downstream POST /fhir/import call, not to bundle construction.
Successful Response
Response for POST /fhir/build-bundle — the built FHIR Bundle.
bundle is the exact value POST /fhir/import expects nested under its
bundle field; patient_count echoes how many Patients were built.
Invalid user list.
POST /v1/{workspace_id}/fhir/build-bundle HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 112
{
"users": [
{
"external_id": "text",
"email": "name@gmail.com",
"name": "text",
"first_name": "text",
"last_name": "text"
}
]
}{
"bundle": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"patient_count": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
fhir_importSkip identical re-uploads via content-hash dedup
trueUse 'error' to report unsupported resources, or 'skip' to skip them without errors.
errorPossible values: Successful Response
000false0falseFHIR import uses workspace + resourceType + id as the natural key. Identical re-uploads can be deduped; changed resources supersede prior current events.
same_resource_id_upsertResources omitted from a later bundle are not deleted or archived by import.
absent_resources_persistStream exceeded line cap.
Validation Error
POST /v1/{workspace_id}/fhir/import-stream HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"events_created": 1,
"events_skipped": 0,
"events_updated": 0,
"entities_created": 1,
"entities_updated": 1,
"error_count": 0,
"errors": [
"text"
],
"errors_truncated": false,
"unsupported_resource_count": 0,
"unsupported_resources": [
{
"resource_type": "text",
"resource_id": "text",
"location": "text",
"reason": "text"
}
],
"unsupported_resources_truncated": false,
"upsert_semantics": "same_resource_id_upsert",
"absence_semantics": "absent_resources_persist"
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Search by name
Scope to data source
200Successful Response
falseValidation Error
GET /v1/{workspace_id}/fhir/views/patients HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"patients": [
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"first_name": "text",
"last_name": "text",
"birth_date": "text",
"gender": "text",
"phone": "text",
"email": "text",
"mrn": "text",
"address": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"address_state": "text",
"address_postal_code": "text",
"address_city": "text",
"active_conditions": [
"text"
],
"active_medications": [
"text"
],
"allergies": [
"text"
],
"insurance": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"primary_payer_name": "text",
"practice_payer_id": "text",
"member_id": "text",
"policyholder_name": "text",
"policyholder_relationship": "text",
"policyholder_dob": "text",
"source_system": "text",
"canonical_id": "text",
"event_count": 0,
"confidence": 1,
"last_event_at": "text",
"created_at": "text"
}
],
"total": 1,
"has_more": false,
"next_offset": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Search by name
Scope to data source
200Successful Response
falseValidation Error
GET /v1/{workspace_id}/fhir/views/practitioners HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"practitioners": [
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"npi": "text",
"specialty": "text",
"phone": "text",
"email": "text",
"member_id": "text",
"scheduling_eligible": true,
"source_system": "text",
"canonical_id": "text",
"event_count": 0,
"last_event_at": "text"
}
],
"total": 1,
"has_more": false,
"next_offset": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Search by name
Scope to data source
200Successful Response
falseValidation Error
GET /v1/{workspace_id}/fhir/views/locations HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"locations": [
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"address": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"address_line": "text",
"city": "text",
"state": "text",
"postal_code": "text",
"country": "text",
"latitude": 1,
"longitude": 1,
"timezone": "text",
"facility_id": "text",
"phone": "text",
"hours": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"source_system": "text",
"canonical_id": "text",
"event_count": 0,
"last_event_at": "text"
}
],
"total": 1,
"has_more": false,
"next_offset": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Search
Scope to data source
200Successful Response
falseValidation Error
GET /v1/{workspace_id}/fhir/views/appointments HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"appointments": [
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"status": "text",
"start": "text",
"end": "text",
"patient_name": "text",
"practitioner_name": "text",
"location_name": "text",
"reason": "text",
"cancel_reason": "text",
"appointment_type": "text",
"duration_minutes": 1,
"modality": "text",
"source_system": "text",
"canonical_id": "text",
"event_count": 0,
"last_event_at": "text"
}
],
"total": 1,
"has_more": false,
"next_offset": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Search
Scope to data source
Slot status (e.g. 'free', 'busy')
Start date YYYY-MM-DD (filters slots on or after this date)
Number of days forward from date (default 7)
7Provider name (partial match, e.g. 'Woloski')
Specialty (partial match, e.g. 'Psychiatry')
Visit/service type name (partial match, e.g. 'Follow-up')
Facility ID
200Successful Response
falseValidation Error
GET /v1/{workspace_id}/fhir/views/slots HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"slots": [
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"status": "text",
"start": "text",
"end": "text",
"schedule_ref": "text",
"provider_name": "text",
"provider_id": "text",
"facility_id": "text",
"specialty": "text",
"visit_type_ids": "text",
"visit_type_names": "text",
"source_system": "text",
"canonical_id": "text",
"event_count": 0,
"last_event_at": "text"
}
],
"total": 1,
"has_more": false,
"next_offset": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Search by name
Scope to data source
200Successful Response
falseValidation Error
GET /v1/{workspace_id}/fhir/views/organizations HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"organizations": [
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"phone": "text",
"domain": "text",
"industry": "text",
"address": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"source_system": "text",
"canonical_id": "text",
"event_count": 0,
"last_event_at": "text"
}
],
"total": 1,
"has_more": false,
"next_offset": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Search by name, MRN, phone, or entity ID
Search by MRN
Search by phone
Sort field with +/- prefix (e.g. -last_event_at)
200Successful Response
falseValidation Error
GET /v1/{workspace_id}/fhir/patients HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"patients": [
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"birth_date": "text",
"gender": "text",
"phone": "text",
"email": "text",
"mrn": "text",
"event_count": 0,
"last_event_at": "text"
}
],
"total": 1,
"has_more": false,
"next_offset": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
500Successful Response
Validation Error
GET /v1/{workspace_id}/fhir/patients/{patient_id}/timeline HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"events": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"total": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Patient name
Primary phone number (E.164)
Primary email address
Date of birth (YYYY-MM-DD)
Gender
Medical record number
Validation Error
GET /v1/{workspace_id}/fhir/patients/{patient_id}/summary HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"entity_type": "text",
"display_name": "text",
"event_count": 1,
"last_event_at": "2026-01-01T00:00:00.000Z",
"name": "text",
"phone": "text",
"email": "text",
"birth_date": "text",
"gender": "text",
"mrn": "text"
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
200General search text
Successful Response
Invalid resource type.
Validation Error
GET /v1/{workspace_id}/fhir/resources/{resource_type} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"resource_type": "text",
"total": 1,
"entries": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"next_url": "text"
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Invalid resource type or payload.
Validation Error
POST /v1/{workspace_id}/fhir/resources/{resource_type} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 103
{
"data": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"data_source_id": "123e4567-e89b-12d3-a456-426614174000"
}{
"resource_type": "text",
"resource_id": "text",
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"data": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
100Successful Response
falseInvalid resource type.
Resource not found.
Validation Error
GET /v1/{workspace_id}/fhir/resources/{resource_type}/{resource_id}/history HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"resource_type": "text",
"resource_id": "text",
"entries": [
{
"event_id": "123e4567-e89b-12d3-a456-426614174000",
"event_type": "text",
"source": "text",
"source_system": "text",
"data_source_id": "123e4567-e89b-12d3-a456-426614174000",
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"confidence": 1,
"is_current": true,
"effective_at": "text",
"created_at": "text",
"fields_affected": [
"text"
],
"data": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}
],
"total": 1,
"has_more": false,
"next_offset": 1
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Invalid resource type.
Resource not found.
Validation Error
GET /v1/{workspace_id}/fhir/resources/{resource_type}/{resource_id} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"resource_type": "text",
"resource_id": "text",
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"data": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Invalid resource type or payload.
Resource not found.
Validation Error
PUT /v1/{workspace_id}/fhir/resources/{resource_type}/{resource_id} HTTP/1.1
Host: api.platform.amigo.ai
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 103
{
"data": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"data_source_id": "123e4567-e89b-12d3-a456-426614174000"
}{
"resource_type": "text",
"resource_id": "text",
"entity_id": "123e4567-e89b-12d3-a456-426614174000",
"data": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}Last updated
Was this helpful?

