v1

latestOpenAPI 3.0.3AGPL-3.0-or-later2026-07-2687268192.4 KB
flow

Registration

Initialize or advance a registration flow.

post/registration

Query parameters

actionstring
Example:register_client_capabilities@15655672-41ca-48cc-afb1-90be77075764

String of the format {action_name}@{flow_id}. Indicates the action to perform on the flow with the given flow_id. Omitting the query parameter initializes a new flow.

Note for playground usage: You can derive the value for this query parameter from the action's href property in a flow state response, e.g. for an href value of /login?action=register_client_capabilities%4015655672-41ca-48cc-afb1-90be77075764 the (non-URL-encoded) value would be register_client_capabilities@15655672-41ca-48cc-afb1-90be77075764.

Headers

X-Language'bn' | 'de' | 'en' | 'fr' | 'it' | 'nl' | 'pt-BR' | 'zh'

Used to internationalize outgoing emails (e.g. for email verification, recovery, etc.).

If email delivery by Hanko is enabled the values for supported languages are:

  • "bn" (Bengali/Bangla)
  • "de" (German)
  • "en" (English)
  • "fr" (French)
  • "it" (Italian)
  • "nl" (Dutch)
  • "pt-BR" (Brazilian Portuguese),
  • "zh" (Chinese)

If email delivery by Hanko is disabled and a webhook has been configured for the email.send event, the JWT payload of the token contained in the response to the webhook endpoint contains a language claim that reflects the value originally passed as the header value.

Request body

csrf_tokenstring

Not required on flow initialization, i.e. on requests without an action query parameter.

Required on all other requests performing an action, i.e. on requests that use an action query parameter. Should be the csrf_token value from the most recent flow state response.

Example request

{
  "csrf_token": "qvcZt29spXYO77Y9IaxxN4MzLnmbjozl"
}

Response

RegistrationFlowResponse

OR
OR
OR
OR
OR
OR
OR
OR
OR
OR
OR

Example response

{
  "csrf_token": "HvUwWSfPgz7VnwiS8VMDpnhZ1wNwTNiV",
  "links": []
}