A patient's documents
Documents on file for a patient, each with a short-lived presigned URL.
GET /v1/patients/{patientId}/documentsEach document comes back with a presigned URL. They expire — fetch them when you need them rather than storing the link.
Upload is not available yet. It is a multipart endpoint and needs its own size and streaming policy; listing and deleting ship first.
API-key only (a widget session is refused) and entitlement-gated on devapi_patients_documents_list.
Path parameters
| Name | Required | Description |
|---|---|---|
patientId | Yes | Fills the :patientId segment. |
Query parameters
| Name | Required | Description |
|---|---|---|
category | No | — |
search | No | — |
Try it
/v1/patients/:patientId/documentsAPI key onlydevapi_patients_documents_listReturns presigned URLs, which expire. Fetch them when you need them rather than storing them.
Path
Query
GET /v1/patients//documentshttps://api.medos.oneUse a dedicated test key, and put your browser's address on its allowlist
A Developer API key authenticates on its own, so it only works from the addresses registered against it — and this page calls from your browser, not your servers. Unless your own public address is on the list you get a 403 naming it, which is the allowlist doing its job. Your browser may also reach us over IPv6 even when your server does not, so the address in the error is often not the one you expected. The key here is kept in memory only and never written to storage, but create a test key for it and deactivate that key when you are done.
Request
curl -s "https://api.medos.one/v1/patients/1/documents" \
-H "x-api-key: $MEDOS_API_KEY"Common failures
| Status | Cause |
|---|---|
403 with requiredFeature | Not entitled to this operation. |
403 "only available to Developer API keys" | A widget session token was used. Send x-api-key. |