> ## 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.

# How the Hi Doctor Partner API works: roles and flow

> Who does what in a Partner API consultation, the seven steps from product list to decision, and the six public consultation statuses.

A Partner API consultation moves through seven steps: your platform lists products, fetches the questionnaire, uploads files and submits, then an EU-licensed doctor reviews and decides. You follow every change through six public statuses, delivered as signed webhooks. This page explains the roles, the flow and the lifecycle before you write code in the [quickstart](https://docs.hi-doctor.ai/partners/quickstart.md).

Last reviewed: 2026-11-04

Hi Doctor operates across the [whole European Union](https://docs.hi-doctor.ai/essentials/regions.md): residents of all 27 EU member states can use the service, and every consultation is reviewed by an EU-licensed doctor.

## Who does what in a partner consultation?

| Who | Does what |
| - | - |
| Partner platform | Onboards the patient, records their consent, collects the questionnaire answers and photos, submits the consultation and shows the outcome in its own product. |
| Patient | Answers the questionnaire through the partner, consents to sharing it with Hi Doctor and receives the prescription as set out for their country (see [Countries](https://docs.hi-doctor.ai/essentials/regions.md)). |
| Hi Doctor | Routes the consultation to an EU-licensed doctor, keeps the medical record and reports progress to the partner. |
| Reviewing doctor | Reviews the consultation, can request more information, and prescribes where clinically appropriate or declines. Every consultation is reviewed in full by an EU-licensed doctor, who decides on medical grounds only (see [Safety](https://docs.hi-doctor.ai/essentials/safety.md)). |

## What are the seven steps?

1. List your products for a country with `GET /v1/partner/products/`.
2. Fetch the questionnaire schema for the product with `GET /v1/partner/questionnaires/{slug}/`.
3. Upload photos and documents with `POST /v1/partner/files/`. Each returns an `upload_id`.
4. Submit the consultation with `POST /v1/partner/consultations/`: patient, consent, plan, dosage and every answer in one request.
5. Follow the consultation through webhook events, or read it with `GET /v1/partner/consultations/{id}/`.
6. If the doctor needs more information, answer the [information request](https://docs.hi-doctor.ai/partners/information-requests.md) with structured answers and files.
7. When the doctor decides, the consultation becomes `approved` or `rejected`. Any prescription appears as structured data in `prescriptions[]`.

## Which statuses can a consultation have?

```mermaid theme={null}
stateDiagram-v2
    [*] --> submitted
    submitted --> in_review: a doctor opens the case
    submitted --> cancelled: partner cancels before a doctor opens it
    in_review --> info_requested: doctor asks for information
    info_requested --> in_review: partner answers
    in_review --> approved: doctor approves
    in_review --> rejected: doctor declines
    approved --> [*]
    rejected --> [*]
    cancelled --> [*]
```

| Status | Meaning |
| - | - |
| `submitted` | Hi Doctor accepted the consultation. No doctor has opened it yet. |
| `in_review` | A doctor has opened the consultation. It can no longer be cancelled. |
| `info_requested` | The doctor needs structured information. See `open_info_request` on the consultation. |
| `approved` | The doctor approved treatment. Prescriptions are reported in `prescriptions[]`. |
| `rejected` | The doctor declined. `decision.reason_category` gives a fixed category, never the doctor's note. |
| `cancelled` | The partner cancelled before any doctor opened the case. |

There is no `completed` status. The clinical outcome lives in `decision`, each prescription has its own `status`, and billing state lives in `billing`. See [Consultation lifecycle](https://docs.hi-doctor.ai/partners/consultation-lifecycle.md).

## How do test and live mode differ?

Test keys create synthetic consultations that never reach a doctor. You move them through the lifecycle yourself with an explicit test endpoint. See [Test mode](https://docs.hi-doctor.ai/partners/test-mode.md). Live mode is enabled for each partner by Hi Doctor once the [go-live checklist](https://docs.hi-doctor.ai/partners/go-live-checklist.md) is complete.

## Frequently asked questions

### Who makes the clinical decision in a partner consultation?

The reviewing doctor. Every consultation is reviewed in full by an EU-licensed doctor, who decides on medical grounds only, and the partner never makes or changes that decision.

### Can a consultation be cancelled?

Yes, while no doctor has opened it. Once a doctor opens the consultation it moves to in\_review and can no longer be cancelled.

### Is there a completed status?

No. The clinical outcome lives in decision, each prescription has its own status, and billing state lives in billing.

### What happens when the doctor needs more information?

The consultation moves to info\_requested and carries an open information request. Your platform answers it with structured answers and files, and the consultation returns to in\_review.

### Does the partner see why a doctor declined?

The partner receives a fixed category in decision.reason\_category. The doctor's own note is never shared.

### Do test consultations reach a doctor?

No. Test consultations are synthetic, never reach a doctor and only move when you advance them with the test endpoint.

## Next steps

> [card] [Quickstart](https://docs.hi-doctor.ai/partners/quickstart.md)
>
> Run your first test consultation, from key check to a signed webhook.

> [card] [Consultation lifecycle](https://docs.hi-doctor.ai/partners/consultation-lifecycle.md)
>
> The consultation resource, statuses and cancel rule.

> [card] [Webhooks](https://docs.hi-doctor.ai/partners/webhooks.md)
>
> Signed events, retries and the ordering rule.

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.