Errors
Errors use a consistent JSON envelope:
{ "detail": { "code": "PLAN_PATIENT_LIMIT", "message_key": "subscriptions.patient_limit" } }| Status | Code | Description |
|---|---|---|
| 401 | API_KEY_INVALID | Missing, invalid, or revoked API key. |
| 402 | SUBSCRIPTION_REQUIRED | The clinic has no active subscription. |
| 403 | PLAN_PATIENT_LIMIT | The clinic's plan patient limit is reached. |
| 404 | PATIENT_NOT_FOUND | No patient with that id in this clinic. |
| 422 | PATIENT_CONTACT_REQUIRED | Email and mobile are both required when creating a patient. |
| 422 | DOCUMENT_TYPE_INVALID | The document type is not a valid category. |
| 422 | (validation) | A required field is missing or invalid. |
| 429 | RATE_LIMITED | Too many requests; retry after the Retry-After seconds. |
| 400 | PAYMENT_METHOD_INVALID | The payment method is not one of cash/card/bank/other. |
| 400 | PAYMENT_INVOICE_NOT_PAYABLE | The invoice is not issued, or is already paid/void. |
| 400 | PAYMENT_EXCEEDS_BALANCE | The amount is more than the invoice's outstanding balance. |
| 402 | MODULE_NOT_IN_PLAN | The clinic's plan doesn't include the required module (billing/payments). |
OpenAPI
Machine-readable spec: https://api.vodett.ai/api/public/v1/openapi.json