> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Mettre à jour la disponibilité des articles

> Utilisez l'API POS availability pour mettre à jour les stocks par code PLU, marquer des articles en rupture et synchroniser l'inventaire en temps réel.

Mettez à jour le statut de disponibilité et le nombre d'unités en stock pour les articles de menu d'un magasin. Les articles sont identifiés par leur code PLU (Price Look-Up).

## Requête

```bash theme={null}
curl -X POST https://api.storekit.com/pos/availability \
  -H "x-api-key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "storeId": "550e8400-e29b-41d4-a716-446655440000",
    "items": [
      {
        "plu": "BURGER-001",
        "isAvailable": true,
        "inventory": 50
      },
      {
        "plu": "FRIES-001",
        "isAvailable": false
      }
    ]
  }'
```

## Corps de la requête

**storeId** `string` *required*

L'identifiant externe du magasin (format UUID). Il s'agit de l'ID que vous avez attribué au magasin lors de la mise en place de votre intégration.

**items** `array` *required*

Un tableau d'articles à mettre à jour. Doit contenir au moins un article.

**Propriétés de l'article**

**plu** `string` *required*

Le code PLU de l'article de menu. Doit correspondre au PLU configuré dans le tableau de bord storekit.

**isAvailable** `boolean` *required*

Indique si l'article est actuellement disponible à la commande.

**inventory** `integer`

Le nombre d'unités actuellement en stock. Doit être supérieur ou égal à 0. Lorsque l'inventaire atteint 0, envisagez de définir `isAvailable` sur `false`.

## Réponse

```json Success (200) theme={null}
"ok"
```

```json Store Not Found (404) theme={null}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "Not Found"
}
```

```json No Active Menu (404) theme={null}
{
  "statusCode": 404,
  "error": "Not Found",
  "message": "No active menu found for this venue"
}
```

```json Invalid Payload (400) theme={null}
{
  "statusCode": 400,
  "error": "Bad Request",
  "message": "\"storeId\" must be a valid GUID"
}
```

## Comportement

* Les articles sont identifiés par PLU dans le menu actif du magasin
* Si le PLU d'un article est introuvable, il est ignoré silencieusement (aucune erreur renvoyée)
* Les changements de disponibilité prennent effet immédiatement
* Le cache du menu est automatiquement invalidé après les mises à jour

## Exemple : marquer des articles comme épuisés

```bash theme={null}
curl -X POST https://api.storekit.com/pos/availability \
  -H "x-api-key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "storeId": "550e8400-e29b-41d4-a716-446655440000",
    "items": [
      {
        "plu": "SPECIAL-001",
        "isAvailable": false,
        "inventory": 0
      }
    ]
  }'
```

## Exemple : réapprovisionner des articles

```bash theme={null}
curl -X POST https://api.storekit.com/pos/availability \
  -H "x-api-key: your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "storeId": "550e8400-e29b-41d4-a716-446655440000",
    "items": [
      {
        "plu": "SPECIAL-001",
        "isAvailable": true,
        "inventory": 25
      },
      {
        "plu": "DESSERT-001",
        "isAvailable": true,
        "inventory": 10
      }
    ]
  }'
```


## Related topics

- [Introduction pour les développeurs](/docs/fr/developers/introduction.md)
- [Disponibilité et mise en pause](/docs/fr/guides/menu/availability-snoozing.md)
- [Stock et disponibilité Stream](/docs/fr/guides/integrations/pos/stream/stock-and-availability.md)
- [Journal des ruptures et digest matinal](/docs/fr/guides/build/recipes/out-of-stock-log.md)
- [Stock et disponibilité Syrve](/docs/fr/guides/integrations/pos/syrve/stock-and-availability.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.