L’API è inclusa nel piano Clinic. Con un altro piano ogni richiesta risponde
403 plan_required.Indirizzo
Formato
Versioni
La versione è nel percorso:/v1. Non esiste un header di versione. Una modifica che rompe i client esistenti esce come /v2; i campi nuovi possono comparire in /v1 in qualsiasi momento, quindi il tuo client deve ignorare i campi che non conosce.
Risorse
Ogni endpoint ha una pagina con parametri, risposte e playground nella barra laterale. Il riferimento completo li riporta tutti in una pagina. La specifica OpenAPI 3.1 è servita anche dall’API:
GET /openapi.json.
Regole generali
- Una chiave, una clinica. La chiave vede solo la sua clinica, e solo alcune sedi se è limitata. Una risorsa di un’altra clinica risponde sempre
404 not_found, mai403. Vedi Autenticazione. - Scope per area. Ogni endpoint chiede uno scope, indicato nella sua pagina. I dati clinici hanno scope separati, spenti di default. Vedi Dati clinici.
- Elenchi a cursore. Gli elenchi restituiscono
{ "data", "nextCursor" }. Vedi Paginazione. - Esiti negativi con
200. Alcune risposte dicono «non trovato» o «occupato» senza essere errori:GET /patients/lookupcon un numero sconosciuto risponde200confound: false. - Modifiche sicure. Le risorse modificabili restituiscono un
ETag: rimandalo inIf-Matche la modifica passa solo se nessuno ha cambiato la risorsa nel frattempo. Altrimenti409 conflictcondetails.reason: "version_mismatch". - Errori uniformi.
{ "error": { "code", "message", "details", "requestId" } }. Vedi Errori. - Identificativo della richiesta. Ogni risposta porta
X-Request-Id. Citalo all’assistenza.
Esempio: prenotare una visita
Autenticazione
Chiavi, scope per area, chiavi di prova.
Errori
Formato dell’errore e codici.
Idempotenza
Ripetere una creazione senza doppioni.
Paginazione
Elenchi a cursore e sincronizzazione.
Limiti di richiesta
Quante richieste, header
X-RateLimit-*.Webhook
Eventi, firma, ritentativi.