Skip to content
Coritan Docs

Client API: Authentication

Register, login, refresh tokens, and manage your profile.

View as Markdown

Register, login, refresh tokens, and manage your profile. Bearer auth uses the access JWT from login.

Base URL: https://api.coritan.com/api/v1. Paths below are complete.

To try these requests in the browser, open the interactive Client API reference.

Method Path Summary
POST /api/v1/auth/forgot-password Issue a reset link by email
POST /api/v1/auth/login Login
GET /api/v1/auth/mailbox-availability Live check behind the sign-up form's username field
GET /api/v1/auth/mailbox-domain Mailbox domain
GET /api/v1/auth/me Get me
PUT /api/v1/auth/me Update me
GET /api/v1/auth/me/api-keys List keys
POST /api/v1/auth/me/api-keys Create key
DELETE /api/v1/auth/me/api-keys/{key_id} Revoke key
POST /api/v1/auth/me/password Change password
GET /api/v1/auth/me/staff-link Get staff link
POST /api/v1/auth/me/staff-link Redeem staff link
DELETE /api/v1/auth/me/staff-link Remove staff link
POST /api/v1/auth/refresh Refresh
POST /api/v1/auth/register Register
POST /api/v1/auth/reset-password Reset password
GET /api/v1/auth/turnstile Turnstile config

POST /api/v1/auth/forgot-password

Issue a reset link by email. The answer is the same whether or not the address has an account, so the form cannot be used to probe for one.

application/json (required)

Field Type Required
email string (email) yes
turnstile_token string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

POST /api/v1/auth/login

application/json (required)

Field Type Required
email string (email) yes
password string yes
turnstile_token string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Live check behind the sign-up form's username field

Section titled Live check behind the sign-up form's username field

GET /api/v1/auth/mailbox-availability

Live check behind the sign-up form's username field.

Name In Type Required
local_part query string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

GET /api/v1/auth/mailbox-domain

Whether this storefront offers a mailbox on its own mail domain at sign-up, and which domain. Public: the form reads it before anyone has an account.

Status Meaning
200 Success.

GET /api/v1/auth/me

Authentication: an access token, sent as Authorization: Bearer <token>.

Status Meaning
200 Success.

Fields of a 200 response:

Field Type
id integer
email string
first_name string or null
last_name string or null
company string or null
status string
billing_mode string
credit_balance number
currency string
country_code string or null
currency_source string
created_at string (date-time)

PUT /api/v1/auth/me

Authentication: an access token, sent as Authorization: Bearer <token>.

application/json (required)

Field Type Required
first_name string or null no
last_name string or null no
company string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Fields of a 200 response:

Field Type
id integer
email string
first_name string or null
last_name string or null
company string or null
status string
billing_mode string
credit_balance number
currency string
country_code string or null
currency_source string
created_at string (date-time)

GET /api/v1/auth/me/api-keys

Authentication: an access token, sent as Authorization: Bearer <token>.

Name In Type Required Description
limit query integer no Default: 200.
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

A 200 response is a list; each item has these fields:

Field Type
[].id integer
[].label string
[].permissions array of string or null
[].ip_whitelist array of string or null
[].is_active boolean
[].last_used_at string (date-time) or null
[].created_at string (date-time)

POST /api/v1/auth/me/api-keys

Authentication: an access token, sent as Authorization: Bearer <token>.

application/json (required)

Field Type Required
label string yes
permissions array of string or null no
ip_whitelist array of string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Fields of a 200 response:

Field Type
id integer
label string
permissions array of string or null
ip_whitelist array of string or null
is_active boolean
last_used_at string (date-time) or null
created_at string (date-time)
raw_key string

DELETE /api/v1/auth/me/api-keys/{key_id}

Authentication: an access token, sent as Authorization: Bearer <token>.

Name In Type Required
key_id path integer yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

POST /api/v1/auth/me/password

Authentication: an access token, sent as Authorization: Bearer <token>.

application/json (required)

Field Type Required
current_password string yes
new_password string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

GET /api/v1/auth/me/staff-link

Authentication: an access token, sent as Authorization: Bearer <token>.

Status Meaning
200 Success.

POST /api/v1/auth/me/staff-link

Authentication: an access token, sent as Authorization: Bearer <token>.

application/json (required)

Field Type Required
code string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

DELETE /api/v1/auth/me/staff-link

Authentication: an access token, sent as Authorization: Bearer <token>.

Status Meaning
200 Success.

POST /api/v1/auth/refresh

application/json (required)

Field Type Required
refresh_token string yes
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Fields of a 200 response:

Field Type
access_token string
refresh_token string
token_type string
expires_in integer

POST /api/v1/auth/register

application/json (required)

Field Type Required
email string (email) or null no
mailbox_local_part string or null no
recovery_email string (email) or null no
password string yes
first_name string or null no
last_name string or null no
company string or null no
turnstile_token string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

Fields of a 200 response:

Field Type
access_token string
refresh_token string
token_type string
expires_in integer

POST /api/v1/auth/reset-password

application/json (required)

Field Type Required
token string yes
new_password string yes
turnstile_token string or null no
Status Meaning
200 Success.
422 The request is not valid. detail lists each problem.

GET /api/v1/auth/turnstile

Public: whether the platform's auth and order forms must render the Turnstile widget, and with which site key (no auth).

Status Meaning
200 Success.