Source: https://ailoot.ai/docs/nl/cabinet/schemas-1/
Canonical: https://ailoot.ai/docs/nl/cabinet/schemas-1/
Language: nl

[Dashboard-API](https://ailoot.ai/docs/nl/) 

# Gegevensschema’s

[Markdown](https://ailoot.ai/docs/nl/cabinet/schemas-1/index.md)

Velden en typen van dashboard-API-objecten.

Velden en typen van dashboard-API-objecten. omitempty betekent dat een veld in het antwoord kan ontbreken; dat geeft geen toestemming om null te versturen. PLACEHOLDER-strings geven het type aan, niet het echte antwoord.

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#apikey)APIKey

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | nee |  |
| `user_id` | `integer` | nee |  |
| `key` | `string` | nee |  |
| `name` | `string` | nee |  |
| `status` | `string` | nee |  |
| `ip_whitelist` | `array` · `items: string` | nee |  |
| `ip_blacklist` | `array` · `items: string` | nee |  |
| `last_used_at` | `string` | nee | ; kan null zijn |
| `last_used_ip` | `string` | nee | ; kan null zijn |
| `quota` | `number` | nee | ; Bestedingslimiet van de sleutel in USD; 0 — geen limiet |
| `quota_used` | `number` | nee | ; Al besteed uit de sleutellimiet, USD |
| `expires_at` | `string` | nee | ; Geldigheidsduur; null — geen vervaldatum; kan null zijn |
| `created_at` | `string` | nee |  |
| `updated_at` | `string` | nee |  |
| `current_concurrency` | `integer` | nee |  |
| `rate_limit_5h` | `number` | nee |  |
| `rate_limit_1d` | `number` | nee |  |
| `rate_limit_7d` | `number` | nee |  |
| `usage_5h` | `number` | nee |  |
| `usage_1d` | `number` | nee |  |
| `usage_7d` | `number` | nee |  |
| `window_5h_start` | `string` | nee | ; kan null zijn |
| `window_1d_start` | `string` | nee | ; kan null zijn |
| `window_7d_start` | `string` | nee | ; kan null zijn |
| `reset_5h_at` | `string` | nee | ; kan null zijn |
| `reset_1d_at` | `string` | nee | ; kan null zijn |
| `reset_7d_at` | `string` | nee | ; kan null zijn |
| `user` | object · [User](https://ailoot.ai/docs/nl/cabinet/schemas-1/#user) | nee | ; kan null zijn |

Objectvelden

```json
{
  "id": "PLACEHOLDER_ID (integer)",
  "user_id": "PLACEHOLDER_USER_ID (integer)",
  "key": "PLACEHOLDER_KEY (string)",
  "name": "PLACEHOLDER_NAME (string)",
  "status": "PLACEHOLDER_STATUS (string)",
  "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
  "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
  "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
  "last_used_ip": "PLACEHOLDER_LAST_USED_IP (string)",
  "quota": "PLACEHOLDER_QUOTA (number)",
  "quota_used": "PLACEHOLDER_QUOTA_USED (number)",
  "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
  "created_at": "PLACEHOLDER_CREATED_AT (string)",
  "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
  "current_concurrency": "PLACEHOLDER_CURRENT_CONCURRENCY (integer)",
  "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
  "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
  "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
  "usage_5h": "PLACEHOLDER_USAGE_5H (number)",
  "usage_1d": "PLACEHOLDER_USAGE_1D (number)",
  "usage_7d": "PLACEHOLDER_USAGE_7D (number)",
  "window_5h_start": "PLACEHOLDER_WINDOW_5H_START (string)",
  "window_1d_start": "PLACEHOLDER_WINDOW_1D_START (string)",
  "window_7d_start": "PLACEHOLDER_WINDOW_7D_START (string)",
  "reset_5h_at": "PLACEHOLDER_RESET_5H_AT (string)",
  "reset_1d_at": "PLACEHOLDER_RESET_1D_AT (string)",
  "reset_7d_at": "PLACEHOLDER_RESET_7D_AT (string)",
  "user": "PLACEHOLDER_USER (object)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#apikeydailyusagepoint)APIKeyDailyUsagePoint

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `date` | `string` | nee |  |
| `requests` | `integer` | nee |  |
| `input_tokens` | `integer` | nee |  |
| `output_tokens` | `integer` | nee |  |
| `cache_read_tokens` | `integer` | nee |  |
| `cache_write_tokens` | `integer` | nee |  |
| `total_tokens` | `integer` | nee |  |
| `cost` | `number` | nee | ; Kosten tegen de standaardprijs |
| `actual_cost` | `number` | nee | ; Daadwerkelijke afschrijving |

Objectvelden

```json
{
  "date": "PLACEHOLDER_DATE (string)",
  "requests": "PLACEHOLDER_REQUESTS (integer)",
  "input_tokens": "PLACEHOLDER_INPUT_TOKENS (integer)",
  "output_tokens": "PLACEHOLDER_OUTPUT_TOKENS (integer)",
  "cache_read_tokens": "PLACEHOLDER_CACHE_READ_TOKENS (integer)",
  "cache_write_tokens": "PLACEHOLDER_CACHE_WRITE_TOKENS (integer)",
  "total_tokens": "PLACEHOLDER_TOTAL_TOKENS (integer)",
  "cost": "PLACEHOLDER_COST (number)",
  "actual_cost": "PLACEHOLDER_ACTUAL_COST (number)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#authresponse)AuthResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `access_token` | `string` | nee |  |
| `refresh_token` | `string` | nee | ; Token voor het vernieuwen van de sessie |
| `expires_in` | `integer` | nee | ; Geldigheidsduur van de toegangstoken in seconden |
| `token_type` | `string` | nee |  |
| `user` | object · [User](https://ailoot.ai/docs/nl/cabinet/schemas-1/#user) | nee | ; kan null zijn |

Objectvelden

```json
{
  "access_token": "PLACEHOLDER_ACCESS_TOKEN (string)",
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)",
  "expires_in": "PLACEHOLDER_EXPIRES_IN (integer)",
  "token_type": "PLACEHOLDER_TOKEN_TYPE (string)",
  "user": "PLACEHOLDER_USER (object)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#batchapikeysusagerequest)BatchAPIKeysUsageRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `api_key_ids` | `array` · `items: integer (int64)` | ja | required |

Objectvelden

```json
{
  "api_key_ids": "PLACEHOLDER_API_KEY_IDS (array)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#batchapikeyusagestats)BatchAPIKeyUsageStats

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `api_key_id` | `integer` | nee |  |
| `today_actual_cost` | `number` | nee |  |
| `total_actual_cost` | `number` | nee |  |

Objectvelden

```json
{
  "api_key_id": "PLACEHOLDER_API_KEY_ID (integer)",
  "today_actual_cost": "PLACEHOLDER_TODAY_ACTUAL_COST (number)",
  "total_actual_cost": "PLACEHOLDER_TOTAL_ACTUAL_COST (number)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#changepasswordrequest)ChangePasswordRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `old_password` | `string` | ja | required |
| `new_password` | `string` | ja | required,min=6 |

Objectvelden

```json
{
  "old_password": "PLACEHOLDER_OLD_PASSWORD (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#createapikeyrequest)CreateAPIKeyRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `name` | `string` | ja | required |
| `custom_key` | `string` | nee | ; Optionele eigen sleutelwaarde; kan null zijn |
| `ip_whitelist` | `array` · `items: string` | nee | ; Lijst met toegestane IP-adressen |
| `ip_blacklist` | `array` · `items: string` | nee | ; Lijst met geblokkeerde IP-adressen |
| `quota` | `number` | nee | ; Bestedingslimiet van de sleutel in USD; kan null zijn |
| `expires_in_days` | `integer` | nee | ; Geldigheidsduur in dagen; kan null zijn |
| `rate_limit_5h` | `number` | nee | ; kan null zijn |
| `rate_limit_1d` | `number` | nee | ; kan null zijn |
| `rate_limit_7d` | `number` | nee | ; kan null zijn |

Objectvelden

```json
{
  "name": "PLACEHOLDER_NAME (string)",
  "custom_key": "PLACEHOLDER_CUSTOM_KEY (string)",
  "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
  "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
  "quota": "PLACEHOLDER_QUOTA (number)",
  "expires_in_days": "PLACEHOLDER_EXPIRES_IN_DAYS (integer)",
  "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
  "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
  "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#forgotpasswordrequest)ForgotPasswordRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `turnstile_token` | `string` | nee |  |

Objectvelden

```json
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#forgotpasswordresponse)ForgotPasswordResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `message` | `string` | nee |  |

Objectvelden

```json
{
  "message": "PLACEHOLDER_MESSAGE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#login2farequest)Login2FARequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `temp_token` | `string` | ja | required |
| `totp_code` | `string` | ja | required,len=6 |

Objectvelden

```json
{
  "temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
  "totp_code": "PLACEHOLDER_TOTP_CODE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#loginrequest)LoginRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `password` | `string` | ja | required |
| `turnstile_token` | `string` | nee |  |

Objectvelden

```json
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#logoutrequest)LogoutRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `refresh_token` | `string` | nee | ; Optioneel: de opgegeven refresh token intrekken |

Objectvelden

```json
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#logoutresponse)LogoutResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `message` | `string` | nee |  |

Objectvelden

```json
{
  "message": "PLACEHOLDER_MESSAGE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#passkeybeginloginrequest)PasskeyBeginLoginRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `turnstile_token` | `string` | nee |  |

Objectvelden

```json
{
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#passkeycredentialsummary)PasskeyCredentialSummary

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | nee |  |
| `name` | `string` | nee |  |
| `created_at` | `string` | nee |  |
| `last_used_at` | `string` | nee | ; kan null zijn |
| `backup` | `boolean` | nee |  |

Objectvelden

```json
{
  "id": "PLACEHOLDER_ID (integer)",
  "name": "PLACEHOLDER_NAME (string)",
  "created_at": "PLACEHOLDER_CREATED_AT (string)",
  "last_used_at": "PLACEHOLDER_LAST_USED_AT (string)",
  "backup": "PLACEHOLDER_BACKUP (boolean)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#passkeyfinishrequest)PasskeyFinishRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `session_token` | `string` | ja | required |
| `name` | `string` | nee |  |
| `credential` | `object` · `WebAuthn PublicKeyCredential JSON` | ja | required |

Objectvelden

```json
{
  "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
  "name": "PLACEHOLDER_NAME (string)",
  "credential": "PLACEHOLDER_CREDENTIAL (object)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#passkeyoptionsresponse)PasskeyOptionsResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `session_token` | `string` | nee |  |
| `options` | `any` | nee |  |

Objectvelden

```json
{
  "session_token": "PLACEHOLDER_SESSION_TOKEN (string)",
  "options": "PLACEHOLDER_OPTIONS (any)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#redeemcode)RedeemCode

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | nee |  |
| `code` | `string` | nee |  |
| `type` | `string` | nee |  |
| `value` | `number` | nee |  |
| `status` | `string` | nee |  |
| `used_by` | `integer` | nee | ; kan null zijn |
| `used_at` | `string` | nee | ; kan null zijn |
| `created_at` | `string` | nee |  |
| `expires_at` | `string` | nee | ; kan null zijn |
| `validity_days` | `integer` | nee |  |
| `notes` | `string` | nee | ; kan null zijn |
| `user` | object · [User](https://ailoot.ai/docs/nl/cabinet/schemas-1/#user) | nee | ; kan null zijn |

Objectvelden

```json
{
  "id": "PLACEHOLDER_ID (integer)",
  "code": "PLACEHOLDER_CODE (string)",
  "type": "PLACEHOLDER_TYPE (string)",
  "value": "PLACEHOLDER_VALUE (number)",
  "status": "PLACEHOLDER_STATUS (string)",
  "used_by": "PLACEHOLDER_USED_BY (integer)",
  "used_at": "PLACEHOLDER_USED_AT (string)",
  "created_at": "PLACEHOLDER_CREATED_AT (string)",
  "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
  "validity_days": "PLACEHOLDER_VALIDITY_DAYS (integer)",
  "notes": "PLACEHOLDER_NOTES (string)",
  "user": "PLACEHOLDER_USER (object)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#redeemrequest)RedeemRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `code` | `string` | ja | required |

Objectvelden

```json
{
  "code": "PLACEHOLDER_CODE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#refreshtokenrequest)RefreshTokenRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `refresh_token` | `string` | ja | required |

Objectvelden

```json
{
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#refreshtokenresponse)RefreshTokenResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `access_token` | `string` | nee |  |
| `refresh_token` | `string` | nee |  |
| `expires_in` | `integer` | nee | ; Geldigheidsduur van de toegangstoken in seconden |
| `token_type` | `string` | nee |  |

Objectvelden

```json
{
  "access_token": "PLACEHOLDER_ACCESS_TOKEN (string)",
  "refresh_token": "PLACEHOLDER_REFRESH_TOKEN (string)",
  "expires_in": "PLACEHOLDER_EXPIRES_IN (integer)",
  "token_type": "PLACEHOLDER_TOKEN_TYPE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#registerrequest)RegisterRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `password` | `string` | ja | required,min=6 |
| `verify_code` | `string` | nee |  |
| `turnstile_token` | `string` | nee |  |
| `promo_code` | `string` | nee | ; Promotiecode voor registratie |
| `invitation_code` | `string` | nee | ; Uitnodigingscode |

Objectvelden

```json
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "password": "PLACEHOLDER_PASSWORD (string)",
  "verify_code": "PLACEHOLDER_VERIFY_CODE (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)",
  "promo_code": "PLACEHOLDER_PROMO_CODE (string)",
  "invitation_code": "PLACEHOLDER_INVITATION_CODE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#resetpasswordrequest)ResetPasswordRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `token` | `string` | ja | required |
| `new_password` | `string` | ja | required,min=6 |

Objectvelden

```json
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "token": "PLACEHOLDER_TOKEN (string)",
  "new_password": "PLACEHOLDER_NEW_PASSWORD (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#resetpasswordresponse)ResetPasswordResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `message` | `string` | nee |  |

Objectvelden

```json
{
  "message": "PLACEHOLDER_MESSAGE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#revokeallsessionsresponse)RevokeAllSessionsResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `message` | `string` | nee |  |

Objectvelden

```json
{
  "message": "PLACEHOLDER_MESSAGE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#sendverifycoderequest)SendVerifyCodeRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `turnstile_token` | `string` | nee |  |

Objectvelden

```json
{
  "email": "PLACEHOLDER_EMAIL (string)",
  "turnstile_token": "PLACEHOLDER_TURNSTILE_TOKEN (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#sendverifycoderesponse)SendVerifyCodeResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `message` | `string` | nee |  |
| `countdown` | `integer` | nee | ; Wachttijd in seconden |

Objectvelden

```json
{
  "message": "PLACEHOLDER_MESSAGE (string)",
  "countdown": "PLACEHOLDER_COUNTDOWN (integer)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#totploginresponse)TotpLoginResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `requires_2fa` | `boolean` | nee |  |
| `temp_token` | `string` | nee |  |
| `user_email_masked` | `string` | nee |  |

Objectvelden

```json
{
  "requires_2fa": "PLACEHOLDER_REQUIRES_2FA (boolean)",
  "temp_token": "PLACEHOLDER_TEMP_TOKEN (string)",
  "user_email_masked": "PLACEHOLDER_USER_EMAIL_MASKED (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#totpstatusresponse)TotpStatusResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `enabled` | `boolean` | nee |  |
| `enabled_at` | `integer` | nee | ; Unix timestamp; kan null zijn |
| `feature_enabled` | `boolean` | nee |  |

Objectvelden

```json
{
  "enabled": "PLACEHOLDER_ENABLED (boolean)",
  "enabled_at": "PLACEHOLDER_ENABLED_AT (integer)",
  "feature_enabled": "PLACEHOLDER_FEATURE_ENABLED (boolean)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#updateapikeyrequest)UpdateAPIKeyRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `name` | `string` | nee |  |
| `status` | `string` | nee | omitempty,oneof=active inactive |
| `ip_whitelist` | `array` · `items: string` | nee | ; Toegestane IP-adressen: null laat de lijst ongewijzigd, een lege array maakt deze leeg; kan null zijn |
| `ip_blacklist` | `array` · `items: string` | nee | ; Geblokkeerde IP-adressen: null laat de lijst ongewijzigd, een lege array maakt deze leeg; kan null zijn |
| `quota` | `number` | nee | ; Bestedingslimiet van de sleutel in USD; 0 — geen limiet; kan null zijn |
| `expires_at` | `string` | nee | ; Vervaldatum in ISO 8601-formaat; kan null zijn |
| `reset_quota` | `boolean` | nee | ; Het reeds bestede deel van de bestedingslimiet resetten; kan null zijn |
| `rate_limit_5h` | `number` | nee | ; kan null zijn |
| `rate_limit_1d` | `number` | nee | ; kan null zijn |
| `rate_limit_7d` | `number` | nee | ; kan null zijn |
| `reset_rate_limit_usage` | `boolean` | nee | ; De bestedingen binnen de limietvensters resetten; kan null zijn |

Objectvelden

```json
{
  "name": "PLACEHOLDER_NAME (string)",
  "status": "PLACEHOLDER_STATUS (string)",
  "ip_whitelist": "PLACEHOLDER_IP_WHITELIST (array)",
  "ip_blacklist": "PLACEHOLDER_IP_BLACKLIST (array)",
  "quota": "PLACEHOLDER_QUOTA (number)",
  "expires_at": "PLACEHOLDER_EXPIRES_AT (string)",
  "reset_quota": "PLACEHOLDER_RESET_QUOTA (boolean)",
  "rate_limit_5h": "PLACEHOLDER_RATE_LIMIT_5H (number)",
  "rate_limit_1d": "PLACEHOLDER_RATE_LIMIT_1D (number)",
  "rate_limit_7d": "PLACEHOLDER_RATE_LIMIT_7D (number)",
  "reset_rate_limit_usage": "PLACEHOLDER_RESET_RATE_LIMIT_USAGE (boolean)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#updateprofilerequest)UpdateProfileRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `username` | `string` | nee | ; kan null zijn |
| `avatar_url` | `string` | nee | ; kan null zijn |
| `balance_notify_enabled` | `boolean` | nee | ; kan null zijn |
| `balance_notify_threshold` | `number` | nee | ; kan null zijn |

Objectvelden

```json
{
  "username": "PLACEHOLDER_USERNAME (string)",
  "avatar_url": "PLACEHOLDER_AVATAR_URL (string)",
  "balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
  "balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#usagelog)UsageLog

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | nee |  |
| `user_id` | `integer` | nee |  |
| `api_key_id` | `integer` | nee |  |
| `request_id` | `string` | nee |  |
| `model` | `string` | nee |  |
| `service_tier` | `string` | nee | ; kan null zijn |
| `reasoning_effort` | `string` | nee | ; kan null zijn |
| `input_tokens` | `integer` | nee |  |
| `output_tokens` | `integer` | nee |  |
| `cache_creation_tokens` | `integer` | nee |  |
| `cache_read_tokens` | `integer` | nee |  |
| `cache_creation_5m_tokens` | `integer` | nee |  |
| `cache_creation_1h_tokens` | `integer` | nee |  |
| `input_cost` | `number` | nee |  |
| `output_cost` | `number` | nee |  |
| `cache_creation_cost` | `number` | nee |  |
| `cache_read_cost` | `number` | nee |  |
| `total_cost` | `number` | nee |  |
| `actual_cost` | `number` | nee |  |
| `long_context_billing_applied` | `boolean` | nee |  |
| `request_type` | `string` | nee |  |
| `stream` | `boolean` | nee |  |
| `duration_ms` | `integer` | nee | ; kan null zijn |
| `first_token_ms` | `integer` | nee | ; kan null zijn |
| `image_count` | `integer` | nee |  |
| `image_size` | `string` | nee | ; kan null zijn |
| `image_input_size` | `string` | nee | ; kan null zijn |
| `image_output_size` | `string` | nee | ; kan null zijn |
| `image_input_tokens` | `integer` | nee |  |
| `image_input_cost` | `number` | nee |  |
| `image_output_tokens` | `integer` | nee |  |
| `image_output_cost` | `number` | nee |  |
| `image_size_breakdown` | `object` · `additionalProperties: integer` | nee |  |
| `media_type` | `string` | nee | ; kan null zijn |
| `ip_address` | `string` | nee | ; kan null zijn |
| `session_id` | `string` | nee | ; kan null zijn |
| `created_at` | `string` | nee |  |
| `user` | object · [User](https://ailoot.ai/docs/nl/cabinet/schemas-1/#user) | nee | ; kan null zijn |
| `api_key` | object · [APIKey](https://ailoot.ai/docs/nl/cabinet/schemas-1/#apikey) | nee | ; kan null zijn |

Objectvelden

```json
{
  "id": "PLACEHOLDER_ID (integer)",
  "user_id": "PLACEHOLDER_USER_ID (integer)",
  "api_key_id": "PLACEHOLDER_API_KEY_ID (integer)",
  "request_id": "PLACEHOLDER_REQUEST_ID (string)",
  "model": "PLACEHOLDER_MODEL (string)",
  "service_tier": "PLACEHOLDER_SERVICE_TIER (string)",
  "reasoning_effort": "PLACEHOLDER_REASONING_EFFORT (string)",
  "input_tokens": "PLACEHOLDER_INPUT_TOKENS (integer)",
  "output_tokens": "PLACEHOLDER_OUTPUT_TOKENS (integer)",
  "cache_creation_tokens": "PLACEHOLDER_CACHE_CREATION_TOKENS (integer)",
  "cache_read_tokens": "PLACEHOLDER_CACHE_READ_TOKENS (integer)",
  "cache_creation_5m_tokens": "PLACEHOLDER_CACHE_CREATION_5M_TOKENS (integer)",
  "cache_creation_1h_tokens": "PLACEHOLDER_CACHE_CREATION_1H_TOKENS (integer)",
  "input_cost": "PLACEHOLDER_INPUT_COST (number)",
  "output_cost": "PLACEHOLDER_OUTPUT_COST (number)",
  "cache_creation_cost": "PLACEHOLDER_CACHE_CREATION_COST (number)",
  "cache_read_cost": "PLACEHOLDER_CACHE_READ_COST (number)",
  "total_cost": "PLACEHOLDER_TOTAL_COST (number)",
  "actual_cost": "PLACEHOLDER_ACTUAL_COST (number)",
  "long_context_billing_applied": "PLACEHOLDER_LONG_CONTEXT_BILLING_APPLIED (boolean)",
  "request_type": "PLACEHOLDER_REQUEST_TYPE (string)",
  "stream": "PLACEHOLDER_STREAM (boolean)",
  "duration_ms": "PLACEHOLDER_DURATION_MS (integer)",
  "first_token_ms": "PLACEHOLDER_FIRST_TOKEN_MS (integer)",
  "image_count": "PLACEHOLDER_IMAGE_COUNT (integer)",
  "image_size": "PLACEHOLDER_IMAGE_SIZE (string)",
  "image_input_size": "PLACEHOLDER_IMAGE_INPUT_SIZE (string)",
  "image_output_size": "PLACEHOLDER_IMAGE_OUTPUT_SIZE (string)",
  "image_input_tokens": "PLACEHOLDER_IMAGE_INPUT_TOKENS (integer)",
  "image_input_cost": "PLACEHOLDER_IMAGE_INPUT_COST (number)",
  "image_output_tokens": "PLACEHOLDER_IMAGE_OUTPUT_TOKENS (integer)",
  "image_output_cost": "PLACEHOLDER_IMAGE_OUTPUT_COST (number)",
  "image_size_breakdown": "PLACEHOLDER_IMAGE_SIZE_BREAKDOWN (object)",
  "media_type": "PLACEHOLDER_MEDIA_TYPE (string)",
  "ip_address": "PLACEHOLDER_IP_ADDRESS (string)",
  "session_id": "PLACEHOLDER_SESSION_ID (string)",
  "created_at": "PLACEHOLDER_CREATED_AT (string)",
  "user": "PLACEHOLDER_USER (object)",
  "api_key": "PLACEHOLDER_API_KEY (object)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#usagestats)UsageStats

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `total_requests` | `integer` | nee |  |
| `total_input_tokens` | `integer` | nee |  |
| `total_output_tokens` | `integer` | nee |  |
| `total_cache_tokens` | `integer` | nee |  |
| `total_cache_creation_tokens` | `integer` | nee |  |
| `total_cache_read_tokens` | `integer` | nee |  |
| `total_tokens` | `integer` | nee |  |
| `total_cost` | `number` | nee |  |
| `total_actual_cost` | `number` | nee |  |
| `average_duration_ms` | `number` | nee |  |
| `endpoints` | `array` · `items: EndpointStat` · [EndpointStat](https://ailoot.ai/docs/nl/cabinet/schemas-1/#endpointstat) | nee |  |

Objectvelden

```json
{
  "total_requests": "PLACEHOLDER_TOTAL_REQUESTS (integer)",
  "total_input_tokens": "PLACEHOLDER_TOTAL_INPUT_TOKENS (integer)",
  "total_output_tokens": "PLACEHOLDER_TOTAL_OUTPUT_TOKENS (integer)",
  "total_cache_tokens": "PLACEHOLDER_TOTAL_CACHE_TOKENS (integer)",
  "total_cache_creation_tokens": "PLACEHOLDER_TOTAL_CACHE_CREATION_TOKENS (integer)",
  "total_cache_read_tokens": "PLACEHOLDER_TOTAL_CACHE_READ_TOKENS (integer)",
  "total_tokens": "PLACEHOLDER_TOTAL_TOKENS (integer)",
  "total_cost": "PLACEHOLDER_TOTAL_COST (number)",
  "total_actual_cost": "PLACEHOLDER_TOTAL_ACTUAL_COST (number)",
  "average_duration_ms": "PLACEHOLDER_AVERAGE_DURATION_MS (number)",
  "endpoints": "PLACEHOLDER_ENDPOINTS (array)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#user)User

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | nee |  |
| `email` | `string` | nee |  |
| `username` | `string` | nee |  |
| `role` | `string` | nee |  |
| `balance` | `number` | nee |  |
| `frozen_balance` | `number` | nee |  |
| `concurrency` | `integer` | nee |  |
| `status` | `string` | nee |  |
| `last_active_at` | `string` | nee | ; kan null zijn |
| `created_at` | `string` | nee |  |
| `updated_at` | `string` | nee |  |
| `deleted_at` | `string` | nee | ; kan null zijn |
| `balance_notify_enabled` | `boolean` | nee |  |
| `balance_notify_threshold_type` | `string` | nee |  |
| `balance_notify_threshold` | `number` | nee | ; kan null zijn |
| `balance_notify_extra_emails` | `array` · `items: NotifyEmailEntry` · [NotifyEmailEntry](https://ailoot.ai/docs/nl/cabinet/schemas-1/#notifyemailentry) | nee |  |
| `total_recharged` | `number` | nee |  |
| `rpm_limit` | `integer` | nee |  |
| `api_keys` | `array` · `items: APIKey` · [APIKey](https://ailoot.ai/docs/nl/cabinet/schemas-1/#apikey) | nee |  |

Objectvelden

```json
{
  "id": "PLACEHOLDER_ID (integer)",
  "email": "PLACEHOLDER_EMAIL (string)",
  "username": "PLACEHOLDER_USERNAME (string)",
  "role": "PLACEHOLDER_ROLE (string)",
  "balance": "PLACEHOLDER_BALANCE (number)",
  "frozen_balance": "PLACEHOLDER_FROZEN_BALANCE (number)",
  "concurrency": "PLACEHOLDER_CONCURRENCY (integer)",
  "status": "PLACEHOLDER_STATUS (string)",
  "last_active_at": "PLACEHOLDER_LAST_ACTIVE_AT (string)",
  "created_at": "PLACEHOLDER_CREATED_AT (string)",
  "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
  "deleted_at": "PLACEHOLDER_DELETED_AT (string)",
  "balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
  "balance_notify_threshold_type": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD_TYPE (string)",
  "balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)",
  "balance_notify_extra_emails": "PLACEHOLDER_BALANCE_NOTIFY_EXTRA_EMAILS (array)",
  "total_recharged": "PLACEHOLDER_TOTAL_RECHARGED (number)",
  "rpm_limit": "PLACEHOLDER_RPM_LIMIT (integer)",
  "api_keys": "PLACEHOLDER_API_KEYS (array)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#userannouncement)UserAnnouncement

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | nee |  |
| `title` | `string` | nee |  |
| `content` | `string` | nee |  |
| `notify_mode` | `string` | nee |  |
| `starts_at` | `string` | nee | ; kan null zijn |
| `ends_at` | `string` | nee | ; kan null zijn |
| `read_at` | `string` | nee | ; kan null zijn |
| `created_at` | `string` | nee |  |
| `updated_at` | `string` | nee |  |

Objectvelden

```json
{
  "id": "PLACEHOLDER_ID (integer)",
  "title": "PLACEHOLDER_TITLE (string)",
  "content": "PLACEHOLDER_CONTENT (string)",
  "notify_mode": "PLACEHOLDER_NOTIFY_MODE (string)",
  "starts_at": "PLACEHOLDER_STARTS_AT (string)",
  "ends_at": "PLACEHOLDER_ENDS_AT (string)",
  "read_at": "PLACEHOLDER_READ_AT (string)",
  "created_at": "PLACEHOLDER_CREATED_AT (string)",
  "updated_at": "PLACEHOLDER_UPDATED_AT (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#userdashboardstats)UserDashboardStats

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `total_api_keys` | `integer` | nee |  |
| `active_api_keys` | `integer` | nee |  |
| `total_requests` | `integer` | nee |  |
| `total_input_tokens` | `integer` | nee |  |
| `total_output_tokens` | `integer` | nee |  |
| `total_cache_creation_tokens` | `integer` | nee |  |
| `total_cache_read_tokens` | `integer` | nee |  |
| `total_tokens` | `integer` | nee |  |
| `total_cost` | `number` | nee | ; Totale kosten tegen de standaardprijs |
| `total_actual_cost` | `number` | nee | ; Totaal daadwerkelijk afgeschreven bedrag |
| `today_requests` | `integer` | nee |  |
| `today_input_tokens` | `integer` | nee |  |
| `today_output_tokens` | `integer` | nee |  |
| `today_cache_creation_tokens` | `integer` | nee |  |
| `today_cache_read_tokens` | `integer` | nee |  |
| `today_tokens` | `integer` | nee |  |
| `today_cost` | `number` | nee | ; Kosten van vandaag tegen de standaardprijs |
| `today_actual_cost` | `number` | nee | ; Daadwerkelijk afgeschreven bedrag vandaag |
| `average_duration_ms` | `number` | nee |  |
| `rpm` | `integer` | nee | ; Gemiddeld aantal verzoeken per minuut in de afgelopen 5 minuten |
| `tpm` | `integer` | nee | ; Gemiddeld aantal tokens per minuut in de afgelopen 5 minuten |

Objectvelden

```json
{
  "total_api_keys": "PLACEHOLDER_TOTAL_API_KEYS (integer)",
  "active_api_keys": "PLACEHOLDER_ACTIVE_API_KEYS (integer)",
  "total_requests": "PLACEHOLDER_TOTAL_REQUESTS (integer)",
  "total_input_tokens": "PLACEHOLDER_TOTAL_INPUT_TOKENS (integer)",
  "total_output_tokens": "PLACEHOLDER_TOTAL_OUTPUT_TOKENS (integer)",
  "total_cache_creation_tokens": "PLACEHOLDER_TOTAL_CACHE_CREATION_TOKENS (integer)",
  "total_cache_read_tokens": "PLACEHOLDER_TOTAL_CACHE_READ_TOKENS (integer)",
  "total_tokens": "PLACEHOLDER_TOTAL_TOKENS (integer)",
  "total_cost": "PLACEHOLDER_TOTAL_COST (number)",
  "total_actual_cost": "PLACEHOLDER_TOTAL_ACTUAL_COST (number)",
  "today_requests": "PLACEHOLDER_TODAY_REQUESTS (integer)",
  "today_input_tokens": "PLACEHOLDER_TODAY_INPUT_TOKENS (integer)",
  "today_output_tokens": "PLACEHOLDER_TODAY_OUTPUT_TOKENS (integer)",
  "today_cache_creation_tokens": "PLACEHOLDER_TODAY_CACHE_CREATION_TOKENS (integer)",
  "today_cache_read_tokens": "PLACEHOLDER_TODAY_CACHE_READ_TOKENS (integer)",
  "today_tokens": "PLACEHOLDER_TODAY_TOKENS (integer)",
  "today_cost": "PLACEHOLDER_TODAY_COST (number)",
  "today_actual_cost": "PLACEHOLDER_TODAY_ACTUAL_COST (number)",
  "average_duration_ms": "PLACEHOLDER_AVERAGE_DURATION_MS (number)",
  "rpm": "PLACEHOLDER_RPM (integer)",
  "tpm": "PLACEHOLDER_TPM (integer)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#userprofileresponse)UserProfileResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `id` | `integer` | nee |  |
| `email` | `string` | nee |  |
| `username` | `string` | nee |  |
| `role` | `string` | nee |  |
| `balance` | `number` | nee |  |
| `frozen_balance` | `number` | nee |  |
| `concurrency` | `integer` | nee |  |
| `status` | `string` | nee |  |
| `last_active_at` | `string` | nee | ; kan null zijn |
| `created_at` | `string` | nee |  |
| `updated_at` | `string` | nee |  |
| `deleted_at` | `string` | nee | ; kan null zijn |
| `balance_notify_enabled` | `boolean` | nee |  |
| `balance_notify_threshold_type` | `string` | nee |  |
| `balance_notify_threshold` | `number` | nee | ; kan null zijn |
| `balance_notify_extra_emails` | `array` · `items: NotifyEmailEntry` · [NotifyEmailEntry](https://ailoot.ai/docs/nl/cabinet/schemas-1/#notifyemailentry) | nee |  |
| `total_recharged` | `number` | nee |  |
| `rpm_limit` | `integer` | nee |  |
| `api_keys` | `array` · `items: APIKey` · [APIKey](https://ailoot.ai/docs/nl/cabinet/schemas-1/#apikey) | nee |  |
| `avatar_url` | `string` | nee |  |
| `email_bound` | `boolean` | nee |  |

Objectvelden

```json
{
  "id": "PLACEHOLDER_ID (integer)",
  "email": "PLACEHOLDER_EMAIL (string)",
  "username": "PLACEHOLDER_USERNAME (string)",
  "role": "PLACEHOLDER_ROLE (string)",
  "balance": "PLACEHOLDER_BALANCE (number)",
  "frozen_balance": "PLACEHOLDER_FROZEN_BALANCE (number)",
  "concurrency": "PLACEHOLDER_CONCURRENCY (integer)",
  "status": "PLACEHOLDER_STATUS (string)",
  "last_active_at": "PLACEHOLDER_LAST_ACTIVE_AT (string)",
  "created_at": "PLACEHOLDER_CREATED_AT (string)",
  "updated_at": "PLACEHOLDER_UPDATED_AT (string)",
  "deleted_at": "PLACEHOLDER_DELETED_AT (string)",
  "balance_notify_enabled": "PLACEHOLDER_BALANCE_NOTIFY_ENABLED (boolean)",
  "balance_notify_threshold_type": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD_TYPE (string)",
  "balance_notify_threshold": "PLACEHOLDER_BALANCE_NOTIFY_THRESHOLD (number)",
  "balance_notify_extra_emails": "PLACEHOLDER_BALANCE_NOTIFY_EXTRA_EMAILS (array)",
  "total_recharged": "PLACEHOLDER_TOTAL_RECHARGED (number)",
  "rpm_limit": "PLACEHOLDER_RPM_LIMIT (integer)",
  "api_keys": "PLACEHOLDER_API_KEYS (array)",
  "avatar_url": "PLACEHOLDER_AVATAR_URL (string)",
  "email_bound": "PLACEHOLDER_EMAIL_BOUND (boolean)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#validateinvitationcoderequest)ValidateInvitationCodeRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `code` | `string` | ja | required |

Objectvelden

```json
{
  "code": "PLACEHOLDER_CODE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#validateinvitationcoderesponse)ValidateInvitationCodeResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `valid` | `boolean` | nee |  |
| `error_code` | `string` | nee |  |

Objectvelden

```json
{
  "valid": "PLACEHOLDER_VALID (boolean)",
  "error_code": "PLACEHOLDER_ERROR_CODE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#validatepromocoderequest)ValidatePromoCodeRequest

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `code` | `string` | ja | required |

Objectvelden

```json
{
  "code": "PLACEHOLDER_CODE (string)"
}
```

## [](https://ailoot.ai/docs/nl/cabinet/schemas-1/#validatepromocoderesponse)ValidatePromoCodeResponse

| Veld | Type | Verplicht | Validatie / beschrijving |
| --- | --- | --- | --- |
| `valid` | `boolean` | nee |  |
| `bonus_amount` | `number` | nee |  |
| `error_code` | `string` | nee |  |
| `message` | `string` | nee |  |

Objectvelden

```json
{
  "valid": "PLACEHOLDER_VALID (boolean)",
  "bonus_amount": "PLACEHOLDER_BONUS_AMOUNT (number)",
  "error_code": "PLACEHOLDER_ERROR_CODE (string)",
  "message": "PLACEHOLDER_MESSAGE (string)"
}
```

## NotifyEmailEntry

```json
{
  "type": "object",
  "properties": {
    "email": {
      "type": "string"
    },
    "disabled": {
      "type": "boolean"
    },
    "verified": {
      "type": "boolean"
    }
  }
}
```

## EndpointStat

```json
{
  "type": "object",
  "properties": {
    "endpoint": {
      "type": "string"
    },
    "requests": {
      "type": "integer"
    },
    "total_tokens": {
      "type": "integer"
    },
    "cost": {
      "type": "number"
    },
    "actual_cost": {
      "type": "number"
    }
  }
}
```

Nog vragen? Stuur de Request ID en een beschrijving — we helpen je verder.[Contact opnemen met support](mailto:support@ailoot.ai)

## Ailoot · Het bedrijf en zijn projectenportefeuille





Ailoot bouwt op opgebouwde operationele ervaring, een groot klantenbestand, een stabiele dienst en doorlopende KPI-controle.





Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.





Ailoot gebruikt die operationele ervaring voor API-toegang tot AI-functies in klantproducten, agents, applicaties en automatiseringen.
