Download OpenAPI specification:Download
Public API specification for the Custodian backend.
| email required | string <email> |
| password | string <password> At least 8 characters, and 2 out of 4 of: lower case, upper case, symbols, numbers. Required if token is not provided. |
| token | string Single use login token received via email. Required if password is not provided. |
{- "email": "alice@example.com",
- "password": "secret",
- "token": "550e8400-e29b-41d4-a716-446655440000"
}{- "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}| email required | string <email> |
{- "email": "alice@example.com"
}{- "error": {
- "code": "BAD_REQUEST",
- "message": "Missing email"
}
}| old_password | string <password> Required if not logged in via login token. |
| new_password required | string <password> At least 8 characters, and 2 out of 4 of: lower case, upper case, symbols, numbers. |
{- "old_password": "secret",
- "new_password": "new_secret"
}{- "error": {
- "code": "BAD_REQUEST",
- "message": "Missing old_password or new_password"
}
}After updating the email, the current authentication token should be discarded.
| email required | string <email> |
{- "email": "user@example.com"
}{- "error": {
- "code": "BAD_REQUEST",
- "message": "Email is required"
}
}| first_name | string First name of the user. Cannot be empty if provided. |
| last_name | string Last name of the user. Cannot be empty if provided. |
| phone_number | string |
| country | string ISO 3166-1 alpha-2 country code |
| date_of_birth | string <date> |
| language | string Enum: "english" "dutch" "french" |
| gender | string Enum: "male" "female" "other" "prefer_not_to_say" |
{- "first_name": "Alice",
- "last_name": "Doe",
- "phone_number": "+32470123456",
- "country": "BE",
- "date_of_birth": "1990-01-01",
- "language": "english",
- "gender": "female"
}{- "error": {
- "code": "BAD_REQUEST",
- "message": "Invalid language"
}
}{- "first_name": "Alice",
- "last_name": "Doe",
- "phone_number": "+32470123456",
- "country": "BE",
- "date_of_birth": "1990-01-01",
- "language": "english",
- "gender": "female"
}| userId required | integer |
| first_name | string First name of the user. Cannot be empty if provided. |
| last_name | string Last name of the user. Cannot be empty if provided. |
| phone_number | string |
| country | string ISO 3166-1 alpha-2 country code |
| date_of_birth | string <date> |
| language | string Enum: "english" "dutch" "french" |
| gender | string Enum: "male" "female" "other" "prefer_not_to_say" |
{- "first_name": "Alice",
- "last_name": "Doe",
- "phone_number": "+32470123456",
- "country": "BE",
- "date_of_birth": "1990-01-01",
- "language": "english",
- "gender": "female"
}{- "error": {
- "code": "INVALID_USER_ID",
- "message": "Invalid user ID"
}
}| channel required | string (NotificationChannel) Enum: "app-push" "email" |
{- "enabled": true,
- "alerts": true,
- "updates": true,
- "reminders": true,
- "newsletters": false,
- "marketing": false
}| channel required | string (NotificationChannel) Enum: "app-push" "email" |
| enabled | boolean |
| alerts | boolean |
| updates | boolean |
| reminders | boolean |
| newsletters | boolean |
| marketing | boolean |
{- "enabled": true,
- "alerts": true,
- "updates": true,
- "reminders": true,
- "newsletters": false,
- "marketing": false
}{- "error": {
- "code": "INVALID_CHANNEL",
- "message": "Invalid notification channel"
}
}| userId required | integer |
[- {
- "id": 1,
- "user_id": 1,
- "created": "2023-01-01T12:00:00",
- "type": "auth/success",
- "data": {
- "ip": "127.0.0.1",
- "userAgent": "Mozilla/5.0"
}
}
]| email required | string |
| password required | string <password> At least 8 characters, and 2 out of 4 of: lower case, upper case, symbols, numbers. |
{- "email": "newuser@example.com",
- "password": "password123"
}{- "error": {
- "code": "BAD_REQUEST",
- "message": "Missing email or password"
}
}| userId required | integer |
| window_seconds required | integer |
| requests_per_window required | integer |
{- "window_seconds": 60,
- "requests_per_window": 30
}{- "error": {
- "code": "INVALID_CREDENTIALS",
- "message": "User not found"
}
}