Skip to main content

v1 combined specification (1.0.0)

Download OpenAPI specification:Download

auth

Create a new user

Request Body schema: application/json
required
email
required
string

Trimmed, lowercased, then validated as an email address by the service.

password
required
string [ 8 .. 72 ] characters

At least 8 Unicode characters and at most 72 UTF-8 bytes. Used exactly as supplied, including whitespace. New passwords must also meet the configured strength requirement.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "12#$abCD%$"
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "email": "user@example.com",
  • "created_at": "string",
  • "roles": [
    ],
  • "permissions": [
    ]
}

Login an existing user

Unknown email, incorrect password, and inactive accounts receive the same generic 400 response.

Request Body schema: application/json
required
email
required
string

Trimmed, lowercased, then validated as an email address by the service.

password
required
string [ 8 .. 72 ] characters

At least 8 Unicode characters and at most 72 UTF-8 bytes. Used exactly as supplied, including whitespace.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "12#$abCD%$"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string",
  • "expires_in": 0
}

Rotate the session refresh token

Refresh tokens are single-use. Reusing one ends that session, including successor tokens.

Request Body schema: application/json
required
token
required
string non-empty

Nonempty refresh token. Nonempty invalid tokens return 401.

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string",
  • "expires_in": 0
}

End the session

The refresh token identifies the session. Repeated logout succeeds, including after access-token expiry.

Request Body schema: application/json
required
access_token
string
Default: ""

Optional; logout uses the refresh token to identify the session.

refresh_token
required
string non-empty

Nonempty refresh token. Nonempty invalid tokens return 401.

Responses

Request samples

Content type
application/json
{
  • "access_token": "",
  • "refresh_token": "string"
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": [
    ]
}

users

Retrieve current user information

Authorizations:
jwtapiKey

Responses

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "email": "user@example.com",
  • "created_at": "string",
  • "roles": [
    ],
  • "permissions": [
    ]
}

Update current user credentials

Requires the current password when a non-null email or password is supplied, including an unchanged email. Omitted or null email/password fields leave those credentials unchanged. A request with neither credential supplied is a successful no-op. Changing email or password ends all existing JWT sessions.

Authorizations:
jwtapiKey
Request Body schema: application/json
required
current_password
string or null

Existing password, used exactly as supplied. When changing credentials, at least 8 Unicode characters and at most 72 UTF-8 bytes. Ignored when neither email nor password is supplied with a non-null value.

email
string or null

Trimmed, lowercased, then validated as an email address by the service.

password
string or null [ 8 .. 72 ] characters

At least 8 Unicode characters and at most 72 UTF-8 bytes. Used exactly as supplied, including whitespace. New passwords must also meet the configured strength requirement.

Responses

Request samples

Content type
application/json
{
  • "current_password": "string",
  • "email": "user@example.com",
  • "password": "12#$abCD%$"
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": [
    ]
}

List users

Authorizations:
jwtapiKey
query Parameters
limit
integer [ 0 .. 100 ]
Default: 10

Number of users to return. Omit or use 0 for the default of 10. Empty values are invalid.

offset
integer [ 0 .. 2147483647 ]
Default: 0

Number of users to skip. Omit for the default of 0. Empty values are invalid.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new user

Authorizations:
jwtapiKey
Request Body schema: application/json
required
email
required
string

Trimmed, lowercased, then validated as an email address by the service.

password
required
string [ 8 .. 72 ] characters

At least 8 Unicode characters and at most 72 UTF-8 bytes. Used exactly as supplied, including whitespace. New passwords must also meet the configured strength requirement.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "12#$abCD%$"
}

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "email": "user@example.com",
  • "created_at": "string",
  • "roles": [
    ],
  • "permissions": [
    ]
}

Get user by UUID

Authorizations:
jwtapiKey
path Parameters
uuid
required
string <uuid>

Responses

Response samples

Content type
application/json
{
  • "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
  • "email": "user@example.com",
  • "created_at": "string",
  • "roles": [
    ],
  • "permissions": [
    ]
}

Update user

Authorizations:
jwtapiKey
path Parameters
uuid
required
string <uuid>
Request Body schema: application/json
required
email
string

Trimmed, lowercased, then validated as an email address by the service.

password
string [ 8 .. 72 ] characters

At least 8 Unicode characters and at most 72 UTF-8 bytes. Used exactly as supplied, including whitespace. New passwords must also meet the configured strength requirement.

Responses

Request samples

Content type
application/json
{
  • "email": "user@example.com",
  • "password": "12#$abCD%$"
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": [
    ]
}

Delete user

Authorizations:
jwtapiKey
path Parameters
uuid
required
string <uuid>

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": [
    ]
}

dummy

dummy endpoint

Responses

Response samples

Content type
application/json
{
  • "message": "This is a dummy response"
}