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

# Organisations et établissements

> Comprenez la relation entre les organisations commerciales, les établissements et le périmètre des clés API.

Les organisations commerciales et les établissements sont les ressources qui identifient les restaurants dans l’API Chataigne.

## Organisations commerciales

Une `organization` représente un groupe de restaurants ou une entreprise. Elle possède son propre identifiant et son propre nom, et peut contenir plusieurs établissements.

Utilisez une organisation commerciale lorsqu’une intégration doit fonctionner à l’échelle d’un groupe, par exemple pour découvrir tous les restaurants, agréger des données analytiques ou créer un établissement.

```json theme={null}
{
  "id": "busorg_k3m9x2p7qw",
  "object": "organization",
  "name": "Maison Exemple",
  "image_url": "https://cdn.chataigne.ai/image/logo-organisation.jpg",
  "location_ids": ["loc_r8v4n2c6tz", "loc_t1q7m5b3dx"]
}
```

### Modifier le profil d’une organisation

Appelez `PATCH /v1/organizations/{organization_id}` avec la permission `businessOrganization.update`. Envoyez `name` et/ou `image_url` ; les champs omis conservent leur valeur actuelle. `image_url` doit désigner une image JPG, PNG ou WebP accessible publiquement et ne dépassant pas 5 Mo. Chataigne importe l’image et renvoie son URL gérée dans la ressource. L’API ne permet pas de supprimer une photo existante — envoyer `image_url: null` est rejeté avec `400 INVALID_IMAGE_URL`, omettez donc le champ pour conserver l’actuelle.

```bash theme={null}
curl https://server.chataigne.ai/v1/organizations/busorg_k3m9x2p7qw \
  -X PATCH \
  -H "x-api-key: $CHATAIGNE_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"image_url":"https://images.example.com/maison-exemple-logo.png"}'
```

## Établissements

Une `location` représente un restaurant. Son profil contient notamment son nom, sa devise, son pays, son fuseau horaire, sa langue, ses coordonnées et son adresse. Les paramètres opérationnels appartiennent à l’établissement sous la forme de ressources distinctes.

```json theme={null}
{
  "id": "loc_r8v4n2c6tz",
  "object": "location",
  "organization_id": "busorg_k3m9x2p7qw",
  "name": "Maison Exemple — République",
  "image_url": "https://cdn.chataigne.ai/image/logo-etablissement.jpg",
  "currency": "EUR",
  "country": "FR",
  "timezone": "Europe/Paris",
  "default_language": "fr"
}
```

`organization_id` vaut `null` pour un établissement autonome.

## Transmission des accès

```text theme={null}
Clé limitée à une organisation commerciale
└── Organisation commerciale
    ├── Établissement A
    └── Établissement B

Clé limitée à un établissement
└── Établissement A
```

Une clé limitée à une organisation commerciale peut accéder à cette organisation et à ses établissements enfants, dans la limite de ses permissions. L’accès descend vers les établissements, mais ne remonte jamais d’un établissement vers son organisation parente.

Une clé limitée à un établissement peut accéder uniquement à celui-ci. Elle ne peut pas récupérer l’organisation parente ni un établissement voisin, même si l’établissement appartient à un groupe.

## Le périmètre n’accorde pas les actions

Le périmètre et les permissions sont évalués ensemble. Par exemple, une clé limitée à une organisation commerciale avec `location.read` peut lister les établissements enfants, mais ne peut pas les modifier sans `location.update`. Une clé limitée à un établissement avec `location.update` peut modifier cet établissement et aucun autre.

Consultez [Clés API et permissions](/fr/concepts/authentication) pour la liste complète des permissions.

## Identifiants de ressources

Les identifiants de ressources sont des chaînes opaques. Vous devez :

* Lire les identifiants dans les réponses de l’API.
* Les enregistrer avec les données de votre intégration.
* Les transmettre sans modification dans les chemins des endpoints.
* Ne pas les analyser ni supposer leur longueur ou leur structure interne.

Utilisez [Trouver vos ressources](/fr/getting-started/find-your-resources) pour découvrir les identifiants disponibles pour votre clé.
