Making Requests
Every call to the Healos External API follows the same pattern. Read this once, and the rest of the API Reference is just details.Request Anatomy
- Base URL:
https://api.healos.ai/ext-api/v1(orhttp://localhost:8787/ext-api/v1in local development). X-API-Keyis required on every request. See Authentication.Content-Type: application/jsonis required forPOST,PATCH, andPUT.
Your First Call — List Patients
Patient
id is a BigInt serialized as a string. Always treat it as an
opaque string — don’t parse it as a number, and don’t assume a length.Pagination
List endpoints acceptpage and limit query parameters. Defaults are
page=1 and limit=20. Use meta.total_pages to know when you’ve reached
the end.
Creating a Resource
Write endpoints take a JSON body. The schema for each body is in the API Reference — stick to the documented fields. Extra fields are rejected with a400 validation error.
201 Created):
POST, PATCH, and DELETE require a *:write scope for the resource.
A key without it gets a 403. See Authentication → Scopes.Reading One Resource By ID
A
404 on a specific ID may mean the resource does not exist or
belongs to another user. This is intentional — see Error Handling.Handling Responses
| Status | What it means | Where to look |
|---|---|---|
2xx | Success. Body is { "data": ... }, list endpoints also include meta. | — |
400 | Validation error. Body includes a details map of field errors. | Error Handling |
401 | Missing, invalid, expired, or revoked key. | Authentication |
403 | Key is valid but lacks the required scope. | Authentication → Scopes |
404 | Resource not found (or not yours). | Error Handling |
429 | Rate limit exceeded. Honor the Retry-After header. | Rate Limiting |
X-RateLimit-Limit, X-RateLimit-Remaining, and
X-RateLimit-Reset so you can pace yourself without waiting for a 429.
Next Steps
API Reference
Full endpoint listing with request and response schemas
Authentication
API keys, scopes, and security best practices