---
title: Démarrage rapide
description: Effectuez votre premier achat avec une clé de test, puis passez en mode réel.
mode: wide
sidebar:
  order: 1
---
## 1. Obtenir l’accès [#1-get-access]

Demandez l’accès à l’API sur la [page Développeurs](https://trimcarbon.com/developers/access). Avant que nous approuvions une demande, le compte doit avoir activé l’authentification à deux facteurs ou une clé d’accès. Nous vous envoyons un e-mail dès que le compte est actif.

## 2. Créer une clé de test [#2-create-a-test-key]

Sur la page Développeurs, créez une clé en mode **Test** avec l’accès **Lecture et achat**. Copiez-la : nous ne l’affichons qu’une seule fois.

Les clés de test dépensent un solde simulé de 1 000 $. Rien n’est facturé et aucun crédit n’est retiré : vous pouvez donc développer votre intégration en toute sécurité.

## 3. Obtenir un devis [#3-get-a-quote]

Un devis vous indique ce qu’un achat vous permettrait d’obtenir et combien il coûterait, sans rien acheter :

```bash
curl https://trimcarbon.com/api/v1/quotes \
  -H "Authorization: Bearer $TRIMCARBON_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kg": 100}'
```

## 4. Acheter des compensations [#4-buy-offsets]

Envoyez un en-tête `Idempotency-Key` unique avec chaque achat. Si la requête expire, renvoyez-la avec la même clé : vous récupérez le premier achat au lieu d’acheter deux fois.

```bash
curl https://trimcarbon.com/api/v1/offsets \
  -H "Authorization: Bearer $TRIMCARBON_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{"kg": 100, "reference": "fleet-2026-09"}'
```

`POST /offsets`

**Request body** (`application/json`, required)

Exactly one of \`kg\` (whole kg, up to 1,000,000) and \`amount\_cents\`, and an optional \`reference\`.

Request body example, By volume:

```json
{
  "kg": 1000,
  "reference": "fleet-2026-09"
}
```

Request body example, By price:

```json
{
  "amount_cents": 5000
}
```

**Responses**

- `201` — The purchase (or, on a retry, the first one).
- `400` — Bad JSON, or a missing or invalid Idempotency-Key.
- `401` — Missing, unknown or revoked API key.
- `402` — \`insufficient\_balance\`: the balance doesn’t cover the purchase. The error has \`balance\_cents\` and \`required\_cents\`.
- `403` — \`api\_access\_inactive\` (the account is suspended or not approved) or \`insufficient\_permissions\` (a read-only key).
- `409` — \`idempotency\_key\_reused\`: the key was used for a different request.
- `422` — \`validation\_error\` (with \`param\`) or \`amount\_too\_small\`.
- `429` — \`rate\_limited\`: wait for the \`Retry-After\` seconds.

Response example, 201:

```json
{
  "object": "offset",
  "id": "off_8Hq2kP0aZr4mXc1vB7nT3yLw",
  "livemode": true,
  "status": "processing",
  "kg": 0,
  "amount_cents": 0,
  "currency": "usd",
  "rate_millicents_per_kg": 4000,
  "requested": {
    "kg": 0,
    "amount_cents": 0
  },
  "reference": "string",
  "certificate_url": "http://example.com",
  "created": "2026-10-08T14:03:12.000Z",
  "placed": "2026-10-08T14:03:12.000Z"
}
```

## 5. Suivre la commande [#5-follow-the-order]

La compensation commence à l’état `processing`. Interrogez-la régulièrement jusqu’à ce qu’elle passe à l’état `placed` :

```bash
curl https://trimcarbon.com/api/v1/offsets/off_8Hq2kP0aZr4mXc1vB7nT3yLw \
  -H "Authorization: Bearer $TRIMCARBON_KEY"
```

Une compensation de test est passée au bout de quelques secondes. Une compensation réelle prend généralement quelques minutes ; ensuite, `certificate_url` renvoie vers son certificat public.

## 6. Passer en mode réel [#6-go-live]

1. Approvisionnez votre solde sur la page Développeurs.
2. Créez une clé en mode **Réel** et stockez-la comme secret sur votre serveur.
3. Remplacez la clé de test par la clé réelle. Rien d’autre ne change.

:::warning
Les achats réels retirent de vrais crédits carbone. Le solde est prépayé et non remboursable ; consultez [Solde et achats](/docs/fr/balance).
:::
