Surface Patient
Short-URL redirect: /s/f/{surface_id} → /s/{token}.
Generates a fresh HMAC token and issues a 302 redirect so that SMS messages can contain a short, clickable link instead of the long base64-encoded token URL.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Redirect to full surface URL
Surface not found
Surface expired
Validation Error
GET /s/f/{surface_id} HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Search healthcare reference data for form field autocompletion.
Supports: medication (RxNorm), allergy (RxNorm), pharmacy (NPPES NPI), insurance (static carrier list). Token-authenticated, no Bearer auth.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Autocompletion results for a surface lookup field.
Invalid token
Invalid lookup type
Rate limited
GET /s/{token}/lookup/{lookup_type}?q=text HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"results": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
]
}Extract structured data from an image (e.g. insurance card) using Gemini Vision.
Returns extracted field key-value pairs and a confidence score. Token-authenticated, no Bearer auth.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Base64-encoded image data
Optional list of field keys to extract
Successful Response
Structured field extraction result for an uploaded image.
Invalid token
Validation Error
Rate limited
POST /s/{token}/ocr HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 41
{
"image": "text",
"target_fields": [
"text"
]
}{
"extracted_fields": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"confidence": 1
}Render a patient-facing surface as HTML.
Token-authenticated — no Bearer auth required. Records a surface.opened lifecycle event on first view.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Invalid token
Token expired
Validation Error
Rate limited
GET /s/{token} HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Return surface spec as JSON for the forms app.
The forms app (Next.js) calls this on SSR to fetch the spec, saved field values, and merged branding. Records surface.opened event on first access.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Surface render bundle returned to forms-app SSR.
Invalid token
Surface not found
Already submitted
Token expired or surface archived
Validation Error
Rate limited
GET /s/{token}/spec HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"surface_id": "text",
"entity_id": "text",
"status": "text",
"spec": {
"title": "text",
"description": "text",
"fields": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"sections": [
{
"ANY_ADDITIONAL_PROPERTY": "anything"
}
],
"branding": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"submit_button_text": "text",
"completion_title": "text",
"completion_message": "text",
"completion_action_url": "text",
"context": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
},
"saved_values": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}Return available appointment slots for the surface's workspace.
Queries FHIR Slot resources from world.entities_synced that are free and within the requested date range. Token-authenticated, no Bearer auth.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
ISO date (YYYY-MM-DD) to start search
Number of days to search forward
7Successful Response
Available appointment slots grouped by date.
Invalid token
Token expired
Invalid date format
Rate limited
GET /s/{token}/availability HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"dates": [
{
"date": "text",
"slots": [
{
"id": "text",
"start": "text",
"end": "text",
"provider": "text"
}
]
}
]
}Submit a booking request for a specific slot.
Writes a booking.requested world event tied to the surface's entity. Token-authenticated, no Bearer auth.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
The FHIR Slot ID to book
Successful Response
Acknowledgement returned when a booking request is accepted.
Booking lifecycle status.
Invalid token
Slot not found
Slot unavailable
Token expired
Validation error
Rate limited
POST /s/{token}/book HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 18
{
"slot_id": "text"
}{
"status": "text",
"message": "text",
"slot_id": "text"
}Auto-heal a form field value using Claude Haiku.
Best-effort LLM correction — returns original value with confidence 0 if the service is unavailable or inference fails. Token-authenticated, no Bearer auth.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
falseSuccessful Response
Invalid token
Validation Error
Rate limited
POST /s/{token}/heal HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 131
{
"key": "text",
"value": "text",
"field_type": "text",
"label": "text",
"sensitive": false,
"context": {
"ANY_ADDITIONAL_PROPERTY": "anything"
}
}{
"corrected_value": "text",
"explanation": "text",
"confidence": 1
}Submit a patient-facing surface form.
Accepts standard HTML form POST. Writes surface.submitted event with confidence 0.5 (self-reported data).
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
Successful Response
Invalid token
Already submitted
Token expired
Validation Error
Rate limited
POST /s/{token}/submit HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Auto-save a single field value.
Called by client-side JavaScript on field blur. Writes surface.field_saved event with confidence 0.5.
API key issued via POST /v1/{workspace_id}/api-keys. Pass the returned api_key value as a Bearer token.
The field value to save
Successful Response
Acknowledgement returned when a field is auto-saved.
savedInvalid token
Payload too large
Validation Error
Rate limited
Save failed
PUT /s/{token}/fields/{key} HTTP/1.1
Host: platform.api-us.concurrence.com
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 14
{
"value": null
}{
"status": "saved"
}Last updated
Was this helpful?

