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

# Déposer une photo sur un relevé

> Comme le téléphone : la photo (JPEG, PNG, WebP ou HEIC, 10 Mo au plus) est posée en vrac, à ranger ; avec `categorie` (le libellé d’un emplacement du catalogue), elle prend cet emplacement et en chasse la précédente ; avec `complementaire`, elle s’ajoute aux photos complémentaires. `parIA` dit que le moteur IA l’a rangée. Le relevé doit être en cours.

### Endpoint & Authentification

| Méthode | URL |
| :- | :- |
| `POST` | `https://api.arquos.eu/api/v2/surveys/{id}/photos` |

**En-têtes (Headers) :**

* `Authorization: Bearer [VOTRE_JETON_D_API]`
* `X-Arquos-Agency: [IDENTIFIANT_D_AGENCE]` (facultatif, voir [Agence](/v2/agence))
* `Content-Type: application/json`

### Paramètres de la requête

<ParamField path="id" type="string" required>
  L’identifiant de l’objet.
</ParamField>

<ParamField header="X-Arquos-Agency" type="string">
  L’identifiant de l’agence où agir. Absent : l’agence par défaut du compte. Une agence hors de sa portée est refusée (403).
</ParamField>

<ParamField body="photo" type="string" required>
  Le fichier, en base64.
</ParamField>

<ParamField body="category" type="string">
  Le libellé de l’emplacement, par exemple « Plaque moteur ».
</ParamField>

<ParamField body="additional" type="boolean">
  Une photo complémentaire, hors des emplacements.
</ParamField>

<ParamField body="byAi" type="boolean">
  Rangée par le moteur IA plutôt que par une personne.
</ParamField>

### Réponse (`201`)

<ResponseField name="id" type="string">
  L’identifiant de la photo ; absent quand la photo prend un emplacement (elle remplace la précédente). Peut être absent.
</ResponseField>

<ResponseField name="file" type="string">
  L’adresse de la photo, à lire sur le serveur d’Arquos.
</ResponseField>

<ResponseField name="category" type="string">
  L’emplacement pris, quand une catégorie a été donnée. Peut être absent.
</ResponseField>

### Les erreurs

| Code | Quand |
| :- | :- |
| `400` | Requête mal formée ou champ obligatoire manquant. |
| `401` | Jeton absent, inconnu ou révoqué. |
| `403` | Agence hors de votre portée. |
| `404` | Objet introuvable dans vos agences. |
| `422` | Saisie refusée par Arquos (champ obligatoire, valeur hors bornes, choix inconnu). |
| `429` | Trop d’appels : réessayez après le délai de l’en-tête Retry-After. |

Le corps d'une erreur porte `error`, sa raison en français. Voir [Les erreurs](/v2/erreurs).

<RequestExample>
  ```bash cURL theme={"system"}
  curl --request POST \
  --url https://api.arquos.eu/api/v2/surveys/ID_DE_L_OBJET/photos \
  --header 'Authorization: Bearer arq_agent_VOTRE_JETON' \
  --header 'Content-Type: application/json' \
  --data '{
  "photo": "texte"
  }'
  ```
</RequestExample>

<ResponseExample>
  ```json 201 theme={"system"}
  {
  "id": "3f1c2b9e-8a4d-4c1e-9b7a-2d5e6f708192",
  "file": "texte",
  "category": "texte"
  }
  ```
</ResponseExample>


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