> ## 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.

# Les variations de prix des contrats

> Ce qui fait varier le prix d’un contrat dans vos agences : les options, et les données techniques dont la valeur relevée change le prix (avec la donnée, son code et son nom V1). Filtrer par `agence` et par `nature` (option ou champ_technique).

### Endpoint & Authentification

| Méthode | URL |
| :- | :- |
| `GET` | `https://api.arquos.eu/api/v2/contracts/price-variations` |

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

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

### Paramètres de la requête

<ParamField query="agency" type="string">
  L’identifiant d’une agence.
</ParamField>

<ParamField query="nature" type="string">
  « option » ou « champ\_technique ».
</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>

### Réponse (`200`)

<ResponseField name="total" type="integer">
  Le nombre de variations de prix.
</ResponseField>

<ResponseField name="variations" type="object[]">
  Le barème des contrats de vos agences.

  <Expandable title="Chaque élément">
    <ResponseField name="id" type="string">
      L’identifiant Arquos.
    </ResponseField>

    <ResponseField name="agency" type="string">
      L’agence qui la règle.
    </ResponseField>

    <ResponseField name="nature" type="string">
      Une option du contrat, ou une variation selon une donnée technique. Peut valoir `null`.
    </ResponseField>

    <ResponseField name="label" type="string">
      Son nom. Peut valoir `null`.
    </ResponseField>

    <ResponseField name="field" type="object">
      La donnée technique qui fait varier le prix, ou `null` pour une option. Peut valoir `null`.

      <Expandable title="Ses champs">
        <ResponseField name="code" type="string">
          Le code de la donnée technique.
        </ResponseField>

        <ResponseField name="label" type="string">
          Son nom. Peut valoir `null`.
        </ResponseField>

        <ResponseField name="table" type="string">
          Sa table en V1. Peut valoir `null`.
        </ResponseField>

        <ResponseField name="field" type="string">
          Son champ en V1. Peut valoir `null`.
        </ResponseField>
      </Expandable>
    </ResponseField>
  </Expandable>
</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. |
| `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 GET \
  --url https://api.arquos.eu/api/v2/contracts/price-variations \
  --header 'Authorization: Bearer arq_agent_VOTRE_JETON'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={"system"}
  {
  "total": 1,
  "variations": [
    {
      "id": "3f1c2b9e-8a4d-4c1e-9b7a-2d5e6f708192",
      "agency": "3f1c2b9e-8a4d-4c1e-9b7a-2d5e6f708192",
      "nature": "texte",
      "label": "texte",
      "field": {
        "code": "texte",
        "label": "texte",
        "table": "texte",
        "field": "texte"
      }
    }
  ]
  }
  ```
</ResponseExample>


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