submitted to a final approved, rejected or cancelled. The consultation resource carries the status, a version number that orders every change, the doctor’s decision and any prescriptions. You can cancel a consultation only while no doctor has opened it, so read cancellable before offering a cancel button.
Last reviewed: 2026-11-04
You create the consultation with Submit a consultation and learn about each change through webhooks.
What statuses can a consultation have?
submitted → in_review ⇄ info_requested → approved or rejected. A consultation can also be cancelled while it is still submitted.
There is no
completed status. After approval, track prescriptions in prescriptions[], each with its own status. The diagram is on How it works.
Read a consultation
GET /v1/partner/consultations/{id}returns one consultation.GET /v1/partner/consultationslists them, newest first, with the filtersstatus,external_patient_id,external_reference,created_after,created_before(ISO 8601) and cursor pagination.
consultations:read.
billing above are shortened: billing also carries price, and the full prescription shape is on Prescriptions. The timestamps are illustrative and say nothing about how long a review takes.
Cancel a consultation
POST /v1/partner/consultations/{id}/cancel. Scope: consultations:write. No body.
A consultation can be cancelled only before a doctor opens it. Precisely, all of these must hold:
- its status is
submitted; - no doctor has ever opened it, even if it was later reassigned;
- it has no decision and no prescription;
- no prescription is being issued, signed or replaced.
409 not_cancellable. cancellable reports exactly this rule, so use it to decide whether to offer a cancel button. The state can still change between your read and your cancel: a cancel can race a doctor opening the case, one of them wins, and if the doctor wins you get 409 not_cancellable. Handle it by reading the consultation again. If the case is briefly busy you can get 409 consultation_busy; retry after a short pause.
A successful cancel returns the consultation with status: "cancelled" and billing.state: "void", and emits consultation.cancelled. A cancelled consultation is never billed. Cancel errors are listed in Partner API errors.
Frequently asked questions
How long does a doctor take to review a consultation?
The API does not promise a review time. Subscribe to webhooks and update your interface when the status changes.Is there a completed status?
No. A consultation ends as approved, rejected or cancelled. After approval, follow each prescription in the consultation’s prescriptions list.Can I cancel a consultation after a doctor has opened it?
No. A cancel succeeds only while the consultation is submitted and no doctor has ever opened it. Otherwise the cancel request is refused, and the cancellable field tells you this in advance.Is a cancelled consultation billed?
No. A successful cancel sets the billing state to void, and a cancelled consultation is never billed.Does the reviewer object identify the doctor?
No. It holds a fixed description and the licence country only, never a name or a licence number.Why did the version increase without a status change?
The version number increases with every change to the consultation’s public state, such as a prescription being issued after approval. Use it to order events.What do I learn when a consultation is rejected?
The decision carries a reason category, either not_eligible or safety. It is a fixed category and never the doctor’s note.Next steps
Prescriptions
The structured prescription data reported after approval.
Information requests
Answer the doctor when a consultation moves to info_requested.
Webhooks
Receive every status change as a signed event.