Create a session
POST /v1/partner/launch-sessions with a required Idempotency-Key header:
Response
| Field | Required | Description |
|---|---|---|
external_client_id | Yes | Your platform’s ID for the client (max 255 chars). Used to remember the client mapping across sessions. |
clinician_email | Yes | Must match the verified email of exactly one member of the connected practice. Matching is case-insensitive. |
client_first_name | No | Shown to the clinician when they map the client for the first time. |
client_last_name | No | Shown to the clinician when they map the client for the first time. |
Idempotency. Retrying with the same
Idempotency-Key and identical body returns the original session instead of creating a duplicate. Reusing a key with a different body fails with 409 Idempotency-Key conflict. Use a fresh UUID per logical session.Hand off to the clinician
Openlaunch_url for the clinician — as a link, button, or embedded browser view from your platform. From there, Everbility takes over:
Sign in
The clinician signs in with their own Everbility account. Only the clinician matched by
clinician_email can open the session.Map the client (first time only)
If this
external_client_id has not been seen before on this connection, the clinician links it to an Everbility client or creates a new one. The mapping is remembered, so later sessions for the same client skip this step.Poll session status
Response
| Status | Meaning |
|---|---|
created | Session exists; the clinician has not opened it yet. |
opened | The clinician has opened the session in Everbility. |
completed | A document is attached — document_url is now populated. |
expired | The 48-hour window lapsed, or the connection was revoked, before completion. Terminal. |
Retrieve the completed document
Oncestatus is completed, fetch the rendered report:
Response
format=markdown (default) or format=html. The document stays available on the completed session, so you can re-fetch it after the 48-hour session window.
Errors
| Status | Detail | Cause |
|---|---|---|
400 | Idempotency-Key is required | Missing or blank Idempotency-Key header on create. |
400 | clinician_email_not_resolved | The email does not match exactly one verified member of the connected practice. |
401 | Invalid bearer token | Access token missing, expired (1 h), or revoked — refresh and retry. |
401 | Invalid partner connection | The connection was revoked or needs re-authorization. |
403 | client_access_denied | The mapped Everbility client is not accessible to the assigned clinician. |
404 | Session not found | Unknown session_id, or it belongs to a different connection. |
409 | Idempotency-Key conflict | Key reused with a different request body. |
409 | Session not completed | Document requested before the session reached completed. |
410 | Session expired | Document requested on an expired session. |