# Fiches

## Lister les fiches d'un formulaire

> Retourne les fiches d'un formulaire avec pagination.\
> Définissez \`reference=true\` pour retourner toutes les données de référence\
> (omettez alors \`structure\_id\`).<br>

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"SubmissionListResponse":{"type":"object","properties":{"submissions":{"type":"array","items":{"$ref":"#/components/schemas/Submission"},"description":"Liste des fiches"},"total_count":{"type":"integer","description":"Nombre total de fiches"},"total_pages":{"type":"integer","description":"Nombre total de pages"},"server_time":{"type":"integer","format":"int64","description":"Date courante du serveur (timestamp UNIX)"}}},"Submission":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identifiant de la fiche"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (timestamp UNIX)"},"updated_at":{"type":"integer","format":"int64","description":"Date de mise à jour (timestamp UNIX)"},"data_created_at":{"type":"integer","format":"int64","description":"Date de création des données sur le serveur"},"data_updated_at":{"type":"integer","format":"int64","description":"Date de dernière mise à jour des données sur le serveur"},"user_id":{"type":"integer","description":"Propriétaire de la fiche"},"channels":{"type":"array","items":{"type":"string"},"description":"Conditions remplies par la fiche"},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire clé/valeur dont la clé est le nom système du champ.\n\n**Types simples :** texte/email → chaîne | nombre → flottant | booléen → bool |\ndate → timestamp UNIX | durée → ms | téléphone → RFC 3966\n\n**location :** `{lat, lng, address}`\n\n**image/signature/fichier :** `[{id, name, mimeType, extension, size, comment}]`\n\n**liste :** `[id, …]`\n\n**relation :** `{submissions: [{id, count?}, …]}`\n\n**utilisateur :** `[{id}, …]`\n"},"submission_number":{"type":"integer","description":"Numéro séquentiel global"},"number_in_structure":{"type":"integer","description":"Numéro séquentiel au sein du formulaire"},"latitude":{"type":"number","format":"double","description":"Latitude de la fiche"},"longitude":{"type":"number","format":"double","description":"Longitude de la fiche"},"last_updated_user_id":{"type":"integer","description":"Identifiant du dernier utilisateur ayant modifié la fiche"},"current_state":{"type":"string","format":"uuid","nullable":true,"description":"UUID de l'état de workflow courant (null si pas de workflow)"},"assigned_user":{"$ref":"#/components/schemas/UserRef"},"subscribers":{"type":"array","items":{},"description":"Utilisateurs abonnés à la fiche"},"settings":{"type":"array","items":{}}}},"UserRef":{"type":"object","description":"Référence à un utilisateur","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"first_name":{"type":"string","description":"Prénom"},"last_name":{"type":"string","description":"Nom"},"groups":{"type":"array","items":{},"description":"Groupes de l'utilisateur"},"system_groups":{"type":"array","items":{},"description":"Groupes système de l'utilisateur"}}}}},"paths":{"/{app_short}/submissions":{"get":{"summary":"Lister les fiches d'un formulaire","description":"Retourne les fiches d'un formulaire avec pagination.\nDéfinissez `reference=true` pour retourner toutes les données de référence\n(omettez alors `structure_id`).\n","tags":["submissions"],"operationId":"listSubmissions","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"structure_id","in":"query","description":"Identifiant du formulaire (obligatoire sauf si `reference=true`)","schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Nombre de fiches par page","schema":{"type":"integer"}},{"name":"page","in":"query","description":"Numéro de la page demandée","schema":{"type":"integer"}},{"name":"updated_since","in":"query","description":"Filtre les fiches mises à jour depuis ce timestamp UNIX","schema":{"type":"integer","format":"int64"}},{"name":"items_expanded","in":"query","description":"Retourner les libellés des listes au lieu des identifiants","schema":{"type":"boolean"}},{"name":"reference","in":"query","description":"Définir à `true` pour retourner toutes les données de référence","schema":{"type":"boolean"}}],"responses":{"200":{"description":"Fiches paginées","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionListResponse"}}}}}}}}}
```

## Créer une fiche

> Crée une nouvelle fiche. Pour les champs de type \`image\`, \`signature\` ou \`file\`,\
> envoyez d'abord le fichier via l'endpoint dédié et utilisez l'UUID retourné ici.<br>

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"SubmissionInput":{"type":"object","required":["structure_id","structure_version","items"],"properties":{"id":{"type":"string","format":"uuid","description":"Généré automatiquement par le serveur si omis"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (défaut : maintenant)"},"updated_at":{"type":"integer","format":"int64","description":"Date de dernière modification (défaut : maintenant)"},"trigger_id":{"type":"string","format":"uuid","description":"Transition de workflow à appliquer (PUT/PATCH uniquement)"},"substitute_user_id":{"type":"integer","description":"Optionnel. Définit un autre utilisateur comme créateur/propriétaire. L'utilisateur authentifié est toujours tracé dans l'historique."},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire avec pour clé le nom système du champ"}}},"Submission":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identifiant de la fiche"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (timestamp UNIX)"},"updated_at":{"type":"integer","format":"int64","description":"Date de mise à jour (timestamp UNIX)"},"data_created_at":{"type":"integer","format":"int64","description":"Date de création des données sur le serveur"},"data_updated_at":{"type":"integer","format":"int64","description":"Date de dernière mise à jour des données sur le serveur"},"user_id":{"type":"integer","description":"Propriétaire de la fiche"},"channels":{"type":"array","items":{"type":"string"},"description":"Conditions remplies par la fiche"},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire clé/valeur dont la clé est le nom système du champ.\n\n**Types simples :** texte/email → chaîne | nombre → flottant | booléen → bool |\ndate → timestamp UNIX | durée → ms | téléphone → RFC 3966\n\n**location :** `{lat, lng, address}`\n\n**image/signature/fichier :** `[{id, name, mimeType, extension, size, comment}]`\n\n**liste :** `[id, …]`\n\n**relation :** `{submissions: [{id, count?}, …]}`\n\n**utilisateur :** `[{id}, …]`\n"},"submission_number":{"type":"integer","description":"Numéro séquentiel global"},"number_in_structure":{"type":"integer","description":"Numéro séquentiel au sein du formulaire"},"latitude":{"type":"number","format":"double","description":"Latitude de la fiche"},"longitude":{"type":"number","format":"double","description":"Longitude de la fiche"},"last_updated_user_id":{"type":"integer","description":"Identifiant du dernier utilisateur ayant modifié la fiche"},"current_state":{"type":"string","format":"uuid","nullable":true,"description":"UUID de l'état de workflow courant (null si pas de workflow)"},"assigned_user":{"$ref":"#/components/schemas/UserRef"},"subscribers":{"type":"array","items":{},"description":"Utilisateurs abonnés à la fiche"},"settings":{"type":"array","items":{}}}},"UserRef":{"type":"object","description":"Référence à un utilisateur","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"first_name":{"type":"string","description":"Prénom"},"last_name":{"type":"string","description":"Nom"},"groups":{"type":"array","items":{},"description":"Groupes de l'utilisateur"},"system_groups":{"type":"array","items":{},"description":"Groupes système de l'utilisateur"}}}}},"paths":{"/{app_short}/submissions":{"post":{"summary":"Créer une fiche","description":"Crée une nouvelle fiche. Pour les champs de type `image`, `signature` ou `file`,\nenvoyez d'abord le fichier via l'endpoint dédié et utilisez l'UUID retourné ici.\n","tags":["submissions"],"operationId":"createSubmission","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"partial","in":"query","description":"Si `true`, ignore les permissions de champs (requis / modifiable)","schema":{"type":"boolean"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionInput"}}}},"responses":{"200":{"description":"Fiche créée","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}}}}}}}}
```

