API REFERENCE
Register pending business owner
/api/v1/auth/registerCreates pending administrator identity/business/membership and queued verification email atomically. Operational login is unavailable until verification. Default initial zone UTC. Link targets admin ?verify_token=... . Limit 5 requests per connection IP per 60 seconds.
Authentication
No bearer token required. This does not remove validation or rate limits.
Parameters
No path or query parameters.
Request
| Field | Type | Description & constraints |
|---|---|---|
emailRequired | string | Account email address.Format: email · Max length: 254 |
passwordRequired | string | Private chosen password; never expose it in client bundles or logs.Min length: 12 · Max length: 128 · Write only |
display_nameRequired | string | Resource-specific value; see the related workflow and schema.Min length: 1 · Max length: 120 |
business_nameRequired | string | Resource-specific value; see the related workflow and schema.Min length: 1 · Max length: 120 |
Example JSON body
{
"email": "dispatcher@example.com",
"password": "Example-passphrase-42!",
"display_name": "Alex",
"business_name": "Example Services"
}Request schema
{
"$ref": "#/components/schemas/RegisterRequest"
}Example request
Replace synthetic identifiers and credentials. Example dates, coordinates, revisions, and IDs are not production defaults. Read the workflow guide before making a write.
curl --request POST 'https://route-api.okok.space/api/v1/auth/register' \
--header 'Content-Type: application/json' \
--data '{"email":"dispatcher@example.com","password":"Example-passphrase-42!","display_name":"Alex","business_name":"Example Services"}' \
--output response.binResponses
Examples illustrate the documented shape; optional fields and current state can differ. JSON extraction/body-limit errors may be plain text.
202 · Successful response.
application/json
| Field | Type | Description & constraints |
|---|---|---|
messageRequired | string | Resource-specific value; see the related workflow and schema. |
Illustrative response
{
"message": "example"
}Response schema
{
"$ref": "#/components/schemas/Message"
}400 · Axum extraction rejects invalid JSON/type, oversized body, or malformed UUID before the domain handler. These responses may be text/plain rather than the domain Error object.
text/plain
Binary response. Save the returned bytes to a file; do not parse as JSON.
409 · Conflict, including an existing registration email.
application/json
| Field | Type | Description & constraints |
|---|---|---|
errorRequired | object | Resource-specific value; see the related workflow and schema. |
error fields
| Field | Type | Description & constraints |
|---|---|---|
error.codeRequired | validation | unauthorized | not_found | conflict | unavailable | rate_limited | Private activation or recovery code supplied to the driver. |
error.messageRequired | string | Resource-specific value; see the related workflow and schema. |
Illustrative response
{
"error": {
"code": "conflict",
"message": "Conflict, including an existing registration email."
}
}Response schema
{
"$ref": "#/components/schemas/Error"
}413 · Axum extraction rejects invalid JSON/type, oversized body, or malformed UUID before the domain handler. These responses may be text/plain rather than the domain Error object.
text/plain
Binary response. Save the returned bytes to a file; do not parse as JSON.
415 · Axum extraction rejects invalid JSON/type, oversized body, or malformed UUID before the domain handler. These responses may be text/plain rather than the domain Error object.
text/plain
Binary response. Save the returned bytes to a file; do not parse as JSON.
422 · Domain validation failure; names are trimmed and emails normalized.
application/json
| Field | Type | Description & constraints |
|---|---|---|
errorRequired | object | Resource-specific value; see the related workflow and schema. |
error fields
| Field | Type | Description & constraints |
|---|---|---|
error.codeRequired | validation | unauthorized | not_found | conflict | unavailable | rate_limited | Private activation or recovery code supplied to the driver. |
error.messageRequired | string | Resource-specific value; see the related workflow and schema. |
Illustrative response
{
"error": {
"code": "validation",
"message": "Domain validation failure; names are trimmed and emails normalized."
}
}Response schema
{
"$ref": "#/components/schemas/Error"
}429 · Connection-address request limit reached. Retry after the stated interval.
application/json
| Field | Type | Description & constraints |
|---|---|---|
errorRequired | object | Resource-specific value; see the related workflow and schema. |
error fields
| Field | Type | Description & constraints |
|---|---|---|
error.codeRequired | validation | unauthorized | not_found | conflict | unavailable | rate_limited | Private activation or recovery code supplied to the driver. |
error.messageRequired | string | Resource-specific value; see the related workflow and schema. |
Illustrative response
{
"error": {
"code": "rate_limited",
"message": "Connection-address request limit reached. Retry after the stated interval."
}
}Response schema
{
"$ref": "#/components/schemas/Error"
}503 · Required persistence or credential operation unavailable.
application/json
| Field | Type | Description & constraints |
|---|---|---|
errorRequired | object | Resource-specific value; see the related workflow and schema. |
error fields
| Field | Type | Description & constraints |
|---|---|---|
error.codeRequired | validation | unauthorized | not_found | conflict | unavailable | rate_limited | Private activation or recovery code supplied to the driver. |
error.messageRequired | string | Resource-specific value; see the related workflow and schema. |
Illustrative response
{
"error": {
"code": "unavailable",
"message": "Required persistence or credential operation unavailable."
}
}Response schema
{
"$ref": "#/components/schemas/Error"
}