Data Sources
List data sources for a workspace with optional filtering.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
50Filter by source type (repeatable)
Search by name, ID, type, or sync status
Successful Response
Missing or invalid API key.
Validation Error
GET /v1/{workspace_id}/data-sources HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"display_name": "text",
"source_type": "ehr",
"connection_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"entity_types": [
"text"
],
"field_mappings": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"sync_strategy": "manual",
"sync_schedule": "text",
"is_active": true,
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}
],
"has_more": true,
"continuation_token": null
}Register a new external data source in the workspace.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
manualPossible values: Successful Response
Missing or invalid API key.
Insufficient permissions.
Validation Error
POST /v1/{workspace_id}/data-sources HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 244
{
"name": "text",
"display_name": "text",
"source_type": "ehr",
"connection_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"entity_types": [
"text"
],
"field_mappings": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"sync_strategy": "manual",
"sync_schedule": "text"
}{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"display_name": "text",
"source_type": "ehr",
"connection_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"entity_types": [
"text"
],
"field_mappings": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"sync_strategy": "manual",
"sync_schedule": "text",
"is_active": true,
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Retrieve a data source by ID.
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.
Data source not found.
Validation Error
GET /v1/{workspace_id}/data-sources/{data_source_id} HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"display_name": "text",
"source_type": "ehr",
"connection_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"entity_types": [
"text"
],
"field_mappings": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"sync_strategy": "manual",
"sync_schedule": "text",
"is_active": true,
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Delete a data source.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
No content
Missing or invalid API key.
Data source not found.
Validation Error
DELETE /v1/{workspace_id}/data-sources/{data_source_id} HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Update a data source's configuration.
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.
Data source not found.
Validation Error
PATCH /v1/{workspace_id}/data-sources/{data_source_id} HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 227
{
"display_name": "text",
"connection_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"entity_types": [
"text"
],
"field_mappings": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"sync_strategy": "manual",
"sync_schedule": "text",
"is_active": true
}{
"id": "123e4567-e89b-12d3-a456-426614174000",
"workspace_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"display_name": "text",
"source_type": "ehr",
"connection_config": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"entity_types": [
"text"
],
"field_mappings": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"sync_strategy": "manual",
"sync_schedule": "text",
"is_active": true,
"created_at": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01T00:00:00.000Z"
}Get event counts, sync status, and health for a data source.
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.
Data source not found.
Validation Error
GET /v1/{workspace_id}/data-sources/{data_source_id}/status HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data_source_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"is_active": true,
"event_count": 1,
"synced_count": 1,
"failed_count": 1
}Daily event timeline + recent sync failures for a data source.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
30Successful Response
Missing or invalid API key.
Data source not found.
Validation Error
GET /v1/{workspace_id}/data-sources/{data_source_id}/sync-history HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"data_source_id": "123e4567-e89b-12d3-a456-426614174000",
"name": "text",
"timeline": [
{
"date": "text",
"event_count": 1,
"synced_count": 1,
"failed_count": 1
}
],
"recent_failures": [
{
"event_id": "123e4567-e89b-12d3-a456-426614174000",
"event_type": "text",
"fhir_resource_type": "text",
"fhir_resource_id": "text",
"sync_error": "text",
"created_at": "text"
}
]
}Last updated
Was this helpful?