## Récupérer des fiches par identifiants (jusqu'à 500)

> Retourne les fiches correspondant aux UUIDs fournis. Maximum 500 identifiants par requête.\
> Chaque identifiant peut optionnellement porter un filtre \`updated\_since\`.<br>

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"Submission":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identifiant de la fiche"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (timestamp UNIX)"},"updated_at":{"type":"integer","format":"int64","description":"Date de mise à jour (timestamp UNIX)"},"data_created_at":{"type":"integer","format":"int64","description":"Date de création des données sur le serveur"},"data_updated_at":{"type":"integer","format":"int64","description":"Date de dernière mise à jour des données sur le serveur"},"user_id":{"type":"integer","description":"Propriétaire de la fiche"},"channels":{"type":"array","items":{"type":"string"},"description":"Conditions remplies par la fiche"},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire clé/valeur dont la clé est le nom système du champ.\n\n**Types simples :** texte/email → chaîne | nombre → flottant | booléen → bool |\ndate → timestamp UNIX | durée → ms | téléphone → RFC 3966\n\n**location :** `{lat, lng, address}`\n\n**image/signature/fichier :** `[{id, name, mimeType, extension, size, comment}]`\n\n**liste :** `[id, …]`\n\n**relation :** `{submissions: [{id, count?}, …]}`\n\n**utilisateur :** `[{id}, …]`\n"},"submission_number":{"type":"integer","description":"Numéro séquentiel global"},"number_in_structure":{"type":"integer","description":"Numéro séquentiel au sein du formulaire"},"latitude":{"type":"number","format":"double","description":"Latitude de la fiche"},"longitude":{"type":"number","format":"double","description":"Longitude de la fiche"},"last_updated_user_id":{"type":"integer","description":"Identifiant du dernier utilisateur ayant modifié la fiche"},"current_state":{"type":"string","format":"uuid","nullable":true,"description":"UUID de l'état de workflow courant (null si pas de workflow)"},"assigned_user":{"$ref":"#/components/schemas/UserRef"},"subscribers":{"type":"array","items":{},"description":"Utilisateurs abonnés à la fiche"},"settings":{"type":"array","items":{}}}},"UserRef":{"type":"object","description":"Référence à un utilisateur","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"first_name":{"type":"string","description":"Prénom"},"last_name":{"type":"string","description":"Nom"},"groups":{"type":"array","items":{},"description":"Groupes de l'utilisateur"},"system_groups":{"type":"array","items":{},"description":"Groupes système de l'utilisateur"}}},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string","description":"Code d'erreur unique préfixé par `DAERR-`"},"message":{"type":"string","description":"Description lisible de l'erreur"},"url":{"type":"string","format":"uri","description":"Lien vers la documentation détaillée de l'erreur"},"api_version":{"type":"string"},"infos":{"type":"array","items":{},"description":"Informations contextuelles supplémentaires (peut être vide)"},"server_time":{"type":"string","description":"Timestamp Unix sous forme de chaîne"}}}}},"paths":{"/{app_short}/submissions/byids":{"post":{"summary":"Récupérer des fiches par identifiants (jusqu'à 500)","description":"Retourne les fiches correspondant aux UUIDs fournis. Maximum 500 identifiants par requête.\nChaque identifiant peut optionnellement porter un filtre `updated_since`.\n","tags":["submissions"],"operationId":"getSubmissionsByIds","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"items_expanded","in":"query","description":"Retourner les libellés des listes au lieu des identifiants","schema":{"type":"boolean"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["submission_ids"],"properties":{"submission_ids":{"type":"array","maxItems":500,"items":{"type":"object","required":["id"],"properties":{"id":{"type":"string","format":"uuid"},"updated_since":{"type":"integer","format":"int64","description":"Ignorer cette fiche si non modifiée depuis ce timestamp"}}}}}}}}},"responses":{"200":{"description":"Fiches correspondantes","content":{"application/json":{"schema":{"type":"object","properties":{"submissions":{"type":"array","items":{"$ref":"#/components/schemas/Submission"}}}}}}},"400":{"description":"Trop d'identifiants (max 500)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Rechercher des fiches

> Retourne les fiches correspondant aux critères de recherche par champ.\
> Chaque champ ne peut apparaître qu'une seule fois. La casse des opérateurs est significative.\
> \
> \| Opérateur | Types de champs compatibles |\
> \|---|---|\
> \| \`equal\` / \`notequal\` | texte, nombre, booléen, date, email, téléphone |\
> \| \`isNull\` / \`isNotNull\` | tous |\
> \| \`less\` / \`greater\` / \`lesseq\` / \`greatereq\` | nombre |\
> \| \`contains\` / \`notContains\` / \`startWith\` / \`endWith\` | texte, email, téléphone |\
> \| \`in\` | liste, utilisateur, texte |\
> \| \`range\` | nombre, date |<br>

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"SearchCriteria":{"type":"object","additionalProperties":{"type":"object","required":["operator"],"properties":{"value":{"description":"Valeur recherchée (à omettre pour isNull / isNotNull)"},"operator":{"type":"string","enum":["equal","notequal","isNull","isNotNull","less","greater","lesseq","greatereq","contains","notContains","startWith","endWith","in","range"]}}},"description":"Objet dont chaque clé est un nom système de champ valide. Respectez la casse des opérateurs."},"SubmissionListResponse":{"type":"object","properties":{"submissions":{"type":"array","items":{"$ref":"#/components/schemas/Submission"},"description":"Liste des fiches"},"total_count":{"type":"integer","description":"Nombre total de fiches"},"total_pages":{"type":"integer","description":"Nombre total de pages"},"server_time":{"type":"integer","format":"int64","description":"Date courante du serveur (timestamp UNIX)"}}},"Submission":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identifiant de la fiche"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (timestamp UNIX)"},"updated_at":{"type":"integer","format":"int64","description":"Date de mise à jour (timestamp UNIX)"},"data_created_at":{"type":"integer","format":"int64","description":"Date de création des données sur le serveur"},"data_updated_at":{"type":"integer","format":"int64","description":"Date de dernière mise à jour des données sur le serveur"},"user_id":{"type":"integer","description":"Propriétaire de la fiche"},"channels":{"type":"array","items":{"type":"string"},"description":"Conditions remplies par la fiche"},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire clé/valeur dont la clé est le nom système du champ.\n\n**Types simples :** texte/email → chaîne | nombre → flottant | booléen → bool |\ndate → timestamp UNIX | durée → ms | téléphone → RFC 3966\n\n**location :** `{lat, lng, address}`\n\n**image/signature/fichier :** `[{id, name, mimeType, extension, size, comment}]`\n\n**liste :** `[id, …]`\n\n**relation :** `{submissions: [{id, count?}, …]}`\n\n**utilisateur :** `[{id}, …]`\n"},"submission_number":{"type":"integer","description":"Numéro séquentiel global"},"number_in_structure":{"type":"integer","description":"Numéro séquentiel au sein du formulaire"},"latitude":{"type":"number","format":"double","description":"Latitude de la fiche"},"longitude":{"type":"number","format":"double","description":"Longitude de la fiche"},"last_updated_user_id":{"type":"integer","description":"Identifiant du dernier utilisateur ayant modifié la fiche"},"current_state":{"type":"string","format":"uuid","nullable":true,"description":"UUID de l'état de workflow courant (null si pas de workflow)"},"assigned_user":{"$ref":"#/components/schemas/UserRef"},"subscribers":{"type":"array","items":{},"description":"Utilisateurs abonnés à la fiche"},"settings":{"type":"array","items":{}}}},"UserRef":{"type":"object","description":"Référence à un utilisateur","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"first_name":{"type":"string","description":"Prénom"},"last_name":{"type":"string","description":"Nom"},"groups":{"type":"array","items":{},"description":"Groupes de l'utilisateur"},"system_groups":{"type":"array","items":{},"description":"Groupes système de l'utilisateur"}}}}},"paths":{"/{app_short}/submissions/search":{"post":{"summary":"Rechercher des fiches","description":"Retourne les fiches correspondant aux critères de recherche par champ.\nChaque champ ne peut apparaître qu'une seule fois. La casse des opérateurs est significative.\n\n| Opérateur | Types de champs compatibles |\n|---|---|\n| `equal` / `notequal` | texte, nombre, booléen, date, email, téléphone |\n| `isNull` / `isNotNull` | tous |\n| `less` / `greater` / `lesseq` / `greatereq` | nombre |\n| `contains` / `notContains` / `startWith` / `endWith` | texte, email, téléphone |\n| `in` | liste, utilisateur, texte |\n| `range` | nombre, date |\n","tags":["submissions"],"operationId":"searchSubmissions","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"structure_id","in":"query","required":true,"description":"Identifiant du formulaire","schema":{"type":"integer"}},{"name":"per_page","in":"query","description":"Nombre de fiches par page","schema":{"type":"integer"}},{"name":"page","in":"query","description":"Numéro de la page demandée","schema":{"type":"integer"}},{"name":"last_updated_user_id","in":"query","description":"Filtrer par l'identifiant de l'utilisateur ayant effectué la dernière modification","schema":{"type":"integer"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchCriteria"}}}},"responses":{"200":{"description":"Fiches correspondantes","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionListResponse"}}}}}}}}}
```

