Prescription API
List prescriptions
Retrieve a list of prescriptions the authenticated user has access to.
GET
/prescriptionsOAuth 2.0prescriptions.read200 OKAuthentication
OAuth 2.0
Required
Permissions
prescriptions.read
Required
Rate limit
600 requests / min
Default
Caching
30 seconds
Recommended
Response
200 OK
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| patient_id | uuid | No | Filter by patient |
| status | string | No | Filter by lifecycle status |
| from | date-time | No | Created after |
| to | date-time | No | Created before |
| page | integer | No | Page number |
| limit | integer | No | Items per page |
Filtering
| Filter | Behavior |
|---|---|
| status | draft, clinically_validated, signed, routed, dispensed, cancelled |
| role visibility | Results are filtered by authenticated role and tenant membership |
| date range | Use from/to to constrain result windows |
Example request
cURL
curl -X GET "https://api.mediloop.com/v1/prescriptions?status=signed&page=1&limit=25" \
-H "Authorization: Bearer $ACCESS_TOKEN"Example response
200 OK{
"data": [{"id":"presc_456","status":"signed"}],
"meta": {"page":1,"limit":25,"total":1}
}Example response
Responses use stable identifiers and lifecycle status values so clients can safely coordinate clinical and pharmacy workflows.
Responses
| HTTP | Description |
|---|---|
| 200 | Request completed successfully |
| 201 | Resource/action created |
| 400 | Validation error |
| 401 | Authentication required |
| 403 | Insufficient permission or scope |
| 404 | Prescription not found |
| 409 | Lifecycle or concurrency conflict |
| 422 | Unprocessable clinical/request data |
Pagination
Use page/limit in the current design. Cursor pagination can be introduced later without changing the resource semantics.
Workflow
draftCreated by provider
clinically_validatedClinically validated
signedDigitally signed
routedSent to pharmacy
dispensedDispensed to patient