Source: https://ailoot.ai/docs/fr/cabinet/usage/
Canonical: https://ailoot.ai/docs/fr/cabinet/usage/
Language: fr

[API du tableau de bord](https://ailoot.ai/docs/fr/) 

# Historique et dépenses

[Markdown](https://ailoot.ai/docs/fr/cabinet/usage/index.md)

Méthodes, champs des requêtes et réponses.

Cette rubrique comporte 11 méthodes. Ouvrez une méthode pour consulter les conditions d’accès, les champs de la requête et la réponse.

| Méthode et chemin | Description | Accès |
| --- | --- | --- |
| `GET /api/v1/usage` | Historique des requêtes | Token de l’espace personnel |
| `GET /api/v1/usage/:id` | Une requête de l’historique | Token de l’espace personnel |
| `POST /api/v1/usage/dashboard/api-keys-usage` | Statistiques de vos clés API | Token de l’espace personnel |
| `GET /api/v1/usage/dashboard/models` | Consommation par modèle | Token de l’espace personnel |
| `GET /api/v1/usage/dashboard/snapshot-v2` | Instantané commun des graphiques | Token de l’espace personnel |
| `GET /api/v1/usage/dashboard/stats` | Bilan de consommation | Token de l’espace personnel |
| `GET /api/v1/usage/dashboard/trend` | Évolution de la consommation | Token de l’espace personnel |
| `GET /api/v1/usage/errors` | Historique des erreurs | Token de l’espace personnel |
| `GET /api/v1/usage/errors/:id` | Détails d’une erreur de votre compte | Token de l’espace personnel |
| `GET /api/v1/usage/stats` | Statistiques de consommation | Token de l’espace personnel |
| `GET /api/v1/user/api-keys/:id/usage/daily` | Statistiques quotidiennes d’une clé API de votre compte | Token de l’espace personnel |

**GET /api/v1/usage** — Historique des requêtes

Accès : token de l’espace personnel

GET`/api/v1/usage`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres de requête

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `sort_by` | `string` | non | ; par défaut : created\_at |
| `sort_order` | `string` | non | ; par défaut : desc |
| `api_key_id` | `integer` | non |  |
| `request_type` | `string` | non |  |
| `stream` | `boolean` | non |  |
| `timezone` | `string` | non |  |
| `start_date` | `string` | non |  |
| `end_date` | `string` | non |  |
| `period` | `string` | non |  |
| `model` | `string` | non |  |
| `page` | `integer` | non | ; par défaut : 1 ; positive ; page\_size/limit \<=1000 |
| `page_size` | `integer` | non | ; par défaut : 20 ; positive ; page\_size/limit \<=1000 |
| `limit` | `integer` | non | ; par défaut : 20 ; positive ; page\_size/limit \<=1000 |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : `UsageLog`. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "items": [
      {
        "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)"
      }
    ],
    "total": "PLACEHOLDER_TOTAL (integer)",
    "page": "PLACEHOLDER_PAGE (integer)",
    "page_size": "PLACEHOLDER_PAGE_SIZE (integer)",
    "pages": "PLACEHOLDER_PAGES (integer)"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**GET /api/v1/usage/ :id** — Une requête de l’historique

Accès : token de l’espace personnel

GET`/api/v1/usage/:id`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage/$ID" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres du chemin

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `id` | `integer` | oui |  |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : `UsageLog`. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "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)"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**POST /api/v1/usage/dashboard/api-keys-usage** — Statistiques de vos clés API

Accès : token de l’espace personnel

POST`/api/v1/usage/dashboard/api-keys-usage`

## Champs JSON / du formulaire

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `api_key_ids` | `array` | oui | required |

Modèle du corps de la requête

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

PLACEHOLDER représente votre saisie et son type. Remplacez les valeurs et ne conservez que les champs facultatifs nécessaires ; les marqueurs textuels ne doivent pas remplacer des nombres, des boolean, des objets ou des tableaux.

Schéma de la requête : `BatchAPIKeysUsageRequest`

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : `BatchAPIKeyUsageStats`. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "api_key_id": "PLACEHOLDER_API_KEY_ID (integer)",
    "today_actual_cost": "PLACEHOLDER_TODAY_ACTUAL_COST (number)",
    "total_actual_cost": "PLACEHOLDER_TOTAL_ACTUAL_COST (number)"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

Particularités : cette méthode lit les statistiques de vos propres clés API ; l’exemple décrit le contrat et n’est pas exécuté.

Cette méthode renvoie des statistiques sans modifier les clés API ni les dépenses. Idempotency-Key n’est pas nécessaire pour une nouvelle lecture ; la réponse reflète l’état au moment de la requête.

**GET /api/v1/usage/dashboard/models** — Consommation par modèle

Accès : token de l’espace personnel

GET`/api/v1/usage/dashboard/models`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage/dashboard/models" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres de requête

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `api_key_id` | `integer` | non |  |
| `request_type` | `string` | non |  |
| `stream` | `boolean` | non |  |
| `timezone` | `string` | non |  |
| `start_date` | `string` | non |  |
| `end_date` | `string` | non |  |
| `period` | `string` | non |  |
| `model` | `string` | non |  |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "end_date": "VALUE_FROM_RESPONSE",
    "models": "VALUE_FROM_RESPONSE",
    "month": "VALUE_FROM_RESPONSE",
    "start_date": "VALUE_FROM_RESPONSE",
    "today": "VALUE_FROM_RESPONSE",
    "week": "VALUE_FROM_RESPONSE"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**GET /api/v1/usage/dashboard/snapshot-v2** — Instantané commun des graphiques

Accès : token de l’espace personnel

GET`/api/v1/usage/dashboard/snapshot-v2`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage/dashboard/snapshot-v2" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres de requête

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `granularity` | `string` | non | ; par défaut : day |
| `include_trend` | `boolean` | non | ; par défaut : true |
| `include_model_stats` | `boolean` | non | ; par défaut : true |
| `api_key_id` | `integer` | non |  |
| `request_type` | `string` | non |  |
| `stream` | `boolean` | non |  |
| `timezone` | `string` | non |  |
| `start_date` | `string` | non |  |
| `end_date` | `string` | non |  |
| `period` | `string` | non |  |
| `model` | `string` | non |  |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "end_date": "VALUE_FROM_RESPONSE",
    "generated_at": "VALUE_FROM_RESPONSE",
    "granularity": "VALUE_FROM_RESPONSE",
    "month": "VALUE_FROM_RESPONSE",
    "start_date": "VALUE_FROM_RESPONSE",
    "today": "VALUE_FROM_RESPONSE",
    "week": "VALUE_FROM_RESPONSE"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**GET /api/v1/usage/dashboard/stats** — Bilan de consommation

Accès : token de l’espace personnel

GET`/api/v1/usage/dashboard/stats`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage/dashboard/stats" \
  -H "Authorization: Bearer $TOKEN"
```

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : `UserDashboardStats`. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "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)"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**GET /api/v1/usage/dashboard/trend** — Évolution de la consommation

Accès : token de l’espace personnel

GET`/api/v1/usage/dashboard/trend`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage/dashboard/trend" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres de requête

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `granularity` | `string` | non | ; par défaut : day |
| `api_key_id` | `integer` | non |  |
| `request_type` | `string` | non |  |
| `stream` | `boolean` | non |  |
| `timezone` | `string` | non |  |
| `start_date` | `string` | non |  |
| `end_date` | `string` | non |  |
| `period` | `string` | non |  |
| `model` | `string` | non |  |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "end_date": "VALUE_FROM_RESPONSE",
    "granularity": "VALUE_FROM_RESPONSE",
    "month": "VALUE_FROM_RESPONSE",
    "start_date": "VALUE_FROM_RESPONSE",
    "today": "VALUE_FROM_RESPONSE",
    "trend": "VALUE_FROM_RESPONSE",
    "week": "VALUE_FROM_RESPONSE"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**GET /api/v1/usage/errors** — Historique des erreurs

Accès : token de l’espace personnel

GET`/api/v1/usage/errors`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage/errors" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres de requête

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `timezone` | `string` | non |  |
| `start_date` | `string` | non |  |
| `end_date` | `string` | non |  |
| `model` | `string` | non |  |
| `api_key_id` | `integer` | non |  |
| `status_code` | `integer` | non |  |
| `category` | `string` | non |  |
| `sort_by` | `string` | non |  |
| `sort_order` | `string` | non |  |
| `page` | `integer` | non | ; par défaut : 1 ; positive ; page\_size/limit \<=1000 |
| `page_size` | `integer` | non | ; par défaut : 20 ; positive ; page\_size/limit \<=1000 |
| `limit` | `integer` | non | ; par défaut : 20 ; positive ; page\_size/limit \<=1000 |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "items": [
      "PLACEHOLDER_DATA (object, description — sur la page « Schémas de données »)"
    ],
    "total": "PLACEHOLDER_TOTAL (integer)",
    "page": "PLACEHOLDER_PAGE (integer)",
    "page_size": "PLACEHOLDER_PAGE_SIZE (integer)",
    "pages": "PLACEHOLDER_PAGES (integer)"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**GET /api/v1/usage/errors/ :id** — Détails d’une erreur de votre compte

Accès : token de l’espace personnel

GET`/api/v1/usage/errors/:id`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage/errors/$ID" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres du chemin

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `id` | `integer` | oui |  |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": "PLACEHOLDER_DATA (object, description — sur la page « Schémas de données »)"
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**GET /api/v1/usage/stats** — Statistiques de consommation

Accès : token de l’espace personnel

GET`/api/v1/usage/stats`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/usage/stats" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres de requête

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `api_key_id` | `integer` | non |  |
| `request_type` | `string` | non |  |
| `stream` | `boolean` | non |  |
| `timezone` | `string` | non |  |
| `start_date` | `string` | non |  |
| `end_date` | `string` | non |  |
| `period` | `string` | non |  |
| `model` | `string` | non |  |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : `UsageStats`. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "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)"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

**GET /api/v1/user/api-keys/ :id/usage/daily** — Statistiques quotidiennes d’une clé API de votre compte

Accès : token de l’espace personnel

GET`/api/v1/user/api-keys/:id/usage/daily`

Lecture ; l’ID provient de votre réponse précédente

```bash
curl --fail-with-body "https://ailoot.ai/api/v1/user/api-keys/$ID/usage/daily" \
  -H "Authorization: Bearer $TOKEN"
```

## Paramètres du chemin

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `id` | `integer` | oui |  |

## Paramètres de requête

| Le champ | Type | Obligatoire | Validation / description |
| --- | --- | --- | --- |
| `days` | `integer` | non | ; par défaut : 30 |
| `timezone` | `string` | non |  |

Aucun corps de requête n’est nécessaire. Transmettez les paramètres ci-dessus dans l’URL.

## Réponse

La réponse JSON contient code, message et data. Le contenu de data est décrit dans les schémas ci-dessous.

Schémas des données de réponse : `APIKeyDailyUsagePoint`. Les champs et les types figurent sur les pages « Schémas de données ».

Schéma de la réponse, avec des valeurs fictives

```json
{
  "code": 0,
  "message": "success",
  "data": {
    "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)"
  }
}
```

Particularités : toutes les données personnelles et tous les objets sont limités au sujet du JWT.

## Historique et dépenses · USD

total\_cost est le coût calculé selon le tarif ; actual\_cost est le montant débité enregistré en USD.

### Exemple de calcul

```json
{
  "total_cost": 0.1,
  "actual_cost": 0.08
}
```

`period ∈ {today, week, month}`; `start_date, end_date: YYYY-MM-DD`; `timezone: IANA` · `timezone=UTC`. `end_date`: `[00:00, +1 day 00:00)`. `display: actual_cost.toFixed(8)`; `JSON: number`.

Encore des questions ? Envoyez le Request ID et une description : nous vous aiderons à comprendre.[Contacter l’assistance](mailto:support@ailoot.ai)

## Ailoot · L’entreprise et son portefeuille de projets





Ailoot s’appuie sur une expérience opérationnelle éprouvée, une large clientèle, un service stable et un suivi continu des KPI.





L’entreprise et son portefeuille de projets : des millions de clients ; des ventes qui se chiffrent en milliards chaque mois.





Ailoot met cette expérience opérationnelle au service de l’accès API aux fonctions d’IA dans les produits des clients, leurs agents, applications et automatisations.