## Créer plusieurs fiches (asynchrone)

> Crée jusqu'à 100 fiches de manière asynchrone. Interrogez le \`callbackUrl\` pour suivre l'avancement.

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"SubmissionInput":{"type":"object","required":["structure_id","structure_version","items"],"properties":{"id":{"type":"string","format":"uuid","description":"Généré automatiquement par le serveur si omis"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (défaut : maintenant)"},"updated_at":{"type":"integer","format":"int64","description":"Date de dernière modification (défaut : maintenant)"},"trigger_id":{"type":"string","format":"uuid","description":"Transition de workflow à appliquer (PUT/PATCH uniquement)"},"substitute_user_id":{"type":"integer","description":"Optionnel. Définit un autre utilisateur comme créateur/propriétaire. L'utilisateur authentifié est toujours tracé dans l'historique."},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire avec pour clé le nom système du champ"}}},"CallbackUrlResponse":{"type":"object","properties":{"callbackUrl":{"type":"string","description":"URL à interroger pour suivre l'avancement du job asynchrone"}}},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string","description":"Code d'erreur unique préfixé par `DAERR-`"},"message":{"type":"string","description":"Description lisible de l'erreur"},"url":{"type":"string","format":"uri","description":"Lien vers la documentation détaillée de l'erreur"},"api_version":{"type":"string"},"infos":{"type":"array","items":{},"description":"Informations contextuelles supplémentaires (peut être vide)"},"server_time":{"type":"string","description":"Timestamp Unix sous forme de chaîne"}}}}},"paths":{"/{app_short}/submissions/multiple":{"post":{"summary":"Créer plusieurs fiches (asynchrone)","description":"Crée jusqu'à 100 fiches de manière asynchrone. Interrogez le `callbackUrl` pour suivre l'avancement.","tags":["submissions"],"operationId":"createMultipleSubmissions","parameters":[{"$ref":"#/components/parameters/AppShort"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","maxItems":100,"items":{"$ref":"#/components/schemas/SubmissionInput"}}}}},"responses":{"200":{"description":"Job asynchrone accepté","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackUrlResponse"}}}},"400":{"description":"Corps vide ou plus de 100 fiches","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Mettre à jour plusieurs fiches (asynchrone)

