Set up IdentityX
Creates the first account in the system as a super admin and enables authn. Succeeds only once — subsequent calls return 409 ("setup already complete"). Returns the freshly issued token pair (201).
/auth/setupCreates the first account in the system as a super admin and enables authn. Succeeds only once — subsequent calls return 409 ("setup already complete"). Returns the freshly issued token pair (201).
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request body for /auth/setup, /auth/register, and
/auth/login. Mirrors models.IDXRegisterRequest /
models.IDXLoginRequest.
Response Body
application/json
application/problem+json
application/problem+json
application/problem+json
curl -X POST "https://example.com/auth/setup" \ -H "Content-Type: application/json" \ -d '{ "email": "admin@trieoh.com", "password": "S3curePassw0rd!" }'{
"access_token": "string",
"refresh_token": "string",
"access_expires_at": "2019-08-24T14:15:22Z",
"refresh_expires_at": "2019-08-24T14:15:22Z",
"domain": "string"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 400,
"title": "Validation Failed"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 409,
"title": "Setup Complete"
}{
"detail": "string",
"instance": "../dictionary",
"errors": [
{
"field": "string",
"message": "string"
}
],
"type": "http://example.com",
"status": 500,
"title": "Internal Server Error"
}Check if IdentityX is set up GET
Returns 204 while setup is still pending (no first account yet) and 409 once the system has been set up — used by installers to decide whether to show the setup form. Public.
Register a user POST
Registers the credential pair, either as an IdentityX client (no `project_id`) or as a client of a project that consumes IdentityX for authn (pass `project_id`). Returns 201 with an empty body — the caller then logs in via `/auth/login`. When the target project has terms of service, the registration is rejected unless `accepted_tos` is true — consent under LGPD art. 8 must be express. Projects without terms ignore the flag. The acceptance is recorded against the current version.