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

# Ce qu’il faut pour créer un contrat

> Les champs (obligatoires ou non, valeurs admises) et l’objet parent que la création demande.

### Endpoint & Authentification

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

**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 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="type" type="string">
  Le type de l’objet, au singulier.
</ResponseField>

<ResponseField name="parent" type="object">
  L’objet auquel il faut le rattacher (`parentId` à la création), ou `null`. Peut valoir `null`.

  <Expandable title="Ses champs">
    <ResponseField name="label" type="string">
      Le nom du champ parent (« Immeuble », « Client »…).
    </ResponseField>

    <ResponseField name="object" type="string">
      Le type de l’objet parent, tel que la recherche le rend.
    </ResponseField>

    <ResponseField name="required" type="boolean">
      Toujours `true` : sans parent, la création est refusée.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="fields" type="object[]">
  Les champs qu’on peut remplir à la création.

  <Expandable title="Chaque élément">
    <ResponseField name="id" type="string">
      L’identifiant du champ, la clé à envoyer dans `champs` à la création.
    </ResponseField>

    <ResponseField name="label" type="string">
      Son libellé, tel qu’il se lit dans Arquos.
    </ResponseField>

    <ResponseField name="required" type="boolean">
      Sans lui, la création est refusée (422).
    </ResponseField>

    <ResponseField name="type" type="string">
      Le genre de valeur attendue. Valeurs possibles : `text`, `number`, `choice`, `multi`, `email`, `date`.
    </ResponseField>

    <ResponseField name="values" type="string[]">
      Les valeurs admises pour un choix ; `null` sinon. Peut valoir `null`.
    </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/creation \
  --header 'Authorization: Bearer arq_agent_VOTRE_JETON'
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={"system"}
  {
  "type": "contrat",
  "parent": {
    "label": "texte",
    "object": "texte",
    "required": true
  },
  "fields": [
    {
      "id": "3f1c2b9e-8a4d-4c1e-9b7a-2d5e6f708192",
      "label": "texte",
      "required": true,
      "type": "text",
      "values": [
        "texte"
      ]
    }
  ]
  }
  ```
</ResponseExample>


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