> Met à jour jusqu'à 100 fiches de manière asynchrone. Interrogez le \`callbackUrl\` pour suivre l'avancement.

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"SubmissionInput":{"type":"object","required":["structure_id","structure_version","items"],"properties":{"id":{"type":"string","format":"uuid","description":"Généré automatiquement par le serveur si omis"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (défaut : maintenant)"},"updated_at":{"type":"integer","format":"int64","description":"Date de dernière modification (défaut : maintenant)"},"trigger_id":{"type":"string","format":"uuid","description":"Transition de workflow à appliquer (PUT/PATCH uniquement)"},"substitute_user_id":{"type":"integer","description":"Optionnel. Définit un autre utilisateur comme créateur/propriétaire. L'utilisateur authentifié est toujours tracé dans l'historique."},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire avec pour clé le nom système du champ"}}},"CallbackUrlResponse":{"type":"object","properties":{"callbackUrl":{"type":"string","description":"URL à interroger pour suivre l'avancement du job asynchrone"}}},"ErrorResponse":{"type":"object","properties":{"code":{"type":"string","description":"Code d'erreur unique préfixé par `DAERR-`"},"message":{"type":"string","description":"Description lisible de l'erreur"},"url":{"type":"string","format":"uri","description":"Lien vers la documentation détaillée de l'erreur"},"api_version":{"type":"string"},"infos":{"type":"array","items":{},"description":"Informations contextuelles supplémentaires (peut être vide)"},"server_time":{"type":"string","description":"Timestamp Unix sous forme de chaîne"}}}}},"paths":{"/{app_short}/submissions/multiple":{"put":{"summary":"Mettre à jour plusieurs fiches (asynchrone)","description":"Met à jour jusqu'à 100 fiches de manière asynchrone. Interrogez le `callbackUrl` pour suivre l'avancement.","tags":["submissions"],"operationId":"updateMultipleSubmissions","parameters":[{"$ref":"#/components/parameters/AppShort"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"array","maxItems":100,"items":{"$ref":"#/components/schemas/SubmissionInput"}}}}},"responses":{"200":{"description":"Job asynchrone accepté","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CallbackUrlResponse"}}}},"400":{"description":"Corps vide ou plus de 100 fiches","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ErrorResponse"}}}}}}}}}
```

## Consulter le statut d'un job asynchrone de fiches

> Retourne le statut courant et les résultats par fiche d'un job de création ou de mise à jour multiple.

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"SubmissionCallbackResponse":{"type":"object","properties":{"callbackDetails":{"type":"object","properties":{"status":{"type":"string","enum":["Planned","Running","Finished","Finished with errors","Failed","In timeout"],"description":"Statut courant du job"},"nbRecordsTodo":{"type":"integer","description":"Nombre de fiches à traiter"},"nbRecordsDone":{"type":"integer","description":"Nombre de fiches déjà traitées"},"nbSuccess":{"type":"integer","description":"Nombre de fiches traitées sans erreur"},"nbErrors":{"type":"integer","description":"Nombre de fiches en erreur"},"success":{"type":"array","items":{"type":"string","format":"uuid"},"description":"UUIDs des fiches traitées avec succès"},"errors":{"type":"array","items":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}},"description":"Erreurs par fiche"}}}}}}},"paths":{"/{app_short}/submissions/multiple/callback/{callback_id}":{"get":{"summary":"Consulter le statut d'un job asynchrone de fiches","description":"Retourne le statut courant et les résultats par fiche d'un job de création ou de mise à jour multiple.","tags":["submissions"],"operationId":"getMultipleSubmissionsCallback","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"callback_id","in":"path","required":true,"description":"Identifiant de callback retourné par l'endpoint asynchrone","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Statut et détails du job","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionCallbackResponse"}}}}}}}}}
```

