> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hi-doctor.ai/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Connect the Hi Doctor MCP connector at https://mcp.hi-doctor.ai/mcp. Add this URL as a remote HTTP MCP server in your client, then sign in and authorise access through OAuth. Setup: https://docs.hi-doctor.ai/mcp/connect.
>
> The REST API base is https://api.hi-doctor.ai. Hi Doctor Docs at https://docs.hi-doctor.ai/mcp searches documentation; connect to the product endpoint above for patient tools.
>
> Hi Doctor operates across the whole European Union: residents of all 27 EU member states can use the service, and every consultation is reviewed by an EU-licensed doctor. Every consultation is reviewed in full by an EU-licensed doctor, who decides on medical grounds only. No algorithm, assistant or API call approves a consultation, issues a prescription or changes a dose. The service is available in eight languages: English, Spanish, German, Dutch, Italian, French, Portuguese and Chinese.
>
> ## Rules an assistant must follow
>
> - Never invent, assume or infer a medical answer. "I don't know" is a real answer: ask the patient to pick the closest option rather than guessing for them.
> - Never give medical advice and never suggest a medication or a dose. An EU-licensed doctor decides those.
> - If a questionnaire returns `ineligible`, say so plainly. Do not retry with altered answers.
> - Before anything that costs money or cancels a plan, state exactly what will happen and get an explicit yes.
> - Cancellation takes effect at the **end of the paid period**, not immediately. Say so.
> - An early order is irreversible: it creates the renewal consultation immediately and uses up the period's one early order. Explain that and get an explicit yes.
> - Prescription and invoice links are medical documents. A `signed_redirect` link opens without signing in: give it only to the patient, never repeat it anywhere shared.
> - Send option `value`s, not the labels shown to the patient. Labels are translated, values are stable.
> - Never ask for card details. Payment happens on Stripe's hosted checkout via a link.
> - On severe or sudden symptoms (chest pain, difficulty breathing, severe allergic reaction, suicidal thoughts), stop and direct the patient to their local emergency number.

# Partner API go-live checklist before live mode

> What a partner needs before Hi Doctor enables Partner API live mode: signed agreements, consent, test coverage, webhooks, keys and operations.

Hi Doctor enables Partner API live mode for each partner once the checklist below is complete: signed agreements, a correct patient experience, an integration proven in test mode, verified webhooks, safe keys and named contacts. Until then a live key gets `403 partner_not_live`. Write to [hello@hi-doctor.ai](mailto:hello@hi-doctor.ai) when you are ready for a review.

Last reviewed: 2026-11-04

## Agreements

* [ ] Partner agreement signed, with the products, countries and prices for your programme.
* [ ] Data processing agreement (DPA) signed.

## Patient experience

* [ ] The full questionnaire is rendered from the served schema, including conditional steps, exclusions and validation. See [Questionnaires and schema](https://docs.hi-doctor.ai/partners/questionnaires-and-schema.md).
* [ ] Consent is captured actively, with the current `notice_version`, and your evidence of it is stored. See [Security and compliance](https://docs.hi-doctor.ai/partners/security-and-compliance.md#consent-capture).
* [ ] Patients are told that an EU-licensed doctor reviews their answers, decides on medical grounds only, and may ask for more information or decline. See [Safety](https://docs.hi-doctor.ai/essentials/safety.md).
* [ ] Patients are told they receive any prescription as set out for their country. See [Countries](https://docs.hi-doctor.ai/essentials/regions.md).
* [ ] Your wording makes no promise of a prescription or of a review time.

## Integration, proven in test mode

* [ ] Submission with a stored `Idempotency-Key`, retried with the same key after a timeout.
* [ ] `409 schema_outdated` handled by fetching the new schema and asking the new questions.
* [ ] `422` errors mapped back to the right question with `errors[].question_key` when it is present, with a general message when it is not.
* [ ] Photos uploaded close to submission; `upload_unusable`, `unsupported_media` and `file_too_large` handled.
* [ ] Every status covered with the [test advance endpoint](https://docs.hi-doctor.ai/partners/test-mode.md): `in_review`, `info_requested` and its answer, `approved` with a prescription, `rejected`, and a cancel through the cancel endpoint.
* [ ] Cancel offered only while `cancellable` is true, and `409 not_cancellable` handled for a cancel that loses a race with a doctor opening the case.

## Webhooks

* [ ] Live endpoint registered on HTTPS, answering `2xx` quickly and processing afterwards.
* [ ] `webhook-signature` verified per [Standard Webhooks](https://docs.hi-doctor.ai/partners/webhooks.md#verify-the-signature) on the raw body, with the key decoded from the `whsec_` secret, the 300-second `webhook-timestamp` tolerance, and any matching `v1` entry accepted during rotation.
* [ ] Events deduplicated on `webhook-id`.
* [ ] Stored state replaced wholesale with the highest `version` snapshot per consultation.
* [ ] Unknown event types and unknown fields ignored without errors.
* [ ] A reconciliation job that reads consultations with [pagination](https://docs.hi-doctor.ai/partners/pagination.md) in case your endpoint was down.

## Keys and access

* [ ] Live keys created by an owner or admin, with the smallest scopes, stored in a secret manager.
* [ ] A rotation procedure written down and tested with a test key.
* [ ] Business portal members and roles reviewed. See [Business portal](https://docs.hi-doctor.ai/partners/business-portal.md).

## Operations

* [ ] Logs keep `request_id` and `webhook-id`, and never API keys, webhook secrets, signatures or patient answers.
* [ ] Alerts on repeated `5xx`, `429` and webhook failures, and on a webhook endpoint that Hi Doctor disabled after 50 consecutive failed deliveries or three days of failures, which the Business portal shows as Disabled.
* [ ] A named contact for Hi Doctor to reach about incidents.

## What happens after I ask for a review?

Hi Doctor checks the items above with you and, once they are in place, enables live mode for your partner. From then on your live keys work on real patients and real consultations. Live keys are created in the [Business portal](https://docs.hi-doctor.ai/partners/business-portal.md) by an Owner or Admin.

## Frequently asked questions

### Who enables live mode?

Hi Doctor enables live mode for each partner once the checklist is complete. A live key used before that gets 403 partner\_not\_live.

### Do I need a signed DPA before going live?

Yes. Both the partner agreement and the data processing agreement (DPA) must be signed before live mode is enabled.

### Which branches must I test before going live?

Every status, using the test advance endpoint: in\_review, info\_requested and its answer, approved with a prescription, rejected, and a cancel through the cancel endpoint.

### Can my product promise patients a prescription?

No. Your wording must make no promise of a prescription or of a review time, because an EU-licensed doctor decides on medical grounds only.

### What should my logs never contain?

API keys, webhook secrets, signatures or patient answers. Keep request\_id and webhook-id for support instead.

### Do I need a reconciliation job if I use webhooks?

Yes. A job that reads consultations with pagination catches up on any events missed while your endpoint was down.

## Next steps

> [card] [Test mode](https://docs.hi-doctor.ai/partners/test-mode.md)
>
> Cover every branch before the review.

> [card] [Webhooks](https://docs.hi-doctor.ai/partners/webhooks.md)
>
> Signature verification, dedupe and ordering.

Commercial questions: read the [partnership FAQ](https://docs.hi-doctor.ai/partnerships/faq.md) or write to [hello@hi-doctor.ai](mailto:hello@hi-doctor.ai).


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.