# Référence de l'API Compte — Plan, Crédits et Utilisation

> Consultez votre plan effectif, votre rôle et vos crédits disponibles, les limites de limitation que votre SDK doit respecter, ainsi que votre historique de consommation de points pour l'API ImageToTable.ai v1.

Deux points d'accès en lecture seule pour le compte propriétaire de la clé API : un instantané du plan et des crédits disponibles (avec les deux nombres dont un SDK a besoin pour se limiter), ainsi qu'un registre paginé de la consommation de crédits pour un rapprochement en libre-service.

## Obtenir le compte

Renvoie le plan et les crédits **effectifs** de votre compte — si votre compte est membre d'une équipe, cela reflète déjà le plan/le pool de crédits du propriétaire de l'équipe, et non votre propre plan d'adhésion individuel.

`GET /api/v1/account`

### Paramètres

Aucun — le compte est entièrement déterminé par la clé API dans l'en-tête `Authorization`.

`max_batch_size` et `upload_concurrency` sont fournis pour qu'un SDK client puisse auto-limiter sa propre boucle de téléchargement au lieu de découvrir ces limites en rencontrant d'abord des erreurs `invalid_parameter`/`rate_limit_exceeded`.

### Erreurs possibles

- `missing_api_key` / `invalid_api_key` / `plan_required` — voir [Gestion des erreurs](/developers/guides/errors).

## Obtenir l'utilisation du compte

Registre paginé, du plus récent au plus ancien, de chaque événement affectant vos crédits — déductions d'extraction, déductions d'annotation par boîte englobante et remboursements. Conçu pour répondre à « combien de crédits cela m'a-t-il coûté », pas pour alimenter une interface utilisateur (comparez avec les chaînes d'affichage préformatées de `/profile/usage_history`, que ce point de terminaison ne renvoie pas — vous obtenez des valeurs `amount` structurées et signées à la place).

`GET /api/v1/account/usage`

### Paramètres

| Nom | Emplacement | Type | Description |
| --- | --- | --- | --- |
| limit | requête, facultatif | entier | 1–200. Par défaut 50. |
| batch_name | requête, facultatif | chaîne | Limiter le registre aux entrées d'un seul lot — « combien de crédits le lot X m'a-t-il coûté. » |
| page_token | requête, facultatif | chaîne | Curseur opaque provenant du next_page_token d'une réponse précédente. Ce point de terminaison pagine du plus récent au plus ancien (contrairement aux autres points de terminaison de liste v1, qui paginent du plus ancien au plus récent) — le jeton reste opaque et effectue le même aller-retour, seul l'ordre sous-jacent diffère. Voir Pagination . |

`amount` est signé : négatif pour les dépenses (déductions d'extraction/bbox), positif pour les crédits retournés (remboursements/remboursements d'annulation) — ainsi, additionner les valeurs `amount` d'une page vous donne le changement net pour cette page. `document_id` utilise le même espace d'ID que le `document_id` de [Documents](/developers/reference/documents) (le registre interne l'appelle `task_id` ; ce point de terminaison le renomme pour la cohérence avec le reste de v1).

### Erreurs possibles

- `missing_api_key` / `invalid_api_key` / `plan_required` — voir [Gestion des erreurs](/developers/guides/errors).
- `invalid_parameter` — `limit` ou `page_token` invalide.

## Code Examples

### Obtenir le compte

GET /api/v1/account

**cURL**

```bash
curl https://imagetotable.ai/api/v1/account \
  -H "Authorization: Bearer $API_KEY"
```

**Python**

```python
import os
import requests

response = requests.get(
    "https://imagetotable.ai/api/v1/account",
    headers={"Authorization": f"Bearer {os.environ['API_KEY']}"},
)
print(response.json())
```

**Javascript**

```javascript
const response = await fetch("https://imagetotable.ai/api/v1/account", {
  headers: { "Authorization": `Bearer ${process.env.API_KEY}` },
});
console.log(await response.json());
```

### Réponse

```json
{
  "plan": "Pro",
  "role": "User",
  "available_credits": 842,
  "max_batch_size": 200,
  "upload_concurrency": 4
}
```

### Obtenir l'utilisation du compte

GET /api/v1/account/usage

**cURL**

```bash
curl "https://imagetotable.ai/api/v1/account/usage?batch_name=july-invoices&limit=50" \
  -H "Authorization: Bearer $API_KEY"
```

**Python**

```python
import os
import requests

response = requests.get(
    "https://imagetotable.ai/api/v1/account/usage",
    headers={"Authorization": f"Bearer {os.environ['API_KEY']}"},
    params={"batch_name": "july-invoices", "limit": 50},
)
print(response.json())
```

**Javascript**

```javascript
const url = new URL("https://imagetotable.ai/api/v1/account/usage");
url.searchParams.set("batch_name", "july-invoices");
url.searchParams.set("limit", "50");

const response = await fetch(url, {
  headers: { "Authorization": `Bearer ${process.env.API_KEY}` },
});
console.log(await response.json());
```

### Réponse

```json
{
  "data": [
    {
      "id": 88213,
      "action": "deduction",
      "batch_name": "july-invoices",
      "document_id": "8f14e45f-ceea-467e-9de1-a3e9c93a9c95",
      "point_type": "personal",
      "amount": -1,
      "consumer_id": 501,
      "created_at": "2026-07-16T09:12:05+00:00"
    },
    {
      "id": 88190,
      "action": "refund",
      "batch_name": "june-receipts",
      "document_id": "1b2c3d4e-5f60-7182-93a4-b5c6d7e8f901",
      "point_type": "personal",
      "amount": 1,
      "consumer_id": 501,
      "created_at": "2026-07-15T14:02:11+00:00"
    }
  ],
  "has_more": true,
  "next_page_token": "eyJpZCI6ODgxOTB9"
}
```

---

Source: https://imagetotable.ai/fr/developers/reference/account
