Skip to main content
Creating a Hi Doctor patient account over REST takes three calls: register with an email and password, verify the 6-digit code emailed to the patient, which also signs them in, and complete the profile before checkout. The patient must read the code from their own inbox, so this flow belongs in your application, never in a model prompt. Last reviewed: 2026-11-04
Building an AI assistant? The MCP connector can create an account too. Sign-in is delegated to hi-doctor.ai, where a patient can create an account with an emailed code, sign in with a password or with Google, and reset a password. The assistant never sees the password.
Hi Doctor is not an emergency service. If someone reports severe or sudden symptoms, direct them to their local emergency number instead of continuing a signup. See Safety.

How do you create and verify an account?

Send Content-Type: application/json and X-Brand-Slug: hi-doctor on every call. The patient types their password into your application’s form; it goes straight to the API and is never logged.
1

Register

200
Only email and password are required. The response is 200: the account is created when the code is verified.
429
The cooldown 429 also carries Retry-After: 59. Read either the header or wait_seconds; they hold the same number of seconds.
2

Verify the emailed code

A 6-digit code is emailed to the address. It is valid for 10 minutes. Ask the patient for it and pass it through.
200
Success signs the patient in: store the tokens as described in Authentication. There is no separate sign-in call.Until verification succeeds, POST /v1/users/token/ returns 401: verification_required while the code is still valid, invalid_credentials once it has expired (register again to get a new code).
3

Complete the profile

Checkout requires a complete profile. If anything is missing it refuses with PROFILE_INCOMPLETE and lists the gaps:
Fill exactly those fields, then retry checkout:
country_of_residence takes an ISO 3166-1 alpha-3 code from the table below.

How do you resend the verification code?

There is no resend endpoint. To send a new code, call POST /v1/users/register/ again with the same address after the 60-second cooldown. A repeat inside the cooldown returns 429 with wait_seconds; wait that long instead of looping. Tell the patient to check for the earlier email first.

Which country codes does the profile accept?

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. Send the patient’s country of residence as an ISO 3166-1 alpha-3 code: Countries explains how the service works across these countries and in which languages.

What if the patient forgets their password?

POST /v1/users/forgot-password/ with email (and optionally locale) always returns the same generic 200 message, whether or not the account exists. A repeat within 60 seconds returns 429 with wait_seconds. An account created with Google returns 400 code: "google_account", since it has no password. POST /v1/users/reset-password/ with uid, token and new_password from the emailed link sets the new password. Existing refresh tokens are refused afterwards.

Can a patient sign up with Google?

Google sign-in over REST (POST /v1/users/google-login/) needs a Google ID token issued for Hi Doctor’s own Google OAuth client, so it serves Hi Doctor’s own apps. See Google sign-in. Patients who use Google can still connect an AI assistant through the MCP connector.

Frequently asked questions

How long is the verification code valid?

The 6-digit code expires after 10 minutes. After 10 incorrect codes within an hour, verification is blocked for a while; stop and wait instead of retrying.

Is the account created when the patient registers?

No. Registration only sends the code. The account is created, and the patient signed in, when the code is verified.

Why does sign-in fail before verification?

While the emailed code is still valid, password sign-in returns 401 with the verification required code; after it expires, 401 with the invalid credentials code. Complete verification first.

What if the email address cannot receive mail?

Registration returns 406 with the undeliverable email error. Ask the patient for a different address; retrying the same one cannot succeed.

Which profile fields does checkout need?

Checkout lists any missing fields in its incomplete profile error. Fill exactly those fields with a profile update, then retry checkout.

Can someone outside the EU sign up?

Hi Doctor serves residents of the 27 EU member states listed on this page. Send the patient’s actual country of residence; it is one of the profile fields checkout can ask for.

Can an AI assistant run this signup flow?

No. An assistant should use the MCP connector, where the patient signs up and signs in on hi-doctor.ai and the assistant never sees the password.

Next steps

Authentication

Store and refresh tokens, and handle every sign-in failure.

Quickstart

Make the first authenticated read with the new account.

Errors and recovery

Cooldowns, throttles and error shapes in detail.

Account endpoints

Every account operation in one table.