403 partner_not_live. Write to 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.
- Consent is captured actively, with the current
notice_version, and your evidence of it is stored. See Security and compliance. - 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.
- Patients are told they receive any prescription as set out for their country. See Countries.
- 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_outdatedhandled by fetching the new schema and asking the new questions. -
422errors mapped back to the right question witherrors[].question_keywhen it is present, with a general message when it is not. - Photos uploaded close to submission;
upload_unusable,unsupported_mediaandfile_too_largehandled. - Every status covered with the test advance endpoint:
in_review,info_requestedand its answer,approvedwith a prescription,rejected, and a cancel through the cancel endpoint. - Cancel offered only while
cancellableis true, and409 not_cancellablehandled for a cancel that loses a race with a doctor opening the case.
Webhooks
- Live endpoint registered on HTTPS, answering
2xxquickly and processing afterwards. -
webhook-signatureverified per Standard Webhooks on the raw body, with the key decoded from thewhsec_secret, the 300-secondwebhook-timestamptolerance, and any matchingv1entry accepted during rotation. - Events deduplicated on
webhook-id. - Stored state replaced wholesale with the highest
versionsnapshot per consultation. - Unknown event types and unknown fields ignored without errors.
- A reconciliation job that reads consultations with pagination 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.
Operations
- Logs keep
request_idandwebhook-id, and never API keys, webhook secrets, signatures or patient answers. - Alerts on repeated
5xx,429and 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 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
Test mode
Cover every branch before the review.
Webhooks
Signature verification, dedupe and ordering.