---
title: "managedTypedFieldV2"
url: https://developers.dagio.ai/fr/reference/managed-typed-field-v2/
---

# managedTypedFieldV2

   
                            
                                                                              
                                        
                  
           
          
   

Cette référence décrit la structure complète de `managedTypedFieldV2`. Chaque chemin représente une propriété, y compris les objets imbriqués, les éléments de listes et les branches conditionnelles. Une branche identifiée par `kind`, `contract` ou `mode` n’admet que ses propres propriétés.

## Structure et valeurs

| Champ | Options / valeurs attendues | Description |
| --- | --- | --- |
| `contract` | `"ManagedTypedField@2"` | **Requis.** Discriminant exact de cette variante du contrat. Respecter la valeur littérale indiquée. |
| `key` | `string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `type` | `"integer" \| "real" \| "choice" \| "object" \| "list"` | **Requis.** Définit « type » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `required` | `true \| false` | **Requis.** Indique si cette déclaration exige une valeur. |
| `repeatable` | `true \| false` | **Requis.** Indique si plusieurs valeurs ou instances sont admises. |
| `nullable` | `true \| false` | **Requis.** Définit « nullable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema` | `closed object OR closed object OR closed object OR closed object OR closed object` | **Requis.** Définit « schema » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=integer].kind` | `"integer"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=integer].minimum` | `string; max length 1001; /^(?:0\|-?[1-9][0-9]{0,999})(?![\s\S])/u` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=integer].maximum` | `string; max length 1001; /^(?:0\|-?[1-9][0-9]{0,999})(?![\s\S])/u` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=integer].unit` | `closed object OR closed object OR closed object` | **Requis.** Définit « unit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=integer].unit.[kind=dimensionless].kind` | `"dimensionless"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=integer].unit.[kind=unit].kind` | `"unit"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=integer].unit.[kind=unit].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=integer].unit.[kind=currency].kind` | `"currency"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=integer].unit.[kind=currency].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=real].kind` | `"real"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=real].representation` | `"binary64"` | **Requis.** Définit « representation » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=real].precisionBits` | `53` | **Requis.** Définit « precision Bits » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=real].minimum` | `number` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=real].maximum` | `number` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=real].tolerance` | `closed object` | **Requis.** Définit « tolerance » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=real].tolerance.absolute` | `number; ≥ 0` | **Requis.** Définit « absolute » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=real].tolerance.relative` | `number; ≥ 0` | **Requis.** Définit « relative » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=real].unit` | `closed object OR closed object` | **Requis.** Définit « unit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=real].unit.[kind=dimensionless].kind` | `"dimensionless"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=real].unit.[kind=unit].kind` | `"unit"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=real].unit.[kind=unit].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=choice].kind` | `"choice"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=choice].labelLocale` | `string; min length 2; max length 100; /^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*(?![\s\S])/u` | **Requis.** Définit « label Locale » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=choice].choices` | `Array<closed object>; min length 1; max length 1000` | **Requis.** Définit « choices » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=choice].choices[].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*(?![\s\S])/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=choice].choices[].labels` | `Record<string; min length 2; max length 100; /^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*(?![\s\S])/u, string; min length 1; max length 4000>` | **Requis.** Définit « labels » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].kind` | `"object"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties` | `Array<closed object>; max length 100` | **Requis.** Définit « properties » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].key` | `string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=object].properties[].required` | `true \| false` | **Requis.** Indique si cette déclaration exige une valeur. |
| `schema.[kind=object].properties[].nullable` | `true \| false` | **Requis.** Définit « nullable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema` | `recursive reference` | **Requis.** Définit « schema » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=text].kind` | `"text"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=text].minimumLength` | `integer; ≥ 0; ≤ 1000000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=text].maximumLength` | `integer; ≥ 0; ≤ 1000000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=boolean].kind` | `"boolean"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=integer].kind` | `"integer"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=integer].minimum` | `string; max length 1001; /^(?:0\|-?[1-9][0-9]{0,999})(?![\s\S])/u` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=integer].maximum` | `string; max length 1001; /^(?:0\|-?[1-9][0-9]{0,999})(?![\s\S])/u` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=integer].unit` | `closed object OR closed object OR closed object` | **Requis.** Définit « unit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=integer].unit.[kind=dimensionless].kind` | `"dimensionless"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=integer].unit.[kind=unit].kind` | `"unit"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=integer].unit.[kind=unit].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=object].properties[].schema.[kind=integer].unit.[kind=currency].kind` | `"currency"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=integer].unit.[kind=currency].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=object].properties[].schema.[kind=real].kind` | `"real"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=real].representation` | `"binary64"` | **Requis.** Définit « representation » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=real].precisionBits` | `53` | **Requis.** Définit « precision Bits » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=real].minimum` | `number` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=real].maximum` | `number` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=real].tolerance` | `closed object` | **Requis.** Définit « tolerance » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=real].tolerance.absolute` | `number; ≥ 0` | **Requis.** Définit « absolute » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=real].tolerance.relative` | `number; ≥ 0` | **Requis.** Définit « relative » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=real].unit` | `closed object OR closed object` | **Requis.** Définit « unit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=real].unit.[kind=dimensionless].kind` | `"dimensionless"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=real].unit.[kind=unit].kind` | `"unit"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=real].unit.[kind=unit].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=object].properties[].schema.[kind=choice].kind` | `"choice"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=choice].labelLocale` | `string; min length 2; max length 100; /^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*(?![\s\S])/u` | **Requis.** Définit « label Locale » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=choice].choices` | `Array<closed object>; min length 1; max length 1000` | **Requis.** Définit « choices » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=choice].choices[].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*(?![\s\S])/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=object].properties[].schema.[kind=choice].choices[].labels` | `Record<string; min length 2; max length 100; /^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*(?![\s\S])/u, string; min length 1; max length 4000>` | **Requis.** Définit « labels » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=decimal].precision` | `integer; ≥ 1; ≤ 1000` | **Requis.** Définit « precision » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=decimal].scale` | `integer; ≥ 0; ≤ 1000` | **Requis.** Définit « scale » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=decimal].kind` | `"decimal"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=decimal].unit` | `closed object OR closed object OR closed object` | **Requis.** Définit « unit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=decimal].unit.[kind=dimensionless].kind` | `"dimensionless"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=decimal].unit.[kind=unit].kind` | `"unit"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=decimal].unit.[kind=unit].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=object].properties[].schema.[kind=decimal].unit.[kind=currency].kind` | `"currency"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=decimal].unit.[kind=currency].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=object].properties[].schema.[kind=decimal].minimum` | `string; max length 1003; optional` | Facultatif. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=decimal].maximum` | `string; max length 1003; optional` | Facultatif. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=object].kind` | `"object"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=object].properties` | `Array<closed object>; max length 100` | **Requis.** Définit « properties » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=object].properties[].key` | `string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=object].properties[].schema.[kind=object].properties[].required` | `true \| false` | **Requis.** Indique si cette déclaration exige une valeur. |
| `schema.[kind=object].properties[].schema.[kind=object].properties[].nullable` | `true \| false` | **Requis.** Définit « nullable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=object].properties[].schema` | `recursive reference` | **Requis.** Définit « schema » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=object].properties[].schema ↻` | `recursive reference to parent expression` | Facultatif. Définit « schema ↻ » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=list].kind` | `"list"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=object].properties[].schema.[kind=list].minimumItems` | `integer; ≥ 0; ≤ 1000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=list].maximumItems` | `integer; ≥ 0; ≤ 1000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=object].properties[].schema.[kind=list].itemsNullable` | `true \| false` | **Requis.** Définit « items Nullable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=list].items` | `recursive reference` | **Requis.** Définit « items » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=object].properties[].schema.[kind=list].items ↻` | `recursive reference to parent expression` | Facultatif. Définit « items ↻ » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].kind` | `"list"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].minimumItems` | `integer; ≥ 0; ≤ 1000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].maximumItems` | `integer; ≥ 0; ≤ 1000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].itemsNullable` | `true \| false` | **Requis.** Définit « items Nullable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items` | `recursive reference` | **Requis.** Définit « items » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=text].kind` | `"text"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=text].minimumLength` | `integer; ≥ 0; ≤ 1000000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=text].maximumLength` | `integer; ≥ 0; ≤ 1000000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=boolean].kind` | `"boolean"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=integer].kind` | `"integer"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=integer].minimum` | `string; max length 1001; /^(?:0\|-?[1-9][0-9]{0,999})(?![\s\S])/u` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=integer].maximum` | `string; max length 1001; /^(?:0\|-?[1-9][0-9]{0,999})(?![\s\S])/u` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=integer].unit` | `closed object OR closed object OR closed object` | **Requis.** Définit « unit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=integer].unit.[kind=dimensionless].kind` | `"dimensionless"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=integer].unit.[kind=unit].kind` | `"unit"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=integer].unit.[kind=unit].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=list].items.[kind=integer].unit.[kind=currency].kind` | `"currency"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=integer].unit.[kind=currency].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=list].items.[kind=real].kind` | `"real"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=real].representation` | `"binary64"` | **Requis.** Définit « representation » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=real].precisionBits` | `53` | **Requis.** Définit « precision Bits » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=real].minimum` | `number` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=real].maximum` | `number` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=real].tolerance` | `closed object` | **Requis.** Définit « tolerance » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=real].tolerance.absolute` | `number; ≥ 0` | **Requis.** Définit « absolute » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=real].tolerance.relative` | `number; ≥ 0` | **Requis.** Définit « relative » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=real].unit` | `closed object OR closed object` | **Requis.** Définit « unit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=real].unit.[kind=dimensionless].kind` | `"dimensionless"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=real].unit.[kind=unit].kind` | `"unit"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=real].unit.[kind=unit].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=list].items.[kind=choice].kind` | `"choice"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=choice].labelLocale` | `string; min length 2; max length 100; /^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*(?![\s\S])/u` | **Requis.** Définit « label Locale » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=choice].choices` | `Array<closed object>; min length 1; max length 1000` | **Requis.** Définit « choices » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=choice].choices[].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*(?![\s\S])/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=list].items.[kind=choice].choices[].labels` | `Record<string; min length 2; max length 100; /^[A-Za-z]{2,8}(?:-[A-Za-z0-9]{1,8})*(?![\s\S])/u, string; min length 1; max length 4000>` | **Requis.** Définit « labels » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=decimal].precision` | `integer; ≥ 1; ≤ 1000` | **Requis.** Définit « precision » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=decimal].scale` | `integer; ≥ 0; ≤ 1000` | **Requis.** Définit « scale » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=decimal].kind` | `"decimal"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=decimal].unit` | `closed object OR closed object OR closed object` | **Requis.** Définit « unit » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=decimal].unit.[kind=dimensionless].kind` | `"dimensionless"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=decimal].unit.[kind=unit].kind` | `"unit"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=decimal].unit.[kind=unit].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=list].items.[kind=decimal].unit.[kind=currency].kind` | `"currency"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=decimal].unit.[kind=currency].key` | `string; min length 1; max length 120; /^[a-z][a-z0-9-]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=list].items.[kind=decimal].minimum` | `string; max length 1003; optional` | Facultatif. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=decimal].maximum` | `string; max length 1003; optional` | Facultatif. Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=object].kind` | `"object"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=object].properties` | `Array<closed object>; max length 100` | **Requis.** Définit « properties » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=object].properties[].key` | `string; min length 1; max length 120; /^[a-zA-Z][a-zA-Z0-9]*$/u` | **Requis.** Identifiant sémantique stable utilisé par les références; le modifier change l’identité. |
| `schema.[kind=list].items.[kind=object].properties[].required` | `true \| false` | **Requis.** Indique si cette déclaration exige une valeur. |
| `schema.[kind=list].items.[kind=object].properties[].nullable` | `true \| false` | **Requis.** Définit « nullable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=object].properties[].schema` | `recursive reference` | **Requis.** Définit « schema » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=object].properties[].schema ↻` | `recursive reference to parent expression` | Facultatif. Définit « schema ↻ » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=list].kind` | `"list"` | **Requis.** Sélectionne la variante et les propriétés admises dans cette branche. |
| `schema.[kind=list].items.[kind=list].minimumItems` | `integer; ≥ 0; ≤ 1000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=list].maximumItems` | `integer; ≥ 0; ≤ 1000` | **Requis.** Borne de cardinalité ou de budget pour la ressource nommée. Les dépassements sont refusés; null signifie une absence de borne uniquement lorsque le schéma l’admet. |
| `schema.[kind=list].items.[kind=list].itemsNullable` | `true \| false` | **Requis.** Définit « items Nullable » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=list].items` | `recursive reference` | **Requis.** Définit « items » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `schema.[kind=list].items.[kind=list].items ↻` | `recursive reference to parent expression` | Facultatif. Définit « items ↻ » pour cet objet. Respecter le type, les variantes et les limites de la colonne Options. |
| `default` | `recursive reference; optional` | Facultatif. Valeur initiale conforme au type déclaré; ne remplace pas une valeur déjà enregistrée. |

