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

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

# Historique et dépenses

[Markdown](https://ailoot.ai/docs/fr-ca/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 | Jeton du tableau de bord |
| `GET /api/v1/usage/:id` | Une requête de l’historique | Jeton du tableau de bord |
| `POST /api/v1/usage/dashboard/api-keys-usage` | Statistiques de vos clés API | Jeton du tableau de bord |
| `GET /api/v1/usage/dashboard/models` | Consommation par modèle | Jeton du tableau de bord |
| `GET /api/v1/usage/dashboard/snapshot-v2` | Instantané commun des graphiques | Jeton du tableau de bord |
| `GET /api/v1/usage/dashboard/stats` | Bilan de consommation | Jeton du tableau de bord |
| `GET /api/v1/usage/dashboard/trend` | Évolution de la consommation | Jeton du tableau de bord |
| `GET /api/v1/usage/errors` | Historique des erreurs | Jeton du tableau de bord |
| `GET /api/v1/usage/errors/:id` | Détails d’une erreur de votre compte | Jeton du tableau de bord |
| `GET /api/v1/usage/stats` | Statistiques de consommation | Jeton du tableau de bord |
| `GET /api/v1/user/api-keys/:id/usage/daily` | Statistiques quotidiennes d’une clé API de votre compte | Jeton du tableau de bord |

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

Accès : jeton du tableau de bord

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 : jeton du tableau de bord

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 : jeton du tableau de bord

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 booléens, 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 : jeton du tableau de bord

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 : jeton du tableau de bord

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 : jeton du tableau de bord

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 : jeton du tableau de bord

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 : jeton du tableau de bord

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 : jeton du tableau de bord

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 : jeton du tableau de bord

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 : jeton du tableau de bord

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`.

Vous avez d’autres questions? Envoyez le Request ID et une description : nous vous aiderons à comprendre.[Contacter le soutien](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.
