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

[API for kontrollpanelet](https://ailoot.ai/docs/nb/) 

# Dataskjemaer

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

Felter og objekttyper for kontrollpanel-API-et.

Objektfelter og typer for kontrollpanel-API-et. omitempty betyr at feltet kan mangle i svaret; det gir ikke tillatelse til å sende null. PLACEHOLDER-strenger angir typen, ikke et faktisk svar.

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `id` | `integer` | nei |  |
| `user_id` | `integer` | nei |  |
| `key` | `string` | nei |  |
| `name` | `string` | nei |  |
| `status` | `string` | nei |  |
| `ip_whitelist` | `array` · `items: string` | nei |  |
| `ip_blacklist` | `array` · `items: string` | nei |  |
| `last_used_at` | `string` | nei | ; kan være null |
| `last_used_ip` | `string` | nei | ; kan være null |
| `quota` | `number` | nei | ; Nøkkelens forbruksgrense i USD; 0 — ingen grense |
| `quota_used` | `number` | nei | ; Brukt av nøkkelens grense, USD |
| `expires_at` | `string` | nei | ; Gyldighetstid; null — uten utløp; kan være null |
| `created_at` | `string` | nei |  |
| `updated_at` | `string` | nei |  |
| `current_concurrency` | `integer` | nei |  |
| `rate_limit_5h` | `number` | nei |  |
| `rate_limit_1d` | `number` | nei |  |
| `rate_limit_7d` | `number` | nei |  |
| `usage_5h` | `number` | nei |  |
| `usage_1d` | `number` | nei |  |
| `usage_7d` | `number` | nei |  |
| `window_5h_start` | `string` | nei | ; kan være null |
| `window_1d_start` | `string` | nei | ; kan være null |
| `window_7d_start` | `string` | nei | ; kan være null |
| `reset_5h_at` | `string` | nei | ; kan være null |
| `reset_1d_at` | `string` | nei | ; kan være null |
| `reset_7d_at` | `string` | nei | ; kan være null |
| `user` | object · [User](https://ailoot.ai/docs/nb/cabinet/schemas-1/#user) | nei | ; kan være null |

Objektfelter

```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/nb/cabinet/schemas-1/#apikeydailyusagepoint)APIKeyDailyUsagePoint

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `date` | `string` | nei |  |
| `requests` | `integer` | nei |  |
| `input_tokens` | `integer` | nei |  |
| `output_tokens` | `integer` | nei |  |
| `cache_read_tokens` | `integer` | nei |  |
| `cache_write_tokens` | `integer` | nei |  |
| `total_tokens` | `integer` | nei |  |
| `cost` | `number` | nei | ; Kostnad til standardpris |
| `actual_cost` | `number` | nei | ; Faktisk belastning |

Objektfelter

```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/nb/cabinet/schemas-1/#authresponse)AuthResponse

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `access_token` | `string` | nei |  |
| `refresh_token` | `string` | nei | ; Oppdateringstoken for økten |
| `expires_in` | `integer` | nei | ; Tilgangstokenets gyldighetstid i sekunder |
| `token_type` | `string` | nei |  |
| `user` | object · [User](https://ailoot.ai/docs/nb/cabinet/schemas-1/#user) | nei | ; kan være null |

Objektfelter

```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/nb/cabinet/schemas-1/#batchapikeysusagerequest)BatchAPIKeysUsageRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `api_key_ids` | `array` · `items: integer (int64)` | ja | required |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `api_key_id` | `integer` | nei |  |
| `today_actual_cost` | `number` | nei |  |
| `total_actual_cost` | `number` | nei |  |

Objektfelter

```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/nb/cabinet/schemas-1/#changepasswordrequest)ChangePasswordRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `old_password` | `string` | ja | required |
| `new_password` | `string` | ja | required,min=6 |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `name` | `string` | ja | required |
| `custom_key` | `string` | nei | ; Valgfri egendefinert nøkkelverdi; kan være null |
| `ip_whitelist` | `array` · `items: string` | nei | ; Liste over tillatte IP-er |
| `ip_blacklist` | `array` · `items: string` | nei | ; Liste over blokkerte IP-er |
| `quota` | `number` | nei | ; Nøkkelens forbruksgrense i USD; kan være null |
| `expires_in_days` | `integer` | nei | ; Gyldighetstid i dager; kan være null |
| `rate_limit_5h` | `number` | nei | ; kan være null |
| `rate_limit_1d` | `number` | nei | ; kan være null |
| `rate_limit_7d` | `number` | nei | ; kan være null |

Objektfelter

```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/nb/cabinet/schemas-1/#forgotpasswordrequest)ForgotPasswordRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `turnstile_token` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `message` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `temp_token` | `string` | ja | required |
| `totp_code` | `string` | ja | required,len=6 |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `password` | `string` | ja | required |
| `turnstile_token` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `refresh_token` | `string` | nei | ; Valgfritt: tilbakekall det angitte oppdateringstokenet |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `message` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `turnstile_token` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `id` | `integer` | nei |  |
| `name` | `string` | nei |  |
| `created_at` | `string` | nei |  |
| `last_used_at` | `string` | nei | ; kan være null |
| `backup` | `boolean` | nei |  |

Objektfelter

```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/nb/cabinet/schemas-1/#passkeyfinishrequest)PasskeyFinishRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `session_token` | `string` | ja | required |
| `name` | `string` | nei |  |
| `credential` | `object` · `WebAuthn PublicKeyCredential JSON` | ja | required |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `session_token` | `string` | nei |  |
| `options` | `any` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `id` | `integer` | nei |  |
| `code` | `string` | nei |  |
| `type` | `string` | nei |  |
| `value` | `number` | nei |  |
| `status` | `string` | nei |  |
| `used_by` | `integer` | nei | ; kan være null |
| `used_at` | `string` | nei | ; kan være null |
| `created_at` | `string` | nei |  |
| `expires_at` | `string` | nei | ; kan være null |
| `validity_days` | `integer` | nei |  |
| `notes` | `string` | nei | ; kan være null |
| `user` | object · [User](https://ailoot.ai/docs/nb/cabinet/schemas-1/#user) | nei | ; kan være null |

Objektfelter

```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/nb/cabinet/schemas-1/#redeemrequest)RedeemRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `code` | `string` | ja | required |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `refresh_token` | `string` | ja | required |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `access_token` | `string` | nei |  |
| `refresh_token` | `string` | nei |  |
| `expires_in` | `integer` | nei | ; Tilgangstokenets gyldighetstid i sekunder |
| `token_type` | `string` | nei |  |

Objektfelter

```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/nb/cabinet/schemas-1/#registerrequest)RegisterRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `password` | `string` | ja | required,min=6 |
| `verify_code` | `string` | nei |  |
| `turnstile_token` | `string` | nei |  |
| `promo_code` | `string` | nei | ; Kampanjekode ved registrering |
| `invitation_code` | `string` | nei | ; Invitasjonskode |

Objektfelter

```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/nb/cabinet/schemas-1/#resetpasswordrequest)ResetPasswordRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `token` | `string` | ja | required |
| `new_password` | `string` | ja | required,min=6 |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `message` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `message` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `email` | `string` | ja | required,email |
| `turnstile_token` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `message` | `string` | nei |  |
| `countdown` | `integer` | nei | ; Ventetid i sekunder |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `requires_2fa` | `boolean` | nei |  |
| `temp_token` | `string` | nei |  |
| `user_email_masked` | `string` | nei |  |

Objektfelter

```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/nb/cabinet/schemas-1/#totpstatusresponse)TotpStatusResponse

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `enabled` | `boolean` | nei |  |
| `enabled_at` | `integer` | nei | ; Unix-tidsstempel; kan være null |
| `feature_enabled` | `boolean` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `name` | `string` | nei |  |
| `status` | `string` | nei | omitempty,oneof=active inactive |
| `ip_whitelist` | `array` · `items: string` | nei | ; Tillatte IP-er: null lar listen være uendret, en tom liste tømmer den; kan være null |
| `ip_blacklist` | `array` · `items: string` | nei | ; Blokkerte IP-er: null lar listen være uendret, en tom liste tømmer den; kan være null |
| `quota` | `number` | nei | ; Nøkkelens forbruksgrense i USD; 0 — ingen grense; kan være null |
| `expires_at` | `string` | nei | ; Utløpstidspunkt i ISO 8601-format; kan være null |
| `reset_quota` | `boolean` | nei | ; Nullstill beløpet som er brukt av forbruksgrensen; kan være null |
| `rate_limit_5h` | `number` | nei | ; kan være null |
| `rate_limit_1d` | `number` | nei | ; kan være null |
| `rate_limit_7d` | `number` | nei | ; kan være null |
| `reset_rate_limit_usage` | `boolean` | nei | ; Nullstill forbruket for tidsvinduene; kan være null |

Objektfelter

```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/nb/cabinet/schemas-1/#updateprofilerequest)UpdateProfileRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `username` | `string` | nei | ; kan være null |
| `avatar_url` | `string` | nei | ; kan være null |
| `balance_notify_enabled` | `boolean` | nei | ; kan være null |
| `balance_notify_threshold` | `number` | nei | ; kan være null |

Objektfelter

```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/nb/cabinet/schemas-1/#usagelog)UsageLog

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `id` | `integer` | nei |  |
| `user_id` | `integer` | nei |  |
| `api_key_id` | `integer` | nei |  |
| `request_id` | `string` | nei |  |
| `model` | `string` | nei |  |
| `service_tier` | `string` | nei | ; kan være null |
| `reasoning_effort` | `string` | nei | ; kan være null |
| `input_tokens` | `integer` | nei |  |
| `output_tokens` | `integer` | nei |  |
| `cache_creation_tokens` | `integer` | nei |  |
| `cache_read_tokens` | `integer` | nei |  |
| `cache_creation_5m_tokens` | `integer` | nei |  |
| `cache_creation_1h_tokens` | `integer` | nei |  |
| `input_cost` | `number` | nei |  |
| `output_cost` | `number` | nei |  |
| `cache_creation_cost` | `number` | nei |  |
| `cache_read_cost` | `number` | nei |  |
| `total_cost` | `number` | nei |  |
| `actual_cost` | `number` | nei |  |
| `long_context_billing_applied` | `boolean` | nei |  |
| `request_type` | `string` | nei |  |
| `stream` | `boolean` | nei |  |
| `duration_ms` | `integer` | nei | ; kan være null |
| `first_token_ms` | `integer` | nei | ; kan være null |
| `image_count` | `integer` | nei |  |
| `image_size` | `string` | nei | ; kan være null |
| `image_input_size` | `string` | nei | ; kan være null |
| `image_output_size` | `string` | nei | ; kan være null |
| `image_input_tokens` | `integer` | nei |  |
| `image_input_cost` | `number` | nei |  |
| `image_output_tokens` | `integer` | nei |  |
| `image_output_cost` | `number` | nei |  |
| `image_size_breakdown` | `object` · `additionalProperties: integer` | nei |  |
| `media_type` | `string` | nei | ; kan være null |
| `ip_address` | `string` | nei | ; kan være null |
| `session_id` | `string` | nei | ; kan være null |
| `created_at` | `string` | nei |  |
| `user` | object · [User](https://ailoot.ai/docs/nb/cabinet/schemas-1/#user) | nei | ; kan være null |
| `api_key` | object · [APIKey](https://ailoot.ai/docs/nb/cabinet/schemas-1/#apikey) | nei | ; kan være null |

Objektfelter

```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/nb/cabinet/schemas-1/#usagestats)UsageStats

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `total_requests` | `integer` | nei |  |
| `total_input_tokens` | `integer` | nei |  |
| `total_output_tokens` | `integer` | nei |  |
| `total_cache_tokens` | `integer` | nei |  |
| `total_cache_creation_tokens` | `integer` | nei |  |
| `total_cache_read_tokens` | `integer` | nei |  |
| `total_tokens` | `integer` | nei |  |
| `total_cost` | `number` | nei |  |
| `total_actual_cost` | `number` | nei |  |
| `average_duration_ms` | `number` | nei |  |
| `endpoints` | `array` · `items: EndpointStat` · [EndpointStat](https://ailoot.ai/docs/nb/cabinet/schemas-1/#endpointstat) | nei |  |

Objektfelter

```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/nb/cabinet/schemas-1/#user)User

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `id` | `integer` | nei |  |
| `email` | `string` | nei |  |
| `username` | `string` | nei |  |
| `role` | `string` | nei |  |
| `balance` | `number` | nei |  |
| `frozen_balance` | `number` | nei |  |
| `concurrency` | `integer` | nei |  |
| `status` | `string` | nei |  |
| `last_active_at` | `string` | nei | ; kan være null |
| `created_at` | `string` | nei |  |
| `updated_at` | `string` | nei |  |
| `deleted_at` | `string` | nei | ; kan være null |
| `balance_notify_enabled` | `boolean` | nei |  |
| `balance_notify_threshold_type` | `string` | nei |  |
| `balance_notify_threshold` | `number` | nei | ; kan være null |
| `balance_notify_extra_emails` | `array` · `items: NotifyEmailEntry` · [NotifyEmailEntry](https://ailoot.ai/docs/nb/cabinet/schemas-1/#notifyemailentry) | nei |  |
| `total_recharged` | `number` | nei |  |
| `rpm_limit` | `integer` | nei |  |
| `api_keys` | `array` · `items: APIKey` · [APIKey](https://ailoot.ai/docs/nb/cabinet/schemas-1/#apikey) | nei |  |

Objektfelter

```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/nb/cabinet/schemas-1/#userannouncement)UserAnnouncement

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `id` | `integer` | nei |  |
| `title` | `string` | nei |  |
| `content` | `string` | nei |  |
| `notify_mode` | `string` | nei |  |
| `starts_at` | `string` | nei | ; kan være null |
| `ends_at` | `string` | nei | ; kan være null |
| `read_at` | `string` | nei | ; kan være null |
| `created_at` | `string` | nei |  |
| `updated_at` | `string` | nei |  |

Objektfelter

```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/nb/cabinet/schemas-1/#userdashboardstats)UserDashboardStats

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `total_api_keys` | `integer` | nei |  |
| `active_api_keys` | `integer` | nei |  |
| `total_requests` | `integer` | nei |  |
| `total_input_tokens` | `integer` | nei |  |
| `total_output_tokens` | `integer` | nei |  |
| `total_cache_creation_tokens` | `integer` | nei |  |
| `total_cache_read_tokens` | `integer` | nei |  |
| `total_tokens` | `integer` | nei |  |
| `total_cost` | `number` | nei | ; Samlet kostnad til standardpris |
| `total_actual_cost` | `number` | nei | ; Samlet faktisk belastning |
| `today_requests` | `integer` | nei |  |
| `today_input_tokens` | `integer` | nei |  |
| `today_output_tokens` | `integer` | nei |  |
| `today_cache_creation_tokens` | `integer` | nei |  |
| `today_cache_read_tokens` | `integer` | nei |  |
| `today_tokens` | `integer` | nei |  |
| `today_cost` | `number` | nei | ; Dagens kostnad til standardpris |
| `today_actual_cost` | `number` | nei | ; Faktisk belastning i dag |
| `average_duration_ms` | `number` | nei |  |
| `rpm` | `integer` | nei | ; Gjennomsnittlig antall forespørsler per minutt de siste 5 minuttene |
| `tpm` | `integer` | nei | ; Gjennomsnittlig antall tokener per minutt de siste 5 minuttene |

Objektfelter

```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/nb/cabinet/schemas-1/#userprofileresponse)UserProfileResponse

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `id` | `integer` | nei |  |
| `email` | `string` | nei |  |
| `username` | `string` | nei |  |
| `role` | `string` | nei |  |
| `balance` | `number` | nei |  |
| `frozen_balance` | `number` | nei |  |
| `concurrency` | `integer` | nei |  |
| `status` | `string` | nei |  |
| `last_active_at` | `string` | nei | ; kan være null |
| `created_at` | `string` | nei |  |
| `updated_at` | `string` | nei |  |
| `deleted_at` | `string` | nei | ; kan være null |
| `balance_notify_enabled` | `boolean` | nei |  |
| `balance_notify_threshold_type` | `string` | nei |  |
| `balance_notify_threshold` | `number` | nei | ; kan være null |
| `balance_notify_extra_emails` | `array` · `items: NotifyEmailEntry` · [NotifyEmailEntry](https://ailoot.ai/docs/nb/cabinet/schemas-1/#notifyemailentry) | nei |  |
| `total_recharged` | `number` | nei |  |
| `rpm_limit` | `integer` | nei |  |
| `api_keys` | `array` · `items: APIKey` · [APIKey](https://ailoot.ai/docs/nb/cabinet/schemas-1/#apikey) | nei |  |
| `avatar_url` | `string` | nei |  |
| `email_bound` | `boolean` | nei |  |

Objektfelter

```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/nb/cabinet/schemas-1/#validateinvitationcoderequest)ValidateInvitationCodeRequest

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `code` | `string` | ja | required |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `valid` | `boolean` | nei |  |
| `error_code` | `string` | nei |  |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `code` | `string` | ja | required |

Objektfelter

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

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

| Feltet | Type | Påkrevd | Validering / beskrivelse |
| --- | --- | --- | --- |
| `valid` | `boolean` | nei |  |
| `bonus_amount` | `number` | nei |  |
| `error_code` | `string` | nei |  |
| `message` | `string` | nei |  |

Objektfelter

```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"
    }
  }
}
```

Flere spørsmål? Send Request ID og en beskrivelse, så hjelper vi deg.[Kontakt brukerstøtte](mailto:support@ailoot.ai)

## Ailoot · Selskapet og dets prosjektportefølje





Ailoot bygger på etablert driftserfaring, en stor kundebase, stabil tjeneste og løpende KPI-kontroll.





Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.





Ailoot bruker denne driftserfaringen til API-tilgang til AI-funksjoner i kundenes produkter, agenter, applikasjoner og automatiseringer.
