# Patients

Read **patients** (and later clinical artifacts) for people your integration registered or booked through the Connected API.

* `GET /connected/patients/{patient_id}` — demographics and partner metadata for a patient **linked to your partner account** via an API hold or confirmed appointment.
* Returns `404 patient_not_found` when the id is unknown or was never touched by your partner (same response shape avoids enumeration).
* Use `patient_id` from `GET /connected/appointments` or from confirm/hold responses.
* **Not** a searchable directory. `catalog_mode` on the partner only affects **who defines bookable services**, not whether you may read a patient.

#### Not included yet

Prescriptions, documents, and full chart export require separate product and legal review.

## GET /connected/patients/{patient\_id}

>

```json
{"openapi":"3.2.0","info":{"title":"Dr.Online Connected API","version":"2026-05-29"},"tags":[{"name":"Patients","summary":"Patients","description":"Read **patients** (and later clinical artifacts) for people your integration registered or booked through the Connected API.\n\n- `GET /connected/patients/{patient_id}` — demographics and partner metadata for a patient **linked to your partner account** via an API hold or confirmed appointment.\n- Returns `404 patient_not_found` when the id is unknown or was never touched by your partner (same response shape avoids enumeration).\n- Use `patient_id` from `GET /connected/appointments` or from confirm/hold responses.\n- **Not** a searchable directory. `catalog_mode` on the partner only affects **who defines bookable services**, not whether you may read a patient.\n\n### Not included yet\n\nPrescriptions, documents, and full chart export require separate product and legal review."}],"servers":[{"url":"http://localhost:3001/v1","description":"Live (production credentials)"},{"url":"http://localhost:3001/v1","description":"Sandbox (non-production credentials)"}],"security":[{"bearerAuth":[]}],"components":{"securitySchemes":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Connected API secret key from the credential reveal flow (`sk_live_…` or `sk_sandbox_…`). Each key is tied to one Dr.Online catalogue. Server-to-server only: `Authorization: Bearer <secret_key>`."}}},"paths":{"/connected/patients/{patient_id}":{"get":{"operationId":"partnerV1GetPatient","tags":["Patients"],"parameters":[{"schema":{"type":"string"},"in":"path","name":"patient_id","required":true,"description":"Patient id — use `GET /patients/{patient_id}` (Care API) for demographics"}],"responses":{"200":{"description":"Default Response","content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","description":"Patient id — use `GET /patients/{patient_id}` (Care API) for demographics"},"object":{"type":"string","enum":["patient"]},"date_of_birth":{"type":"string","nullable":true,"description":"ISO 8601 date when known (`null` otherwise)."},"email":{"type":"string","format":"email","description":"{\"example\":\"alex@partner.example\"}"},"first_name":{"type":"string","description":"{\"example\":\"Alex\"}"},"last_name":{"type":"string","description":"{\"example\":\"Smith\"}"},"metadata":{"type":"object","additionalProperties":{"type":"string","maxLength":500},"description":"Partner-owned key-value strings. Keys cannot start with \"dronline\". Only keys you set are returned; Dr.Online may store other fields internally.","default":{}},"patient_id":{"type":"string","description":"Patient id — use `GET /patients/{patient_id}` (Care API) for demographics"},"phone":{"type":"string","nullable":true,"description":"{\"example\":\"+447700900123\"}"},"sex":{"type":"string","enum":["male","female"],"nullable":true,"description":"{\"example\":\"male\"}"}},"required":["id","object","date_of_birth","email","first_name","last_name","patient_id","phone","sex"],"additionalProperties":false}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.dronline.uk/connected-api/patients.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
