> ## Documentation Index
> Fetch the complete documentation index at: https://developers.hubspot.fr/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get a form definition

> Renvoie un formulaire basé sur l'ID de formulaire fourni.

export const ScopesList = ({scopes = [], description = "Cette API requiert l'une des portées suivantes :"}) => {
  if (!scopes || scopes.length === 0) {
    return null;
  }
  const sortedScopes = scopes.sort((a, b) => a.localeCompare(b));
  return <div>
      <div className="text-sm mb-2">{description}</div>
      <div>
        {sortedScopes.map((scope, index) => <div key={index}>
            <code>
              <span className="text-xs">{scope}</span>
            </code>
          </div>)}
      </div>
    </div>;
};

export const SupportedProducts = ({marketing, sales, service, cms, marketingLevel, salesLevel, serviceLevel, cmsLevel}) => {
  const translations = {
    header: "Produits pris en charge",
    description: "Exige l'un des produits suivants ou un produit supérieur.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Gratuit",
      starter: "Starter",
      professional: "Pro",
      enterprise: "Entreprise"
    }
  };
  const translateTier = tier => {
    if (!tier) return '';
    const lowerTier = tier.toLowerCase();
    return translations.tiers[lowerTier] || tier;
  };
  const products = [{
    name: marketing ? translations.productNames.marketing : '',
    level: translateTier(marketingLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/marketing-bolt.svg",
    alt: "Marketing Hub"
  }, {
    name: sales ? translations.productNames.sales : '',
    level: translateTier(salesLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/sales-star.svg",
    alt: "Sales Hub"
  }, {
    name: service ? translations.productNames.service : '',
    level: translateTier(serviceLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/service-heart.svg",
    alt: "Service Hub"
  }, {
    name: cms ? translations.productNames.cms : '',
    level: translateTier(cmsLevel),
    icon: "https://mintlify-assets.b-cdn.net/Icons/content-play.svg",
    alt: "Content Hub"
  }].filter(product => product.name && product.level);
  if (products.length === 0) return null;
  return <div>
      <div className="text-sm mb-2">{translations.description}</div>
      <div className={`grid ${products.length === 1 ? 'grid-cols-1' : 'grid-cols-2'} gap-1.5`}>
        {products.map((product, index) => <div key={index} style={{
    display: 'flex',
    alignItems: 'center'
  }}>
            <img src={product.icon} alt={product.alt} className="w-3.5 h-3.5 mr-1.5 mt-2.5 mb-2.5 flex-shrink-0 align-middle" />
            <span className="font-medium mr-1 text-sm">{product.name} -</span>
            <span className="text-sm">{product.level}</span>
          </div>)}
      </div>
    </div>;
};

<AccordionGroup>
  <Accordion title="Supported products" defaultOpen="true" icon="cubes">
    <SupportedProducts marketing={true} sales={true} service={true} cms={true} marketingLevel="FREE" salesLevel="FREE" serviceLevel="FREE" cmsLevel="FREE" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'forms'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/legacy/v3/marketing-forms-v3.json GET /marketing/v3/forms/{formId}
openapi: 3.0.1
info:
  title: Formulaires
  description: Basepom for all HubSpot Projects
  version: v3
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
  x-hubspot-api-use-case: >-
    Modifier programmatiquement certaines parties d'un formulaire HubSpot en
    fonction de cas d'utilisation plus complexes ou de données provenant d'un
    service tiers (affichage dynamique d'un champ en fonction des données que
    vous interrogez à partir d'une source externe).
  x-hubspot-related-documentation:
    - name: Forms Guide
      url: https://developers.hubspot.com/docs/guides/api/marketing/forms
  x-hubspot-introduction: >-
    Utilisez l'API des formulaires pour créer et gérer des formulaires dans
    votre compte HubSpot. Vous pouvez ensuite les intégrer sur votre site web
    afin de recueillir les soumissions des visiteurs.
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Basic
paths:
  /marketing/v3/forms/{formId}:
    get:
      tags:
        - Basic
      summary: Obtenez une définition de formulaire
      description: Renvoie un formulaire basé sur l'ID de formulaire fourni.
      operationId: get-/marketing/v3/forms/{formId}_getById
      parameters:
        - name: formId
          in: path
          description: ''
          required: true
          style: simple
          explode: false
          schema:
            type: string
        - name: archived
          in: query
          description: S'il faut renvoyer uniquement les résultats qui ont été archivés.
          required: false
          style: form
          explode: true
          schema:
            type: boolean
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FormDefinitionBase'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - forms
components:
  schemas:
    FormDefinitionBase:
      properties: {}
      oneOf:
        - $ref: '#/components/schemas/HubSpotFormDefinition'
    HubSpotFormDefinition:
      required:
        - archived
        - configuration
        - createdAt
        - displayOptions
        - fieldGroups
        - formType
        - id
        - legalConsentOptions
        - name
        - updatedAt
      type: object
      properties:
        archived:
          type: boolean
        archivedAt:
          type: string
          format: date-time
        configuration:
          $ref: '#/components/schemas/HubSpotFormConfiguration'
        createdAt:
          type: string
          format: date-time
        displayOptions:
          $ref: '#/components/schemas/FormDisplayOptions'
        fieldGroups:
          type: array
          items:
            $ref: '#/components/schemas/FieldGroup'
        formType:
          type: string
          default: hubspot
          enum:
            - hubspot
        id:
          type: string
        legalConsentOptions:
          oneOf:
            - $ref: '#/components/schemas/LegalConsentOptionsNone'
            - $ref: '#/components/schemas/LegalConsentOptionsLegitimateInterest'
            - $ref: '#/components/schemas/LegalConsentOptionsExplicitConsentToProcess'
            - $ref: '#/components/schemas/LegalConsentOptionsImplicitConsentToProcess'
        name:
          type: string
        updatedAt:
          type: string
          format: date-time
      x-hubspot-sub-type-impl: true
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: La catégorie d'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Un identifiant unique pour la demande. Incluez cette valeur dans
            tous les rapports d'erreurs ou tickets d'assistance
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: informations supplémentaires à propos de l'erreur
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Une carte des noms de liens vers les URI associés contenant de la
            documentation sur l'erreur ou les mesures correctives recommandées
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
      description: >-
        Représente une réponse d'erreur renvoyée par l'API lorsqu'une opération
        échoue. Ce composant est utilisé dans divers points de terminaison pour
        fournir des informations détaillées sur l'erreur rencontrée.
      example:
        message: Invalid input (details will vary based on the error)
        correlationId: aeb5f871-7f07-4993-9211-075dc63e7cbf
        category: VALIDATION_ERROR
        links:
          knowledge-base: https://www.hubspot.com/products/service/knowledge-base
    HubSpotFormConfiguration:
      required:
        - allowLinkToResetKnownValues
        - archivable
        - cloneable
        - createNewContactForNewEmail
        - editable
        - language
        - lifecycleStages
        - notifyContactOwner
        - notifyRecipients
        - postSubmitAction
        - prePopulateKnownValues
        - recaptchaEnabled
      type: object
      properties:
        allowLinkToResetKnownValues:
          type: boolean
          description: >-
            S'il faut ajouter un lien de réinitialisation au formulaire. Cela
            supprime tout contenu pré-rempli du formulaire et crée un nouveau
            contact lors de la soumission.
        archivable:
          type: boolean
          description: Si le formulaire peut être archivé.
        cloneable:
          type: boolean
          description: Si le formulaire peut être cloné.
        createNewContactForNewEmail:
          type: boolean
          description: >-
            S'il faut créer un nouveau contact lorsqu'un formulaire est soumis
            avec une adresse e-mail qui ne correspond à aucune de vos fiches
            d'informations de contacts existantes.
        editable:
          type: boolean
          description: Si le formulaire peut être modifié.
        embedType:
          type: string
          enum:
            - V3
            - V4
        language:
          type: string
          description: La langue du formulaire.
          enum:
            - af
            - ar-eg
            - bg
            - bn
            - ca-es
            - cs
            - da
            - de
            - el
            - en
            - en-gb
            - es
            - es-mx
            - fi
            - fr
            - fr-ca
            - he-il
            - hr
            - hu
            - id
            - it
            - ja
            - ko
            - lt
            - ms
            - nl
            - no-no
            - pl
            - pt
            - pt-br
            - ro
            - ru
            - sk
            - sl
            - sv
            - th
            - tl
            - tr
            - uk
            - vi
            - zh-cn
            - zh-hk
            - zh-tw
        lifecycleStages:
          type: array
          items:
            $ref: '#/components/schemas/LifecycleStage'
        notifyContactOwner:
          type: boolean
          description: >-
            S'il faut envoyer un e-mail de notification au propriétaire du
            contact lorsqu'une soumission est reçue.
        notifyRecipients:
          type: array
          description: >-
            La liste des ID d'utilisateurs devant recevoir un e-mail de
            notification lors de la réception d'une soumission.
          items:
            type: string
        postSubmitAction:
          $ref: '#/components/schemas/FormPostSubmitAction'
        prePopulateKnownValues:
          type: boolean
          description: >-
            Si les champs de contact doivent être pré-remplit avec des
            informations connues lorsqu'un contact revient sur votre site.
        recaptchaEnabled:
          type: boolean
          description: Si le CAPTCHA (prévention du spam) est activé.
    FormDisplayOptions:
      required:
        - renderRawHtml
        - style
        - submitButtonText
        - theme
      type: object
      properties:
        cssClass:
          type: string
          description: >-
            Nom(s) de classe CSS personnalisé(s) à appliquer à l'élément du
            formulaire pour un style supplémentaire.
        renderRawHtml:
          type: boolean
          description: Si le formulaire s'affichera en HTML brut plutôt que dans un iFrame.
        style:
          $ref: '#/components/schemas/FormStyle'
        submitButtonText:
          type: string
          description: Le texte affiché sur le bouton de soumission du formulaire.
        theme:
          type: string
          description: >-
            Le thème utilisé pour styliser les champs de saisie. Cela ne
            s'appliquera pas si le formulaire est ajouté à une page HubSpot CMS.
          enum:
            - canvas
            - default_style
            - legacy
            - linear
            - round
            - sharp
    FieldGroup:
      required:
        - fields
        - groupType
        - richTextType
      type: object
      properties:
        fields:
          type: array
          description: Les champs de formulaire inclus dans le groupe
          items:
            oneOf:
              - $ref: '#/components/schemas/EmailField'
              - $ref: '#/components/schemas/PhoneField'
              - $ref: '#/components/schemas/MobilePhoneField'
              - $ref: '#/components/schemas/SingleLineTextField'
              - $ref: '#/components/schemas/MultiLineTextField'
              - $ref: '#/components/schemas/NumberField'
              - $ref: '#/components/schemas/SingleCheckboxField'
              - $ref: '#/components/schemas/MultipleCheckboxesField'
              - $ref: '#/components/schemas/DropdownField'
              - $ref: '#/components/schemas/RadioField'
              - $ref: '#/components/schemas/DatepickerField'
              - $ref: '#/components/schemas/FileField'
              - $ref: '#/components/schemas/PaymentLinkRadioField'
        groupType:
          type: string
          description: "Type de regroupement des champs. Valeurs\_: default_group (champs standard), progressive et queued."
          enum:
            - default_group
            - progressive
            - queued
        richText:
          type: string
          description: >-
            Un bloc de texte enrichi ou une image. Ceux-ci peuvent être utilisés
            pour ajouter des informations supplémentaires aux clients
            remplissant le formulaire. Si le groupe de champs inclut des champs,
            le texte enrichi sera affiché avant les champs.
        richTextType:
          type: string
          description: "Type de texte enrichi inclus. La valeur par défaut est «\_texte\_». Valeurs\_: texte, image."
          enum:
            - image
            - text
    LegalConsentOptionsNone:
      title: none
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: "Le type de consentement légal. Définissez cette option sur «\_aucun\_» pour indiquer qu'aucune configuration de consentement légal n'est requise pour ce formulaire."
          default: none
          enum:
            - none
      x-hubspot-sub-type-impl: true
    LegalConsentOptionsLegitimateInterest:
      title: legitimate_interest
      required:
        - lawfulBasis
        - privacyText
        - subscriptionTypeIds
        - type
      type: object
      properties:
        lawfulBasis:
          type: string
          description: "La base juridique pour le traitement des données dans le cadre d'un intérêt légitime. Valeurs\_: lead (traitement pour la génération de lead), client (traitement pour les clients existants), autre (autres intérêts légitimes). Par défaut\_: lead."
          enum:
            - client
            - lead
            - other
        privacyText:
          type: string
          description: >-
            Texte expliquant la politique de confidentialité et les pratiques en
            matière de traitement des données.
        subscriptionTypeIds:
          type: array
          items:
            type: integer
            format: int64
        type:
          type: string
          description: Le type de consentement légal.
          default: legitimate_interest
          enum:
            - legitimate_interest
      x-hubspot-sub-type-impl: true
    LegalConsentOptionsExplicitConsentToProcess:
      title: explicit_consent_to_process
      required:
        - communicationsCheckboxes
        - privacyText
        - type
      type: object
      properties:
        communicationConsentText:
          type: string
          description: >-
            Texte expliquant les préférences en matière de consentement à la
            communication. Informe les utilisateurs sur la manière dont leurs
            coordonnées seront utilisées à des fins de communication.
        communicationsCheckboxes:
          type: array
          items:
            $ref: '#/components/schemas/LegalConsentCheckbox'
        consentToProcessCheckboxLabel:
          type: string
          description: "Texte du libellé pour la case à cocher «\_Consentement au traitement\_»."
        consentToProcessFooterText:
          type: string
          description: "Texte de pied de page pour la section relative au «\_consentement au traitement\_»."
        consentToProcessText:
          type: string
          description: >-
            Texte expliquant le consentement au traitement des données
            personnelles.
        privacyText:
          type: string
          description: >-
            Texte expliquant la politique de confidentialité et les pratiques en
            matière de traitement des données. Champ obligatoire qui informe les
            utilisateurs de leurs droits en matière de confidentialité et de la
            manière dont leurs données sont protégées.
        type:
          type: string
          description: Le type de consentement légal.
          default: explicit_consent_to_process
          enum:
            - explicit_consent_to_process
      x-hubspot-sub-type-impl: true
    LegalConsentOptionsImplicitConsentToProcess:
      title: implicit_consent_to_process
      required:
        - communicationsCheckboxes
        - privacyText
        - type
      type: object
      properties:
        communicationConsentText:
          type: string
          description: >-
            Texte expliquant les préférences en matière de consentement à la
            communication.
        communicationsCheckboxes:
          type: array
          items:
            $ref: '#/components/schemas/LegalConsentCheckbox'
        consentToProcessText:
          type: string
          description: >-
            Texte expliquant le consentement au traitement des données
            personnelles.
        privacyText:
          type: string
          description: >-
            Texte expliquant la politique de confidentialité et les pratiques en
            matière de traitement des données.
        type:
          type: string
          description: Le type de consentement légal.
          default: implicit_consent_to_process
          enum:
            - implicit_consent_to_process
      x-hubspot-sub-type-impl: true
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: Le code du statut associé au détail de l'erreur
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexte concernant la condition d'erreur
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: Le nom du champ ou du paramètre dans lequel l'erreur a été trouvée.
        message:
          type: string
          description: >-
            Un message lisible par la personne décrivant l'erreur ainsi que les
            mesures correctives possibles, le cas échéant
        subCategory:
          type: string
          description: >-
            Une catégorie spécifique qui contient des détails plus précis sur
            l'erreur
      description: >-
        Représente des informations détaillées sur une erreur survenue dans
        l'API. Ce composant est utilisé pour fournir un contexte et des
        spécificités supplémentaires sur les erreurs, généralement dans le cadre
        d'une réponse d'erreur.
    LifecycleStage:
      required:
        - objectTypeId
        - value
      type: object
      properties:
        objectTypeId:
          type: string
          description: Le objectTypeId pour le contact et l'entreprise
        value:
          type: string
          description: >-
            Le nom interne de l'étape du cycle de vie du contact défini lors de
            la soumission d'un formulaire
    FormPostSubmitAction:
      required:
        - type
        - value
      type: object
      properties:
        type:
          type: string
          description: >-
            L'action à entreprendre après la soumission. L'action par défaut est
            d'afficher un message de remerciement.
          enum:
            - redirect_url
            - thank_you
        value:
          type: string
          description: Le texte de remerciement ou la page vers laquelle rediriger.
    FormStyle:
      required:
        - backgroundWidth
        - fontFamily
        - helpTextColor
        - helpTextSize
        - labelTextColor
        - labelTextSize
        - legalConsentTextColor
        - legalConsentTextSize
        - submitAlignment
        - submitColor
        - submitFontColor
        - submitSize
      type: object
      properties:
        backgroundWidth:
          type: string
          description: "Largeur de l'arrière-plan du formulaire. Accepte des valeurs en pourcentage (par exemple, «\_100\_%\_») ou en pixels (par exemple, «\_600px\_»)."
        fontFamily:
          type: string
          description: "Famille de polices utilisée dans tout le formulaire (par exemple, «\_arial, helvetica, sans-serif\_»)."
        helpTextColor:
          type: string
          description: >-
            Code couleur hexadécimal pour le texte d'aide affiché sous les
            champs du formulaire.
        helpTextSize:
          type: string
          description: "Taille de police pour le texte d'aide. Accepte les valeurs en pixels (par exemple, «\_11px\_»)."
        labelTextColor:
          type: string
          description: Code couleur hexadécimal pour les libellés de champ.
        labelTextSize:
          type: string
          description: "Taille de police pour les libellés des champs. Accepte les valeurs en pixels (par exemple, «\_11px\_»)."
        legalConsentTextColor:
          type: string
          description: Code couleur hexadécimal pour le texte du consentement légal.
        legalConsentTextSize:
          type: string
          description: "Taille de police pour le texte du consentement légal. Accepte les valeurs en pixels (par exemple, «\_14px\_»)."
        submitAlignment:
          type: string
          description: "Alignement horizontal du bouton «\_Soumettre\_». Valeurs : gauche, centre, droite."
          enum:
            - center
            - left
            - right
        submitColor:
          type: string
          description: "Code couleur hexadécimal pour l'arrière-plan du bouton «\_Soumettre\_»."
        submitFontColor:
          type: string
          description: "Code couleur hexadécimal pour le texte du bouton «\_Soumettre\_»."
        submitSize:
          type: string
          description: "Taille de la police pour le texte du bouton «\_Soumettre\_». Accepte les valeurs en pixels (par exemple, «\_12px\_»)."
    EmailField:
      title: email
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
        - validation
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: email
          enum:
            - email
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
        validation:
          $ref: '#/components/schemas/EmailFieldValidation'
      x-hubspot-sub-type-impl: true
    PhoneField:
      title: phone
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
        - useCountryCodeSelect
        - validation
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: phone
          enum:
            - phone
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
        useCountryCodeSelect:
          type: boolean
          description: >-
            Afficher ou non un menu déroulant du code pays à côté du champ de
            téléphone.
        validation:
          $ref: '#/components/schemas/PhoneFieldValidation'
      x-hubspot-sub-type-impl: true
    MobilePhoneField:
      title: mobile_phone
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
        - validation
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: mobile_phone
          enum:
            - mobile_phone
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
        validation:
          $ref: '#/components/schemas/PhoneFieldValidation'
      x-hubspot-sub-type-impl: true
    SingleLineTextField:
      title: single_line_text
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: single_line_text
          enum:
            - single_line_text
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
      x-hubspot-sub-type-impl: true
    MultiLineTextField:
      title: multi_line_text
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: multi_line_text
          enum:
            - multi_line_text
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
      x-hubspot-sub-type-impl: true
    NumberField:
      title: number
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: number
          enum:
            - number
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
        validation:
          $ref: '#/components/schemas/NumberFieldValidation'
      x-hubspot-sub-type-impl: true
    SingleCheckboxField:
      title: single_checkbox
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: single_checkbox
          enum:
            - single_checkbox
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
      x-hubspot-sub-type-impl: true
    MultipleCheckboxesField:
      title: multiple_checkboxes
      required:
        - defaultValues
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - options
        - required
      type: object
      properties:
        defaultValues:
          type: array
          description: >-
            Les valeurs sélectionnées par défaut. Ces valeurs seront soumises à
            moins que le client ne les modifie.
          items:
            type: string
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: multiple_checkboxes
          enum:
            - multiple_checkboxes
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        options:
          type: array
          description: La liste des choix disponibles pour ce champ.
          items:
            $ref: '#/components/schemas/EnumeratedFieldOption'
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
      x-hubspot-sub-type-impl: true
    DropdownField:
      title: dropdown
      required:
        - defaultValues
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - options
        - required
      type: object
      properties:
        defaultValues:
          type: array
          description: >-
            Les valeurs sélectionnées par défaut. Ces valeurs seront soumises à
            moins que le client ne les modifie.
          items:
            type: string
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: dropdown
          enum:
            - dropdown
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        options:
          type: array
          description: La liste des choix disponibles pour ce champ.
          items:
            $ref: '#/components/schemas/EnumeratedFieldOption'
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
      x-hubspot-sub-type-impl: true
    RadioField:
      title: radio
      required:
        - defaultValues
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - options
        - required
      type: object
      properties:
        defaultValues:
          type: array
          description: >-
            Les valeurs sélectionnées par défaut. Ces valeurs seront soumises à
            moins que le client ne les modifie.
          items:
            type: string
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: radio
          enum:
            - radio
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        options:
          type: array
          description: La liste des choix disponibles pour ce champ.
          items:
            $ref: '#/components/schemas/EnumeratedFieldOption'
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
      x-hubspot-sub-type-impl: true
    DatepickerField:
      title: datepicker
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: datepicker
          enum:
            - datepicker
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
      x-hubspot-sub-type-impl: true
    FileField:
      title: file
      required:
        - allowMultipleFiles
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
      type: object
      properties:
        allowMultipleFiles:
          type: boolean
          description: Autoriser le téléchargement de plusieurs fichiers ou non.
        defaultValue:
          type: string
          description: >-
            La valeur remplie par défaut. Cette valeur sera soumise à moins que
            le client ne la modifie.
        dependentFields:
          type: array
          description: >-
            Une liste d'autres champs à rendre visibles en fonction de la valeur
            remplie pour ce champ.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte supplémentaire aidant le client à compléter le champ.
        fieldType:
          type: string
          description: Détermine comment le champ sera affiché et validé.
          default: file
          enum:
            - file
        hidden:
          type: boolean
          description: >-
            Si le champ doit être caché ou non. Les champs cachés n'apparaîtront
            pas sur le formulaire, mais peuvent être utilisés pour transmettre
            une valeur à une propriété sans que le client ait à la remplir.
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        name:
          type: string
          description: >-
            L'identifiant du champ. En combinaison avec l'ID du type d'objet, il
            doit être unique.
        objectTypeId:
          type: string
          description: "Un ID unique pour le type d'objet du CRM de ce champ. Par exemple, un champ CONTACT aura l'identifiant de type d'objet\_0-1."
        placeholder:
          type: string
          description: Le texte de requête s'affiche lorsque le champ n'est pas rempli.
        required:
          type: boolean
          description: >-
            Si une valeur de ce champ est requise lors de la soumission du
            formulaire.
      x-hubspot-sub-type-impl: true
    PaymentLinkRadioField:
      title: payment_link_radio
      required:
        - defaultValues
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - options
        - required
      type: object
      properties:
        defaultValues:
          type: array
          items:
            type: string
        dependentFields:
          type: array
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texte descriptif supplémentaire concernant le champ.
        fieldType:
          type: string
          description: L'identifiant du type de champ.
          default: payment_link_radio
          enum:
            - payment_link_radio
        hidden:
          type: boolean
          description: Si le champ est un champ masqué.
        label:
          type: string
          description: >-
            Le libellé visible affiché avec le champ pour décrire son objectif
            aux utilisateurs de formulaires.
        name:
          type: string
          description: >-
            Le nom interne de l'API utilisé pour identifier ce champ dans les
            requêtes et réponses API.
        objectTypeId:
          type: string
          description: >-
            Le type d'objet CRM auquel ce champ est associé (par exemple,
            contacts, transactions).
        options:
          type: array
          items:
            $ref: '#/components/schemas/EnumeratedFieldOption'
        required:
          type: boolean
          description: >-
            Si les utilisateurs doivent sélectionner une option avant de
            soumettre le formulaire.
      x-hubspot-sub-type-impl: true
    LegalConsentCheckbox:
      required:
        - label
        - required
        - subscriptionTypeId
      type: object
      properties:
        label:
          type: string
          description: Le libellé principal pour le champ de formulaire.
        required:
          type: boolean
          description: >-
            Que cette case à cocher soit requise lors de la soumission du
            formulaire ou non.
        subscriptionTypeId:
          type: integer
          description: >-
            L'identifiant du type d'abonnement associé à cette case à cocher de
            consentement.
          format: int64
    DependentField:
      required:
        - dependentCondition
        - dependentField
      type: object
      properties:
        dependentCondition:
          $ref: '#/components/schemas/DependentFieldFilter'
        dependentField:
          description: >-
            Champ de formulaire qui s'affichera de manière conditionnelle selon
            que la condition dépendante est remplie ou non.
          oneOf:
            - $ref: '#/components/schemas/EmailField'
            - $ref: '#/components/schemas/PhoneField'
            - $ref: '#/components/schemas/MobilePhoneField'
            - $ref: '#/components/schemas/SingleLineTextField'
            - $ref: '#/components/schemas/MultiLineTextField'
            - $ref: '#/components/schemas/NumberField'
            - $ref: '#/components/schemas/SingleCheckboxField'
            - $ref: '#/components/schemas/MultipleCheckboxesField'
            - $ref: '#/components/schemas/DropdownField'
            - $ref: '#/components/schemas/RadioField'
            - $ref: '#/components/schemas/DatepickerField'
            - $ref: '#/components/schemas/FileField'
            - $ref: '#/components/schemas/PaymentLinkRadioField'
    EmailFieldValidation:
      required:
        - blockedEmailDomains
        - useDefaultBlockList
      type: object
      properties:
        blockedEmailDomains:
          type: array
          description: Une liste de domaines de messagerie à bloquer.
          items:
            type: string
        useDefaultBlockList:
          type: boolean
          description: Bloquer les fournisseurs de messagerie gratuits ou non.
    PhoneFieldValidation:
      required:
        - maxAllowedDigits
        - minAllowedDigits
      type: object
      properties:
        maxAllowedDigits:
          type: integer
          description: "Le nombre maximum de chiffres autorisés dans le numéro de téléphone. Valeur par défaut\_: 20. Doit être supérieur ou égal à minAllowedDigits."
          format: int32
        minAllowedDigits:
          type: integer
          description: "Le nombre minimum de chiffres requis dans le numéro de téléphone. Valeur par défaut\_: 7. Doit être inférieur ou égal à maxAllowedDigits."
          format: int32
    NumberFieldValidation:
      required:
        - maxAllowedDigits
        - minAllowedDigits
      type: object
      properties:
        maxAllowedDigits:
          type: integer
          description: >-
            Le nombre maximum de chiffres autorisés pour la saisie dans le champ
            de saisie numérique. Doit être supérieur ou égal à minAllowedDigits.
          format: int32
        minAllowedDigits:
          type: integer
          description: >-
            Le nombre minimum de chiffres requis pour une saisie valide dans le
            champ de saisie numérique. Doit être inférieur ou égal à
            maxAllowedDigits.
          format: int32
    EnumeratedFieldOption:
      required:
        - displayOrder
        - label
        - value
      type: object
      properties:
        description:
          type: string
          description: Texte descriptif supplémentaire concernant l'option.
        displayOrder:
          type: integer
          description: L'ordre dans lequel les choix seront affichés.
          format: int32
        label:
          type: string
          description: Le libellé visible pour ce choix.
        value:
          type: string
          description: La valeur qui sera soumise si ce choix est sélectionné.
    DependentFieldFilter:
      required:
        - operator
        - rangeEnd
        - rangeStart
        - value
        - values
      type: object
      properties:
        operator:
          type: string
          description: >-
            Opérateur de comparaison utilisé pour évaluer la condition du champ
            dépendant. Prend en charge l'égalité (eq, neq), les opérations sur
            les chaînes (contains, doesnt_contain, str_starts_with,
            str_ends_with), les comparaisons numériques (lt, lte, gt, gte), les
            vérifications de plage (between, not_between), les opérations sur
            les ensembles (set_any, set_not_any, set_eq, set_neq) et les
            conditions basées sur le temps (within_time, within_time_reverse).
          enum:
            - between
            - contains
            - doesnt_contain
            - eq
            - gt
            - gte
            - is_not_empty
            - lt
            - lte
            - neq
            - not_between
            - set_all
            - set_any
            - set_eq
            - set_neq
            - set_not_all
            - set_not_any
            - str_ends_with
            - str_starts_with
            - within_time
            - within_time_reverse
        rangeEnd:
          type: string
          description: >-
            Valeur finale pour les opérateurs basés sur une plage (between,
            not_between). Doit être fournie avec rangeStart.
        rangeStart:
          type: string
          description: >-
            Valeur de départ pour les opérateurs basés sur une plage (between,
            not_between). Doit être fournie avec rangeEnd.
        value:
          type: string
          description: >-
            La valeur unique à comparer lors de l'utilisation d'opérateurs tels
            que eq, neq, contains, lt, gt et d'autres opérateurs de comparaison
            à valeur unique.
        values:
          type: array
          items:
            type: string
  responses:
    Error:
      description: An error occurred.
      content:
        '*/*':
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hubspot.com/oauth/authorize
          tokenUrl: https://api.hubapi.com/oauth/v1/token
          scopes:
            forms: ''

````