## Règles de lecture

Les chemins suffixés par `[]` décrivent chaque élément d’une liste; `{key}` décrit chaque valeur d’un dictionnaire. Le symbole `↻` renvoie à la même expression récursive. Un objet fermé refuse les propriétés supplémentaires. Les mentions de validation sémantique signalent un contrôle complémentaire : la conformité des types ne suffit pas à rendre une référence, une permission ou une transition valide. Les références doivent être résolues dans le Model et le contexte de l’usager.

La présence d’une ancienne variante ne permet pas d’y ajouter une propriété d’une variante plus récente. Le compilateur contrôle la version et la cohérence du Model complet.

## Exemple de structure

Ce fragment respecte le schéma de cette section. Ses références métier doivent être définies dans le Model qui l’utilise.

```json
{
  "contract": "ManagedTypedField@2",
  "key": "wordTarget",
  "type": "integer",
  "required": false,
  "repeatable": false,
  "nullable": false,
  "schema": {
    "kind": "integer",
    "minimum": "0",
    "maximum": "1000000000",
    "unit": {
      "kind": "unit",
      "key": "word"
    }
  }
}
```

## Références associées

[Index complet du Model](https://developers.dagio.ai/fr/reference/) · [Construire un Model](https://developers.dagio.ai/fr/models/)

<!-- surface-examples:start -->

## Exemples appliqués : Texte requis et choix métier

Entreprise utilise une saisie texte obligatoire; État réutilise une liste de valeurs déclarées.

### Configuration

Objet du contrat `managedTypedFieldV2`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/managed-typed-field-v2/).

```json
{
  "contract": "ManagedTypedField@2",
  "key": "wordTarget",
  "type": "integer",
  "required": false,
  "repeatable": false,
  "nullable": false,
  "schema": {
    "kind": "integer",
    "minimum": "0",
    "maximum": "1000000000",
    "unit": {
      "kind": "unit",
      "key": "word"
    }
  }
}
```

### Variante et raccordement

Fragment à placer dans `forms[].fields[]`. [Propriétés et valeurs admises](https://developers.dagio.ai/fr/reference/workspace-model-foundation/).

```json
{
  "contract": "WorkspaceFormControl@2",
  "repeatable": false,
  "key": "status",
  "label": "État",
  "input": "choice",
  "binding": {
    "kind": "field",
    "fieldKey": "status"
  },
  "required": true,
  "ruleKeys": [],
  "options": [
    "prospect",
    "active"
  ]
}
```

### Exemple de disposition UI

La disposition illustrative ci-dessous situe cette configuration dans l’app Clients/Soumissions. Chaque fragment s’insère à l’emplacement indiqué; ses références aux Fields, Queries et Actions correspondent aux déclarations du Model.

1. Identité du client
2. Notes et suivi
3. Paramètres
4. Soumissions liées

<!-- surface-examples:end -->