## Envoyer un fichier pour une fiche

> Envoie un fichier à lier à un champ de fiche (image, signature ou fichier).\
> Une fois lié, le fichier ne peut plus être réutilisé dans une autre fiche.\
> Utilisez l'\`uuid\` retourné dans le champ correspondant.<br>

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"FileUploadResponse":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"Référencez cet UUID dans les champs de fiche de type image/signature/fichier"},"mime-type":{"type":"string","description":"Type MIME du fichier"},"size":{"type":"integer","description":"Taille du fichier en octets"}}}}},"paths":{"/{app_short}/submissions/upload":{"post":{"summary":"Envoyer un fichier pour une fiche","description":"Envoie un fichier à lier à un champ de fiche (image, signature ou fichier).\nUne fois lié, le fichier ne peut plus être réutilisé dans une autre fiche.\nUtilisez l'`uuid` retourné dans le champ correspondant.\n","tags":["submissions"],"operationId":"uploadSubmissionFile","parameters":[{"$ref":"#/components/parameters/AppShort"}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Fichier envoyé — utilisez l'`uuid` retourné dans le champ de la fiche","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileUploadResponse"}}}}}}}}}
```

## Envoyer un fichier avec son identifiant et celui de la fiche

> Alternative à l'envoi simple — précisez directement l'UUID de la fiche et l'UUID du fichier.

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"FileUploadResponse":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"Référencez cet UUID dans les champs de fiche de type image/signature/fichier"},"mime-type":{"type":"string","description":"Type MIME du fichier"},"size":{"type":"integer","description":"Taille du fichier en octets"}}}}},"paths":{"/{app_short}/submissions/upload/{submissionId}/{fileId}":{"post":{"summary":"Envoyer un fichier avec son identifiant et celui de la fiche","description":"Alternative à l'envoi simple — précisez directement l'UUID de la fiche et l'UUID du fichier.","tags":["submissions"],"operationId":"uploadSubmissionFileWithIds","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"submissionId","in":"path","required":true,"description":"Identifiant de la fiche (UUID)","schema":{"type":"string","format":"uuid"}},{"name":"fileId","in":"path","required":true,"description":"Identifiant du fichier (UUID)","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}},"responses":{"200":{"description":"Fichier envoyé","content":{"application/json":{"schema":{"$ref":"#/components/schemas/FileUploadResponse"}}}}}}}}}
```

## GET /{app\_short}/submissions/{id}

> Récupérer une fiche

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"Submission":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identifiant de la fiche"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (timestamp UNIX)"},"updated_at":{"type":"integer","format":"int64","description":"Date de mise à jour (timestamp UNIX)"},"data_created_at":{"type":"integer","format":"int64","description":"Date de création des données sur le serveur"},"data_updated_at":{"type":"integer","format":"int64","description":"Date de dernière mise à jour des données sur le serveur"},"user_id":{"type":"integer","description":"Propriétaire de la fiche"},"channels":{"type":"array","items":{"type":"string"},"description":"Conditions remplies par la fiche"},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire clé/valeur dont la clé est le nom système du champ.\n\n**Types simples :** texte/email → chaîne | nombre → flottant | booléen → bool |\ndate → timestamp UNIX | durée → ms | téléphone → RFC 3966\n\n**location :** `{lat, lng, address}`\n\n**image/signature/fichier :** `[{id, name, mimeType, extension, size, comment}]`\n\n**liste :** `[id, …]`\n\n**relation :** `{submissions: [{id, count?}, …]}`\n\n**utilisateur :** `[{id}, …]`\n"},"submission_number":{"type":"integer","description":"Numéro séquentiel global"},"number_in_structure":{"type":"integer","description":"Numéro séquentiel au sein du formulaire"},"latitude":{"type":"number","format":"double","description":"Latitude de la fiche"},"longitude":{"type":"number","format":"double","description":"Longitude de la fiche"},"last_updated_user_id":{"type":"integer","description":"Identifiant du dernier utilisateur ayant modifié la fiche"},"current_state":{"type":"string","format":"uuid","nullable":true,"description":"UUID de l'état de workflow courant (null si pas de workflow)"},"assigned_user":{"$ref":"#/components/schemas/UserRef"},"subscribers":{"type":"array","items":{},"description":"Utilisateurs abonnés à la fiche"},"settings":{"type":"array","items":{}}}},"UserRef":{"type":"object","description":"Référence à un utilisateur","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"first_name":{"type":"string","description":"Prénom"},"last_name":{"type":"string","description":"Nom"},"groups":{"type":"array","items":{},"description":"Groupes de l'utilisateur"},"system_groups":{"type":"array","items":{},"description":"Groupes système de l'utilisateur"}}}}},"paths":{"/{app_short}/submissions/{id}":{"get":{"summary":"Récupérer une fiche","tags":["submissions"],"operationId":"getSubmission","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"id","in":"path","required":true,"description":"Identifiant de la fiche (UUID)","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Objet fiche","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}}}}}}}}
```

## Mettre à jour une fiche

> Remplace les données d'une fiche. Pour les formulaires avec workflow, incluez\
> \`trigger\_id\` pour faire avancer l'état. Les fiches dans un état final ne peuvent\
> plus être modifiées.<br>

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"SubmissionInput":{"type":"object","required":["structure_id","structure_version","items"],"properties":{"id":{"type":"string","format":"uuid","description":"Généré automatiquement par le serveur si omis"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (défaut : maintenant)"},"updated_at":{"type":"integer","format":"int64","description":"Date de dernière modification (défaut : maintenant)"},"trigger_id":{"type":"string","format":"uuid","description":"Transition de workflow à appliquer (PUT/PATCH uniquement)"},"substitute_user_id":{"type":"integer","description":"Optionnel. Définit un autre utilisateur comme créateur/propriétaire. L'utilisateur authentifié est toujours tracé dans l'historique."},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire avec pour clé le nom système du champ"}}},"Submission":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identifiant de la fiche"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (timestamp UNIX)"},"updated_at":{"type":"integer","format":"int64","description":"Date de mise à jour (timestamp UNIX)"},"data_created_at":{"type":"integer","format":"int64","description":"Date de création des données sur le serveur"},"data_updated_at":{"type":"integer","format":"int64","description":"Date de dernière mise à jour des données sur le serveur"},"user_id":{"type":"integer","description":"Propriétaire de la fiche"},"channels":{"type":"array","items":{"type":"string"},"description":"Conditions remplies par la fiche"},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire clé/valeur dont la clé est le nom système du champ.\n\n**Types simples :** texte/email → chaîne | nombre → flottant | booléen → bool |\ndate → timestamp UNIX | durée → ms | téléphone → RFC 3966\n\n**location :** `{lat, lng, address}`\n\n**image/signature/fichier :** `[{id, name, mimeType, extension, size, comment}]`\n\n**liste :** `[id, …]`\n\n**relation :** `{submissions: [{id, count?}, …]}`\n\n**utilisateur :** `[{id}, …]`\n"},"submission_number":{"type":"integer","description":"Numéro séquentiel global"},"number_in_structure":{"type":"integer","description":"Numéro séquentiel au sein du formulaire"},"latitude":{"type":"number","format":"double","description":"Latitude de la fiche"},"longitude":{"type":"number","format":"double","description":"Longitude de la fiche"},"last_updated_user_id":{"type":"integer","description":"Identifiant du dernier utilisateur ayant modifié la fiche"},"current_state":{"type":"string","format":"uuid","nullable":true,"description":"UUID de l'état de workflow courant (null si pas de workflow)"},"assigned_user":{"$ref":"#/components/schemas/UserRef"},"subscribers":{"type":"array","items":{},"description":"Utilisateurs abonnés à la fiche"},"settings":{"type":"array","items":{}}}},"UserRef":{"type":"object","description":"Référence à un utilisateur","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"first_name":{"type":"string","description":"Prénom"},"last_name":{"type":"string","description":"Nom"},"groups":{"type":"array","items":{},"description":"Groupes de l'utilisateur"},"system_groups":{"type":"array","items":{},"description":"Groupes système de l'utilisateur"}}}}},"paths":{"/{app_short}/submissions/{id}":{"put":{"summary":"Mettre à jour une fiche","description":"Remplace les données d'une fiche. Pour les formulaires avec workflow, incluez\n`trigger_id` pour faire avancer l'état. Les fiches dans un état final ne peuvent\nplus être modifiées.\n","tags":["submissions"],"operationId":"updateSubmission","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"id","in":"path","required":true,"description":"Identifiant de la fiche (UUID)","schema":{"type":"string","format":"uuid"}},{"name":"partial","in":"query","description":"Si `true`, ignore les permissions de champs (requis / modifiable)","schema":{"type":"boolean"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionInput"}}}},"responses":{"200":{"description":"Fiche mise à jour","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}}}}}}}}
```

## DELETE /{app\_short}/submissions/{id}

> Supprimer une fiche

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}}},"paths":{"/{app_short}/submissions/{id}":{"delete":{"summary":"Supprimer une fiche","tags":["submissions"],"operationId":"deleteSubmission","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"id","in":"path","required":true,"description":"Identifiant de la fiche (UUID)","schema":{"type":"string","format":"uuid"}}],"responses":{"204":{"description":"Fiche supprimée"}}}}}}
```

## Mettre à jour une fiche partiellement

> Met à jour uniquement les \`items\` fournis. Tous les autres champs restent inchangés.

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}},"schemas":{"SubmissionInput":{"type":"object","required":["structure_id","structure_version","items"],"properties":{"id":{"type":"string","format":"uuid","description":"Généré automatiquement par le serveur si omis"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (défaut : maintenant)"},"updated_at":{"type":"integer","format":"int64","description":"Date de dernière modification (défaut : maintenant)"},"trigger_id":{"type":"string","format":"uuid","description":"Transition de workflow à appliquer (PUT/PATCH uniquement)"},"substitute_user_id":{"type":"integer","description":"Optionnel. Définit un autre utilisateur comme créateur/propriétaire. L'utilisateur authentifié est toujours tracé dans l'historique."},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire avec pour clé le nom système du champ"}}},"Submission":{"type":"object","properties":{"id":{"type":"string","format":"uuid","description":"Identifiant de la fiche"},"structure_id":{"type":"integer","description":"Identifiant du formulaire"},"structure_version":{"type":"integer","description":"Version du formulaire"},"created_at":{"type":"integer","format":"int64","description":"Date de création (timestamp UNIX)"},"updated_at":{"type":"integer","format":"int64","description":"Date de mise à jour (timestamp UNIX)"},"data_created_at":{"type":"integer","format":"int64","description":"Date de création des données sur le serveur"},"data_updated_at":{"type":"integer","format":"int64","description":"Date de dernière mise à jour des données sur le serveur"},"user_id":{"type":"integer","description":"Propriétaire de la fiche"},"channels":{"type":"array","items":{"type":"string"},"description":"Conditions remplies par la fiche"},"items":{"type":"object","additionalProperties":true,"description":"Dictionnaire clé/valeur dont la clé est le nom système du champ.\n\n**Types simples :** texte/email → chaîne | nombre → flottant | booléen → bool |\ndate → timestamp UNIX | durée → ms | téléphone → RFC 3966\n\n**location :** `{lat, lng, address}`\n\n**image/signature/fichier :** `[{id, name, mimeType, extension, size, comment}]`\n\n**liste :** `[id, …]`\n\n**relation :** `{submissions: [{id, count?}, …]}`\n\n**utilisateur :** `[{id}, …]`\n"},"submission_number":{"type":"integer","description":"Numéro séquentiel global"},"number_in_structure":{"type":"integer","description":"Numéro séquentiel au sein du formulaire"},"latitude":{"type":"number","format":"double","description":"Latitude de la fiche"},"longitude":{"type":"number","format":"double","description":"Longitude de la fiche"},"last_updated_user_id":{"type":"integer","description":"Identifiant du dernier utilisateur ayant modifié la fiche"},"current_state":{"type":"string","format":"uuid","nullable":true,"description":"UUID de l'état de workflow courant (null si pas de workflow)"},"assigned_user":{"$ref":"#/components/schemas/UserRef"},"subscribers":{"type":"array","items":{},"description":"Utilisateurs abonnés à la fiche"},"settings":{"type":"array","items":{}}}},"UserRef":{"type":"object","description":"Référence à un utilisateur","properties":{"id":{"type":"integer"},"email":{"type":"string","format":"email"},"first_name":{"type":"string","description":"Prénom"},"last_name":{"type":"string","description":"Nom"},"groups":{"type":"array","items":{},"description":"Groupes de l'utilisateur"},"system_groups":{"type":"array","items":{},"description":"Groupes système de l'utilisateur"}}}}},"paths":{"/{app_short}/submissions/{id}":{"patch":{"summary":"Mettre à jour une fiche partiellement","description":"Met à jour uniquement les `items` fournis. Tous les autres champs restent inchangés.","tags":["submissions"],"operationId":"patchSubmission","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"id","in":"path","required":true,"description":"Identifiant de la fiche (UUID)","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionInput"}}}},"responses":{"200":{"description":"Fiche complète mise à jour retournée","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Submission"}}}}}}}}}
```

## GET /{app\_short}/submissions/{id}/file/{file\_id}

> Récupérer un fichier lié à une fiche

```json
{"openapi":"3.0.3","info":{"title":"Daxium Air API","version":"v1.3"},"tags":[{"name":"submissions"}],"servers":[{"url":"https://api.daxium-air.com","description":"Production"}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer"}},"parameters":{"AppShort":{"name":"app_short","in":"path","required":true,"description":"Nom court de l'instance (ex. `daxium-test`)","schema":{"type":"string"}}}},"paths":{"/{app_short}/submissions/{id}/file/{file_id}":{"get":{"summary":"Récupérer un fichier lié à une fiche","tags":["submissions"],"operationId":"getSubmissionFile","parameters":[{"$ref":"#/components/parameters/AppShort"},{"name":"id","in":"path","required":true,"description":"Identifiant de la fiche (UUID)","schema":{"type":"string","format":"uuid"}},{"name":"file_id","in":"path","required":true,"description":"Identifiant du fichier (UUID)","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Contenu binaire du fichier","content":{"application/octet-stream":{"schema":{"type":"string","format":"binary"}}}}}}}}}
```


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

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

The question should be specific, self-contained, and written in natural language.
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.
