Skip to main content
Test mode lets you build and rehearse a whole Partner API integration with keys that start with hdp_test_. Test consultations are synthetic: they never reach a doctor, create no medical record and are never billed. Nothing moves on its own, so you advance each consultation yourself with the test advance endpoint and receive the same webhook events as in live mode. Last reviewed: 2026-11-04

What is Partner API test mode?

  • You use a key that starts with hdp_test_. Every resource it creates is a test resource. Consultations, patients and webhook endpoints carry "mode": "test"; uploads, information requests, prescriptions and webhook deliveries have no mode field and belong to the key’s mode.
  • Test consultations are synthetic. They never reach a doctor, no medical record is created and nothing is billed.
  • Test uploads are checked exactly like live uploads, but are never turned into patient documents.
  • Test and live data never mix: a test key gets 404 for live resources and a live key gets 404 for test resources.
  • Webhook endpoints are registered per mode. Test events go only to test endpoints, and are signed and sent with the same Standard Webhooks headers as live events, so the same verifier works in both modes.

Why does a test consultation not move on its own?

A test consultation stays submitted until you move it. There is no automatic simulation, so your tests are deterministic.

Advance a test consultation

POST /v1/partner/test/consultations/{id}/advance/ moves a test consultation to the next status and emits the same webhook event a live consultation would. It requires consultations:write and answers 404 to a live key.
The response is the updated consultation resource, the same body that Consultation lifecycle describes, and the matching webhook event, here consultation.info_requested, carries it as data.

In which order is the advance body checked?

info_requested creates a synthetic information request that you answer with the normal answer endpoint, so you can test that flow end to end.

How do I cover every branch in a test run?

  1. Submit a test consultation. It is submitted, version 1.
  2. Advance to in_review. You receive consultation.in_review.
  3. Advance to info_requested with reason_code and question_keys. You receive consultation.info_requested.
  4. Answer the request through the API, or advance to in_review. The consultation returns to in_review.
  5. Advance to approved, then to prescription_issued. You receive consultation.approved and prescription.issued.
  6. Repeat with rejected, and cancel a fresh consultation straight after submission with POST /v1/partner/consultations/{id}/cancel/ (not the advance endpoint), to cover every branch.

How do I move from test to live?

Test mode proves your integration; it does not enable live mode. Live mode is enabled for each partner by Hi Doctor once the Go-live checklist is complete. Until then a live key gets 403 partner_not_live.

Frequently asked questions

Do test consultations reach a doctor?

No. Test consultations are synthetic. They never reach a doctor, no medical record is created and nothing is billed.

Are test webhooks signed like live webhooks?

Yes. Test events go only to test endpoints and are signed and sent with the same Standard Webhooks headers as live events, so the same verifier works in both modes.

How do I test an information request?

Advance the consultation to info_requested with a reason_code and question_keys. It creates a synthetic information request that you answer with the normal answer endpoint.

How do I get a test prescription?

Advance the consultation to approved, then to prescription_issued. Each repeat adds another synthetic prescription and the status stays approved.

Can a live key use the advance endpoint?

No. The advance endpoint answers 404 to a live key and requires the consultations:write scope.

Does finishing test mode enable live mode?

No. Hi Doctor enables live mode for each partner once the go-live checklist is complete. Until then a live key gets 403 partner_not_live.

Next steps

Quickstart

Run a first test consultation end to end.

Information requests

Read and answer a doctor’s request.
Commercial questions: read the partnership FAQ or write to hello@hi-doctor.ai.