> For the complete documentation index, see [llms.txt](https://www.center.daxium-air.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://www.center.daxium-air.com/api-reference/doc-api/formulaires.md).

# Formulaires

Récupérer les définitions de formulaires et leurs versions

## Lister tous les formulaires

> Retourne tous les formulaires disponibles avec pagination.

```json
{"openapi":"3.0.0","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"structures"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"oauth2":{}}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"Envoyez l'access token sous la forme `Authorization: Bearer <token>`.","flows":{"password":{"tokenUrl":"/oauth/v2/token","refreshUrl":"/oauth/v2/token","scopes":{}},"authorizationCode":{"authorizationUrl":"/oauth/v2/auth","tokenUrl":"/oauth/v2/token","refreshUrl":"/oauth/v2/token","scopes":{}}}}},"parameters":{"XAcceptVersion":{"name":"X-Accept-Version","in":"header","description":"Version de l'API à appliquer. Vaut `v1.0` si omise ; une valeur inconnue bascule sur la version la plus récente.","required":false,"schema":{"type":"string","default":"v1.3","enum":["v1.0","v1.1","v1.2","v1.3"]}}},"schemas":{"StructureListResponse":{"properties":{"next_page":{"type":"integer"},"required":{"properties":{"linked_list_ids":{"type":"array","items":{"type":"integer"}},"structure_ids":{"type":"array","items":{"type":"integer"}}},"type":"object"},"server_time":{"type":"integer","format":"int64"},"structures":{"type":"array","items":{"$ref":"#/components/schemas/Structure"}},"total_count":{"type":"integer"},"total_pages":{"type":"integer"},"workflows":{"type":"array","items":{"$ref":"#/components/schemas/Workflow"}}},"type":"object"},"Structure":{"properties":{"can_have_access_restrictions":{"description":"Indique si le formulaire permet de restreindre les fiches par autorisation d'accès.","type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Condition"}},"created_at":{"type":"integer","format":"int64"},"deleted_at":{"description":"Date de suppression. Présente uniquement lorsque le formulaire a été supprimé.","type":"integer","format":"int64"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/Field"}},"id":{"type":"integer"},"is_current_user_allowed":{"description":"Indique si l'utilisateur authentifié est autorisé à accéder à ce formulaire.","type":"boolean"},"layout":{"properties":{"fields":{"type":"array","items":{}},"pages":{"type":"array","items":{}}},"type":"object"},"name":{"type":"string"},"nb_submissions":{"type":"integer"},"settings":{"type":"object","additionalProperties":true},"triggers":{"type":"array","items":{"$ref":"#/components/schemas/Trigger"}},"updated_at":{"type":"integer","format":"int64"},"version":{"type":"integer"},"workflow_id":{"description":"Identifiant du workflow pilotant ce formulaire, lorsqu'il en a un.","type":"string","format":"uuid"}},"type":"object"},"Condition":{"properties":{"cdt":{"description":"Condition au format JavaScript","type":"string"},"fields":{"type":"array","items":{"type":"string"}},"json_format":{"type":"array","items":{"properties":{"field":{"type":"string"},"operator":{"type":"string"},"value":{"type":"string"}},"type":"object"}},"name":{"type":"string"},"uuid":{"type":"string","format":"uuid"}},"type":"object"},"Field":{"description":"Configuration d'un champ de formulaire. Sa forme dépend de la date de dernière modification du formulaire : les formulaires enregistrés avec le constructeur actuel décrivent leurs règles d'accès via `permissions` ; ceux qui n'ont pas été réenregistrés depuis une version antérieure du constructeur exposent encore ces mêmes règles via les booléens simples `enable` / `readonly` / `required`. Un champ donné porte l'un ou l'autre, jamais les deux.","properties":{"barcodescan":{"description":"Indique si la lecture d'un code-barres peut renseigner ce champ. Présent uniquement sur les champs qui le supportent.","type":"boolean"},"enable":{"description":"Ancien format uniquement, voir la note ci-dessus. Remplacé par `permissions.visible`.","type":"boolean"},"externalscan":{"description":"Indique si un scanner externe peut renseigner ce champ. Présent uniquement sur les champs qui le supportent.","type":"boolean"},"label":{"type":"string"},"name":{"description":"Nom système du champ — utilisé comme clé dans les `items` d'une fiche","type":"string"},"permissions":{"description":"Format actuel uniquement, voir la note ci-dessus. Chacune des trois règles est soit une valeur constante, soit pilotée par une condition du formulaire.","properties":{"editable":{"$ref":"#/components/schemas/FieldPermissionRule"},"required":{"$ref":"#/components/schemas/FieldPermissionRule"},"visible":{"$ref":"#/components/schemas/FieldPermissionRule"}},"type":"object"},"position":{"type":"integer"},"prefill":{"type":"boolean"},"readonly":{"description":"Ancien format uniquement, voir la note ci-dessus. Remplacé par `permissions.editable`.","type":"boolean"},"required":{"description":"Ancien format uniquement, voir la note ci-dessus. Remplacé par `permissions.required`.","type":"boolean"},"richtext":{"description":"Indique si le champ accepte la mise en forme enrichie. Présent uniquement sur les champs texte.","type":"boolean"},"searchable":{"type":"boolean"},"textRecognition":{"description":"Indique si la reconnaissance de texte (OCR) peut renseigner ce champ. Présent uniquement sur les champs qui le supportent.","type":"boolean"},"type":{"description":"Type de champ : text, number, boolean, date, duration, phone, email, location, image, signature, file, list, relation, user, label…\n","type":"string"}},"type":"object"},"FieldPermissionRule":{"properties":{"type":{"description":"`constant` : la règle vaut toujours `value`. `condition` : la règle est évaluée en vérifiant les conditions du formulaire listées dans `ids`.","type":"string","enum":["constant","condition"]},"value":{"description":"Présent lorsque `type` vaut `constant`.","type":"boolean"},"ids":{"description":"Présent lorsque `type` vaut `condition`. Identifiants des conditions du formulaire pilotant cette règle.","type":"array","items":{"type":"string","format":"uuid"}}},"type":"object"},"Trigger":{"description":"Personnalise l'apparence d'une transition de workflow sous forme de bouton","properties":{"color":{"type":"string"},"condition_id":{"description":"Identifiant de la condition du formulaire qui doit être remplie pour que le bouton s'affiche. Absent lorsque le bouton s'affiche toujours.","type":"string","format":"uuid"},"icon":{"type":"string"},"id":{"type":"string","format":"uuid"},"label":{"description":"Libellés localisés (clé = code locale, ex. `fr`, `en`)","type":"object","additionalProperties":{"type":"string"}},"transition_id":{"type":"string","format":"uuid"},"type":{"type":"string"}},"type":"object"},"Workflow":{"properties":{"id":{"type":"string","format":"uuid"},"name":{"description":"Noms localisés, indexés par langue (ex. `fr`, `en`)","type":"object","additionalProperties":{"type":"string"}},"start_state":{"type":"string","format":"uuid"},"states":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowState"}},"transitions":{"type":"array","items":{"$ref":"#/components/schemas/WorkflowTransition"}}},"type":"object"},"WorkflowState":{"properties":{"color":{"type":"string"},"end":{"description":"Si vrai, les fiches dans cet état ne peuvent plus être modifiées","type":"boolean"},"id":{"type":"string","format":"uuid"},"name":{"description":"Noms localisés, indexés par langue (ex. `fr`, `en`)","type":"object","additionalProperties":{"type":"string"}}},"type":"object"},"WorkflowTransition":{"properties":{"from":{"type":"string","format":"uuid"},"id":{"type":"string","format":"uuid"},"label":{"description":"Libellés localisés (clé = code locale, ex. `fr`, `en`)","type":"object","additionalProperties":{"type":"string"}},"to":{"type":"string","format":"uuid"}},"type":"object"},"ErrorResponse":{"description":"Corps d'erreur standardisé retourné par le subscriber d'exceptions REST.","properties":{"code":{"description":"Code d'erreur Daxium.","type":"string"},"message":{"type":"string"},"url":{"description":"Lien vers le code d'erreur dans la référence des erreurs.","type":"string"},"api_version":{"type":"string"},"infos":{"description":"Contexte additionnel sur l'erreur, lorsque l'exception en porte.","type":"array","items":{}},"server_time":{"type":"integer"}},"type":"object"}},"responses":{"Unauthorized":{"description":"Access token manquant ou invalide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{app_short}/structures":{"get":{"tags":["structures"],"summary":"Lister tous les formulaires","description":"Retourne tous les formulaires disponibles avec pagination.","operationId":"listStructures","parameters":[{"name":"page","in":"query","description":"Page de la vue d'ensemble.","required":false,"allowEmptyValue":false,"schema":{"type":"string","default":"0","pattern":"\\d+"}},{"name":"per_page","in":"query","description":"Nombre de résultats par page (max. 100)","required":false,"allowEmptyValue":false,"schema":{"type":"string","default":"10","pattern":"-?\\d+"}},{"name":"updated_since","in":"query","description":"Récupérer uniquement les formulaires modifiés depuis cette date","required":false,"allowEmptyValue":false,"schema":{"type":"string","default":"","pattern":"\\d+"}},{"name":"include_exclusive_structures","in":"query","description":"Si vrai, les superadmins accèdent à tous les formulaires, y compris les formulaires exclusifs","required":false,"allowEmptyValue":false,"schema":{"type":"string","default":"false","pattern":"(true|false)"}},{"name":"app_short","in":"path","description":"Nom court du vertical métier, tel qu'il apparaît dans l'URL du back-office.","required":true,"schema":{"type":"string"}},{"$ref":"#/components/parameters/XAcceptVersion"}],"responses":{"200":{"description":"Liste paginée de formulaires","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StructureListResponse"}}}},"401":{"$ref":"#/components/responses/Unauthorized"}}}}}}
```

## Récupérer un formulaire

> Retourne le formulaire dans la version demandée, ou la plus récente si la version est omise.

```json
{"openapi":"3.0.0","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"structures"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"oauth2":{}}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"Envoyez l'access token sous la forme `Authorization: Bearer <token>`.","flows":{"password":{"tokenUrl":"/oauth/v2/token","refreshUrl":"/oauth/v2/token","scopes":{}},"authorizationCode":{"authorizationUrl":"/oauth/v2/auth","tokenUrl":"/oauth/v2/token","refreshUrl":"/oauth/v2/token","scopes":{}}}}},"parameters":{"XAcceptVersion":{"name":"X-Accept-Version","in":"header","description":"Version de l'API à appliquer. Vaut `v1.0` si omise ; une valeur inconnue bascule sur la version la plus récente.","required":false,"schema":{"type":"string","default":"v1.3","enum":["v1.0","v1.1","v1.2","v1.3"]}}},"schemas":{"Structure":{"properties":{"can_have_access_restrictions":{"description":"Indique si le formulaire permet de restreindre les fiches par autorisation d'accès.","type":"boolean"},"conditions":{"type":"array","items":{"$ref":"#/components/schemas/Condition"}},"created_at":{"type":"integer","format":"int64"},"deleted_at":{"description":"Date de suppression. Présente uniquement lorsque le formulaire a été supprimé.","type":"integer","format":"int64"},"fields":{"type":"array","items":{"$ref":"#/components/schemas/Field"}},"id":{"type":"integer"},"is_current_user_allowed":{"description":"Indique si l'utilisateur authentifié est autorisé à accéder à ce formulaire.","type":"boolean"},"layout":{"properties":{"fields":{"type":"array","items":{}},"pages":{"type":"array","items":{}}},"type":"object"},"name":{"type":"string"},"nb_submissions":{"type":"integer"},"settings":{"type":"object","additionalProperties":true},"triggers":{"type":"array","items":{"$ref":"#/components/schemas/Trigger"}},"updated_at":{"type":"integer","format":"int64"},"version":{"type":"integer"},"workflow_id":{"description":"Identifiant du workflow pilotant ce formulaire, lorsqu'il en a un.","type":"string","format":"uuid"}},"type":"object"},"Condition":{"properties":{"cdt":{"description":"Condition au format JavaScript","type":"string"},"fields":{"type":"array","items":{"type":"string"}},"json_format":{"type":"array","items":{"properties":{"field":{"type":"string"},"operator":{"type":"string"},"value":{"type":"string"}},"type":"object"}},"name":{"type":"string"},"uuid":{"type":"string","format":"uuid"}},"type":"object"},"Field":{"description":"Configuration d'un champ de formulaire. Sa forme dépend de la date de dernière modification du formulaire : les formulaires enregistrés avec le constructeur actuel décrivent leurs règles d'accès via `permissions` ; ceux qui n'ont pas été réenregistrés depuis une version antérieure du constructeur exposent encore ces mêmes règles via les booléens simples `enable` / `readonly` / `required`. Un champ donné porte l'un ou l'autre, jamais les deux.","properties":{"barcodescan":{"description":"Indique si la lecture d'un code-barres peut renseigner ce champ. Présent uniquement sur les champs qui le supportent.","type":"boolean"},"enable":{"description":"Ancien format uniquement, voir la note ci-dessus. Remplacé par `permissions.visible`.","type":"boolean"},"externalscan":{"description":"Indique si un scanner externe peut renseigner ce champ. Présent uniquement sur les champs qui le supportent.","type":"boolean"},"label":{"type":"string"},"name":{"description":"Nom système du champ — utilisé comme clé dans les `items` d'une fiche","type":"string"},"permissions":{"description":"Format actuel uniquement, voir la note ci-dessus. Chacune des trois règles est soit une valeur constante, soit pilotée par une condition du formulaire.","properties":{"editable":{"$ref":"#/components/schemas/FieldPermissionRule"},"required":{"$ref":"#/components/schemas/FieldPermissionRule"},"visible":{"$ref":"#/components/schemas/FieldPermissionRule"}},"type":"object"},"position":{"type":"integer"},"prefill":{"type":"boolean"},"readonly":{"description":"Ancien format uniquement, voir la note ci-dessus. Remplacé par `permissions.editable`.","type":"boolean"},"required":{"description":"Ancien format uniquement, voir la note ci-dessus. Remplacé par `permissions.required`.","type":"boolean"},"richtext":{"description":"Indique si le champ accepte la mise en forme enrichie. Présent uniquement sur les champs texte.","type":"boolean"},"searchable":{"type":"boolean"},"textRecognition":{"description":"Indique si la reconnaissance de texte (OCR) peut renseigner ce champ. Présent uniquement sur les champs qui le supportent.","type":"boolean"},"type":{"description":"Type de champ : text, number, boolean, date, duration, phone, email, location, image, signature, file, list, relation, user, label…\n","type":"string"}},"type":"object"},"FieldPermissionRule":{"properties":{"type":{"description":"`constant` : la règle vaut toujours `value`. `condition` : la règle est évaluée en vérifiant les conditions du formulaire listées dans `ids`.","type":"string","enum":["constant","condition"]},"value":{"description":"Présent lorsque `type` vaut `constant`.","type":"boolean"},"ids":{"description":"Présent lorsque `type` vaut `condition`. Identifiants des conditions du formulaire pilotant cette règle.","type":"array","items":{"type":"string","format":"uuid"}}},"type":"object"},"Trigger":{"description":"Personnalise l'apparence d'une transition de workflow sous forme de bouton","properties":{"color":{"type":"string"},"condition_id":{"description":"Identifiant de la condition du formulaire qui doit être remplie pour que le bouton s'affiche. Absent lorsque le bouton s'affiche toujours.","type":"string","format":"uuid"},"icon":{"type":"string"},"id":{"type":"string","format":"uuid"},"label":{"description":"Libellés localisés (clé = code locale, ex. `fr`, `en`)","type":"object","additionalProperties":{"type":"string"}},"transition_id":{"type":"string","format":"uuid"},"type":{"type":"string"}},"type":"object"},"ErrorResponse":{"description":"Corps d'erreur standardisé retourné par le subscriber d'exceptions REST.","properties":{"code":{"description":"Code d'erreur Daxium.","type":"string"},"message":{"type":"string"},"url":{"description":"Lien vers le code d'erreur dans la référence des erreurs.","type":"string"},"api_version":{"type":"string"},"infos":{"description":"Contexte additionnel sur l'erreur, lorsque l'exception en porte.","type":"array","items":{}},"server_time":{"type":"integer"}},"type":"object"}},"responses":{"Unauthorized":{"description":"Access token manquant ou invalide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}},"paths":{"/{app_short}/structures/{structure_id}":{"get":{"tags":["structures"],"summary":"Récupérer un formulaire","description":"Retourne le formulaire dans la version demandée, ou la plus récente si la version est omise.","operationId":"getStructure","parameters":[{"name":"version","in":"query","description":"Version du formulaire","required":false,"allowEmptyValue":false,"schema":{"type":"string","default":"","pattern":"\\d+"}},{"name":"app_short","in":"path","description":"Nom court du vertical métier, tel qu'il apparaît dans l'URL du back-office.","required":true,"schema":{"type":"string"}},{"name":"structure_id","in":"path","required":true,"schema":{"type":"string","pattern":"\\d+"}},{"$ref":"#/components/parameters/XAcceptVersion"}],"responses":{"200":{"description":"Objet formulaire","content":{"application/json":{"schema":{"properties":{"structure":{"$ref":"#/components/schemas/Structure"},"server_time":{"type":"integer"}},"type":"object"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"description":"Aucun formulaire avec cet identifiant dans le vertical métier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Récupérer un fichier lié à un formulaire

> Limité pour l'instant aux images des champs Logo.

```json
{"openapi":"3.0.0","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"structures"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"oauth2":{}}],"components":{"securitySchemes":{"oauth2":{"type":"oauth2","description":"Envoyez l'access token sous la forme `Authorization: Bearer <token>`.","flows":{"password":{"tokenUrl":"/oauth/v2/token","refreshUrl":"/oauth/v2/token","scopes":{}},"authorizationCode":{"authorizationUrl":"/oauth/v2/auth","tokenUrl":"/oauth/v2/token","refreshUrl":"/oauth/v2/token","scopes":{}}}}},"parameters":{"XAcceptVersion":{"name":"X-Accept-Version","in":"header","description":"Version de l'API à appliquer. Vaut `v1.0` si omise ; une valeur inconnue bascule sur la version la plus récente.","required":false,"schema":{"type":"string","default":"v1.3","enum":["v1.0","v1.1","v1.2","v1.3"]}}},"responses":{"Unauthorized":{"description":"Access token manquant ou invalide.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}},"schemas":{"ErrorResponse":{"description":"Corps d'erreur standardisé retourné par le subscriber d'exceptions REST.","properties":{"code":{"description":"Code d'erreur Daxium.","type":"string"},"message":{"type":"string"},"url":{"description":"Lien vers le code d'erreur dans la référence des erreurs.","type":"string"},"api_version":{"type":"string"},"infos":{"description":"Contexte additionnel sur l'erreur, lorsque l'exception en porte.","type":"array","items":{}},"server_time":{"type":"integer"}},"type":"object"}}},"paths":{"/{app_short}/structures/{structure_id}/file/{file_id}":{"get":{"tags":["structures"],"summary":"Récupérer un fichier lié à un formulaire","description":"Limité pour l'instant aux images des champs Logo.","operationId":"getStructureFile","parameters":[{"name":"app_short","in":"path","description":"Nom court du vertical métier, tel qu'il apparaît dans l'URL du back-office.","required":true,"schema":{"type":"string"}},{"name":"structure_id","in":"path","required":true,"schema":{"type":"string","pattern":"\\d+"}},{"name":"file_id","in":"path","required":true,"schema":{"type":"string","pattern":"[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}"}},{"$ref":"#/components/parameters/XAcceptVersion"}],"responses":{"200":{"description":"Contenu de l'image","content":{"image/jpeg":{"schema":{"type":"string","format":"binary"}}}},"401":{"$ref":"#/components/responses/Unauthorized"},"404":{"description":"Aucun fichier de ce nom sur ce formulaire.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://www.center.daxium-air.com/api-reference/doc-api/formulaires.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
