# Ajouter un produit

`POST https://api.payiz.app/v1/products`

Demande une clé secrète qui porte le geste « Catalogue · gérer ».

Un produit de votre catalogue : ce que vous vendez, et comment il se paie.

Son type ne changera plus : ses prix et ses ventes en dépendent. Ajoutez-lui ensuite ses prix.

## Les en-têtes

| Champ | Type | Requis | Ce que c'est |
| --- | --- | --- | --- |
| `Idempotency-Key` | texte | — | Conseillée : rejouée, la même clé rend la première réponse au lieu de refaire le geste. |

## Ce qu'on envoie

Un corps JSON.

| Champ | Type | Requis | Ce que c'est |
| --- | --- | --- | --- |
| `name` | texte | oui | Le nom du produit. |
| `description` | texte | — | Ce que vous en dites. |
| `type` | « one_time » · « open » · « subscription » · « usage » | oui | Comment il se paie. Il ne changera plus : ses prix et ses ventes en dépendent. |
| `active` | vrai ou faux | — | En vente d’office. Faux : créé hors de la vente. |

## Ce qu'on reçoit

`201` · un objet `product`

| Champ | Type | Requis | Ce que c'est |
| --- | --- | --- | --- |
| `object` | « product » | — | Le genre de l’objet rendu : il ne change jamais. |
| `id` | texte | — | Un identifiant préfixé « prd_ », par exemple prd_01j9xm2hp7t4wzq6vc3k. |
| `name` | texte | — | Le nom du produit, tel que le client le lit. |
| `description` | texte ou null | — | Ce que vous en dites. |
| `type` | « one_time » · « open » · « subscription » · « usage » | — | Comment il se paie : « one_time » une fois, « open » au prix que le payeur choisit, « subscription » par période, « usage » selon ce qui est consommé. Il ne change plus : ses prix et ses ventes en dépendent. |
| `active` | vrai ou faux | — | En vente, ou retiré de la vente. |
| `archived_at` | entier ou null | — | Quand il a été archivé ; null tant qu’il ne l’est pas. |
| `prices` | liste de objet | — | Ses prix, du plus ancien au plus récent. Un produit « open » n’en a aucun. |
| `created` | entier ou null | — | Des secondes depuis 1970, ou null. |
| `livemode` | vrai ou faux | — | Faux en mode test : aucun argent ne circule. |

## La demande

```bash
curl https://api.payiz.app/v1/products \
  -H "Authorization: Bearer sk_test_…" \
  -H "Idempotency-Key: catalogue-creer-01" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pagne wax 6 yards",
    "description": "Coton imprimé, bleu indigo.",
    "type": "one_time"
  }'
```

## La réponse

```json
{
  "object": "product",
  "id": "prd_01j9xm2hp7t4wzq6vc3k",
  "name": "Pagne wax 6 yards",
  "description": "Coton imprimé, bleu indigo.",
  "type": "one_time",
  "active": true,
  "archived_at": null,
  "prices": [
    {
      "object": "price",
      "id": "prx_01j9xm3kq8v2tzr5wd7n",
      "product": "prd_01j9xm2hp7t4wzq6vc3k",
      "label": "À l’unité",
      "amount": 10000,
      "currency": "XOF",
      "period": "one_time",
      "unit": null,
      "note": null,
      "active": true,
      "archived_at": null,
      "created": 1789740092,
      "livemode": false
    }
  ],
  "created": 1789740092,
  "livemode": false
}
```
