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

# Get a form definition

> Retorna um formulário com base no ID fornecido.

export const ScopesList = ({scopes = [], description = "Esta API requer um dos seguintes escopos:"}) => {
  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: "Produtos suportados",
    description: "Requer um dos seguintes produtos ou superior.",
    productNames: {
      marketing: "Marketing Hub",
      sales: "Sales Hub",
      service: "Service Hub",
      cms: "Content Hub"
    },
    tiers: {
      free: "Grátis",
      starter: "Starter",
      professional: "Professional",
      enterprise: "Enterprise"
    }
  };
  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: Formulários
  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: >-
    Altere programaticamente certas partes de um formulário do HubSpot com base
    em casos de uso mais complexos ou em dados de um serviço de terceiros
    (exibindo um campo de forma dinâmica com base nos dados que você está
    consultando de uma fonte externa).
  x-hubspot-related-documentation:
    - name: Forms Guide
      url: https://developers.hubspot.com/docs/guides/api/marketing/forms
  x-hubspot-introduction: >-
    Use a API de formulários para criar e gerenciar formulários em sua conta da
    HubSpot. Incorpore os formulários em seu site para coletar envios de
    formulário de visitantes do site.
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Basic
paths:
  /marketing/v3/forms/{formId}:
    get:
      tags:
        - Basic
      summary: Obter uma definição de formulário
      description: Retorna um formulário com base no ID fornecido.
      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: Se apenas os resultados que foram arquivados devem ser retornados.
          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: A categoria de erro
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexto sobre a condição do erro
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            Um identificador exclusivo para a solicitação. Inclua este valor em
            relatórios de erro ou tickets de suporte
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: mais informações sobre o erro
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            Um mapa de nomes de links para URIs associados que contêm
            documentação sobre o erro ou as etapas de correção recomendadas
        message:
          type: string
          description: >-
            Uma mensagem legível por humanos que descreve o erro, juntamente com
            as etapas de correção, quando apropriado
          example: An error occurred
        subCategory:
          type: string
          description: >-
            Uma categoria específica que contém mais detalhes específicos sobre
            o erro
      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: >-
            Se um link de redefinição deve ser adicionado ao formulário. Remove
            qualquer conteúdo preenchido previamente no formulário e cria um
            novo contato ao enviar.
        archivable:
          type: boolean
          description: Se o formulário pode ser arquivado.
        cloneable:
          type: boolean
          description: Se o formulário pode ser clonado.
        createNewContactForNewEmail:
          type: boolean
          description: >-
            Se um novo contato deve ser criado quando um formulário é enviado
            com um endereço de e-mail que não corresponde a nenhum endereço em
            seus registros de contato existentes.
        editable:
          type: boolean
          description: Se o formulário pode ser editado.
        embedType:
          type: string
          enum:
            - V3
            - V4
        language:
          type: string
          description: O idioma do formulário.
          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: >-
            Se um e-mail de notificação deve ser enviado ao proprietário do
            contato quando um envio é recebido.
        notifyRecipients:
          type: array
          description: >-
            A lista de IDs de usuários para receber um e-mail de notificação
            quando um envio for recebido.
          items:
            type: string
        postSubmitAction:
          $ref: '#/components/schemas/FormPostSubmitAction'
        prePopulateKnownValues:
          type: boolean
          description: >-
            Se os campos de contato devem ser preenchidos previamente com
            informações conhecidas quando um contato retorna ao seu site.
        recaptchaEnabled:
          type: boolean
          description: Se o CAPTCHA (prevenção de spam) está habilitado.
    FormDisplayOptions:
      required:
        - renderRawHtml
        - style
        - submitButtonText
        - theme
      type: object
      properties:
        cssClass:
          type: string
          description: >-
            Nomes personalizados de classes CSS a serem aplicados ao elemento do
            formulário para estilização adicional.
        renderRawHtml:
          type: boolean
          description: >-
            Se o formulário será renderizado como HTML bruto em vez de dentro de
            um iFrame.
        style:
          $ref: '#/components/schemas/FormStyle'
        submitButtonText:
          type: string
          description: O texto exibido no botão de envio do formulário.
        theme:
          type: string
          description: >-
            O tema usado para estilizar os campos de entrada. Não se aplicará se
            o formulário for adicionado a uma página do HubSpot CMS.
          enum:
            - canvas
            - default_style
            - legacy
            - linear
            - round
            - sharp
    FieldGroup:
      required:
        - fields
        - groupType
        - richTextType
      type: object
      properties:
        fields:
          type: array
          description: Os campos de formulário incluídos no grupo
          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: >-
            O tipo de agrupamento de campos. Valores: default_group (campos
            padrão), progressive e queued.
          enum:
            - default_group
            - progressive
            - queued
        richText:
          type: string
          description: >-
            Um bloco de rich text ou uma imagem. Podem ser usados para adicionar
            informações extras para os clientes que preenchem o formulário. Se o
            grupo de campos incluir campos, o rich text será exibido antes dos
            campos.
        richTextType:
          type: string
          description: >-
            O tipo de rich text incluído. O valor padrão é texto. Valores: text,
            image.
          enum:
            - image
            - text
    LegalConsentOptionsNone:
      title: none
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: >-
            Tipo de consentimento legal. Defina como "none" para indicar que
            nenhuma configuração de consentimento legal é necessária para este
            formulário.
          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: >-
            A base jurídica para o tratamento de dados com base no interesse
            legítimo. Valores: lead (processamento para geração de leads),
            client (processamento para clientes existentes), other (outros
            interesses legítimos). Padrão: lead.
          enum:
            - client
            - lead
            - other
        privacyText:
          type: string
          description: >-
            Texto explicativo sobre a política de privacidade e as práticas de
            tratamento de dados.
        subscriptionTypeIds:
          type: array
          items:
            type: integer
            format: int64
        type:
          type: string
          description: O tipo de consentimento legal.
          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: >-
            Texto explicativo sobre as preferências de consentimento para
            comunicação. Informa os usuários sobre como suas informações de
            contato serão usadas para comunicações.
        communicationsCheckboxes:
          type: array
          items:
            $ref: '#/components/schemas/LegalConsentCheckbox'
        consentToProcessCheckboxLabel:
          type: string
          description: >-
            Texto do rótulo para a caixa de seleção de consentimento com o
            processamento.
        consentToProcessFooterText:
          type: string
          description: Texto de rodapé para a seção de consentimento com o processamento.
        consentToProcessText:
          type: string
          description: >-
            Texto explicativo sobre o consentimento para o processamento de
            dados pessoais.
        privacyText:
          type: string
          description: >-
            Texto explicativo sobre a política de privacidade e as práticas de
            tratamento de dados. Campo obrigatório que informa os usuários sobre
            seus direitos de privacidade e como seus dados são protegidos.
        type:
          type: string
          description: O tipo de consentimento legal.
          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: >-
            Texto explicativo sobre as preferências de consentimento para
            comunicação.
        communicationsCheckboxes:
          type: array
          items:
            $ref: '#/components/schemas/LegalConsentCheckbox'
        consentToProcessText:
          type: string
          description: >-
            Texto explicativo sobre o consentimento para o processamento de
            dados pessoais.
        privacyText:
          type: string
          description: >-
            Texto explicativo sobre a política de privacidade e as práticas de
            tratamento de dados.
        type:
          type: string
          description: O tipo de consentimento legal.
          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: O código de status associado ao detalhe do erro
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Contexto sobre a condição do erro
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: O nome do campo ou parâmetro no qual o erro foi encontrado.
        message:
          type: string
          description: >-
            Uma mensagem legível por humanos que descreve o erro, juntamente com
            as etapas de correção, quando apropriado
        subCategory:
          type: string
          description: >-
            Uma categoria específica que contém mais detalhes específicos sobre
            o erro
    LifecycleStage:
      required:
        - objectTypeId
        - value
      type: object
      properties:
        objectTypeId:
          type: string
          description: O objectTypeId tanto para o contato quanto para a empresa
        value:
          type: string
          description: >-
            O nome interno da fase do ciclo de vida do contato que é definido ao
            enviar um formulário
    FormPostSubmitAction:
      required:
        - type
        - value
      type: object
      properties:
        type:
          type: string
          description: >-
            A ação a ser tomada após o envio. A ação padrão é exibir uma
            mensagem de agradecimento.
          enum:
            - redirect_url
            - thank_you
        value:
          type: string
          description: O texto de agradecimento ou a página à qual redirecionar.
    FormStyle:
      required:
        - backgroundWidth
        - fontFamily
        - helpTextColor
        - helpTextSize
        - labelTextColor
        - labelTextSize
        - legalConsentTextColor
        - legalConsentTextSize
        - submitAlignment
        - submitColor
        - submitFontColor
        - submitSize
      type: object
      properties:
        backgroundWidth:
          type: string
          description: >-
            A largura do plano de fundo do formulário. Aceita valores
            percentuais (ex.: "100%") ou em pixels (ex.: "600px").
        fontFamily:
          type: string
          description: >-
            Família tipográfica utilizada em todo o formulário (ex.: "arial,
            helvetica, sans-serif").
        helpTextColor:
          type: string
          description: >-
            Código de cor hexadecimal para o texto de ajuda exibido abaixo dos
            campos do formulário.
        helpTextSize:
          type: string
          description: >-
            Tamanho da fonte para o texto de ajuda. Aceita valores em pixels
            (por exemplo, "11px").
        labelTextColor:
          type: string
          description: Código de cor hexadecimal para rótulos de campos.
        labelTextSize:
          type: string
          description: >-
            Tamanho da fonte para rótulos de campos. Aceita valores em pixels
            (ex.: "11px").
        legalConsentTextColor:
          type: string
          description: Código de cor hexadecimal para texto de consentimento legal.
        legalConsentTextSize:
          type: string
          description: >-
            Tamanho da fonte para o texto de consentimento legal. Aceita valores
            em pixels (por exemplo, "14px").
        submitAlignment:
          type: string
          description: >-
            Alinhamento horizontal do botão de envio. Valores: left, center,
            right.
          enum:
            - center
            - left
            - right
        submitColor:
          type: string
          description: Código de cor hexadecimal para o plano de fundo do botão de envio.
        submitFontColor:
          type: string
          description: Código de cor hexadecimal para o texto do botão de envio.
        submitSize:
          type: string
          description: >-
            Tamanho da fonte para o texto do botão de envio. Aceita valores em
            pixels (por exemplo, "12px").
    EmailField:
      title: email
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
        - validation
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: email
          enum:
            - email
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
        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: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: phone
          enum:
            - phone
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
        useCountryCodeSelect:
          type: boolean
          description: >-
            Se um menu suspenso de código de país deve ser exibido ao lado do
            campo de telefone.
        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: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: mobile_phone
          enum:
            - mobile_phone
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
        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: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: single_line_text
          enum:
            - single_line_text
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
      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: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: multi_line_text
          enum:
            - multi_line_text
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
      x-hubspot-sub-type-impl: true
    NumberField:
      title: number
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: number
          enum:
            - number
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
        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: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: single_checkbox
          enum:
            - single_checkbox
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
      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: >-
            Os valores selecionados por padrão. Estes valores serão enviados, a
            menos que o cliente os modifique.
          items:
            type: string
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: multiple_checkboxes
          enum:
            - multiple_checkboxes
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        options:
          type: array
          description: A lista de opções disponíveis para este campo.
          items:
            $ref: '#/components/schemas/EnumeratedFieldOption'
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
      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: >-
            Os valores selecionados por padrão. Estes valores serão enviados, a
            menos que o cliente os modifique.
          items:
            type: string
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: dropdown
          enum:
            - dropdown
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        options:
          type: array
          description: A lista de opções disponíveis para este campo.
          items:
            $ref: '#/components/schemas/EnumeratedFieldOption'
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
      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: >-
            Os valores selecionados por padrão. Estes valores serão enviados, a
            menos que o cliente os modifique.
          items:
            type: string
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: radio
          enum:
            - radio
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        options:
          type: array
          description: A lista de opções disponíveis para este campo.
          items:
            $ref: '#/components/schemas/EnumeratedFieldOption'
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
      x-hubspot-sub-type-impl: true
    DatepickerField:
      title: datepicker
      required:
        - dependentFields
        - fieldType
        - hidden
        - label
        - name
        - objectTypeId
        - required
      type: object
      properties:
        defaultValue:
          type: string
          description: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: datepicker
          enum:
            - datepicker
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
      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: Se o carregamento de vários arquivos deve ser permitido.
        defaultValue:
          type: string
          description: >-
            O valor preenchido por padrão. Este valor será enviado, a menos que
            o cliente o modifique.
        dependentFields:
          type: array
          description: >-
            Uma lista de outros campos a serem exibidos com base no valor
            preenchido para este campo.
          items:
            $ref: '#/components/schemas/DependentField'
        description:
          type: string
          description: Texto adicional que ajuda o cliente a preencher o campo.
        fieldType:
          type: string
          description: Determina como o campo será exibido e validado.
          default: file
          enum:
            - file
        hidden:
          type: boolean
          description: >-
            Se um campo deve ser ocultado ou não. Campos ocultos não aparecerão
            no formulário, mas podem ser usados para transmitir um valor a uma
            propriedade sem exigir que o cliente o preencha.
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        name:
          type: string
          description: >-
            O identificador do campo. Em combinação com o ID do tipo de objeto,
            ele deve ser exclusivo.
        objectTypeId:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto do CRM deste campo. Por
            exemplo, um campo de CONTACT terá o ID de tipo de objeto 0-1.
        placeholder:
          type: string
          description: O texto de prompt exibido quando o campo não está preenchido.
        required:
          type: boolean
          description: Se um valor para este campo é necessário ao enviar o formulário.
      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: Texto descritivo adicional sobre o campo.
        fieldType:
          type: string
          description: O identificador do tipo de campo.
          default: payment_link_radio
          enum:
            - payment_link_radio
        hidden:
          type: boolean
          description: Se o campo é um campo oculto.
        label:
          type: string
          description: >-
            O rótulo visível exibido junto ao campo descreve sua finalidade para
            os usuários do formulário.
        name:
          type: string
          description: >-
            Nome da API interna usado para identificar este campo em
            solicitações e respostas da API.
        objectTypeId:
          type: string
          description: >-
            O tipo de objeto do CRM ao qual este campo está associado (por
            exemplo, contatos, negócios).
        options:
          type: array
          items:
            $ref: '#/components/schemas/EnumeratedFieldOption'
        required:
          type: boolean
          description: >-
            Se os usuários precisam selecionar uma opção antes de enviar o
            formulário.
      x-hubspot-sub-type-impl: true
    LegalConsentCheckbox:
      required:
        - label
        - required
        - subscriptionTypeId
      type: object
      properties:
        label:
          type: string
          description: O rótulo principal do campo do formulário.
        required:
          type: boolean
          description: Se esta caixa de seleção é obrigatória ao enviar o formulário.
        subscriptionTypeId:
          type: integer
          description: >-
            O ID do tipo de assinatura associado a esta caixa de seleção de
            consentimento.
          format: int64
    DependentField:
      required:
        - dependentCondition
        - dependentField
      type: object
      properties:
        dependentCondition:
          $ref: '#/components/schemas/DependentFieldFilter'
        dependentField:
          description: >-
            Um campo de formulário que será exibido condicionalmente com base no
            atendimento da condição dependente.
          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: Uma lista de domínios de e-mail para bloquear.
          items:
            type: string
        useDefaultBlockList:
          type: boolean
          description: Se provedores de e-mail gratuitos devem ser bloqueados.
    PhoneFieldValidation:
      required:
        - maxAllowedDigits
        - minAllowedDigits
      type: object
      properties:
        maxAllowedDigits:
          type: integer
          description: >-
            Número máximo de dígitos permitidos em um número de telefone.
            Padrão: 20. Deve ser maior ou igual a minAllowedDigits.
          format: int32
        minAllowedDigits:
          type: integer
          description: >-
            Número mínimo de dígitos necessários em um número de telefone.
            Padrão: 7. Deve ser menor ou igual a maxAllowedDigits.
          format: int32
    NumberFieldValidation:
      required:
        - maxAllowedDigits
        - minAllowedDigits
      type: object
      properties:
        maxAllowedDigits:
          type: integer
          description: >-
            Número máximo de dígitos permitidos para entrada em um campo
            numérico. Deve ser maior ou igual a minAllowedDigits.
          format: int32
        minAllowedDigits:
          type: integer
          description: >-
            Número mínimo de dígitos necessários para uma entrada válida em um
            campo numérico. Deve ser menor ou igual a maxAllowedDigits.
          format: int32
    EnumeratedFieldOption:
      required:
        - displayOrder
        - label
        - value
      type: object
      properties:
        description:
          type: string
          description: Texto descritivo adicional sobre a opção.
        displayOrder:
          type: integer
          description: A ordem em que as opções serão exibidas.
          format: int32
        label:
          type: string
          description: O rótulo de associação visível para esta opção.
        value:
          type: string
          description: O valor que será enviado se esta opção for selecionada.
    DependentFieldFilter:
      required:
        - operator
        - rangeEnd
        - rangeStart
        - value
        - values
      type: object
      properties:
        operator:
          type: string
          description: >-
            O operador de comparação usado para avaliar a condição do campo
            dependente. Suporta igualdade (eq, neq), operações de string
            (contains, doesnt_contain, str_starts_with, str_ends_with),
            comparações numéricas (lt, lte, gt, gte), verificações de intervalos
            (between, not_between), operações de definição (set_any,
            set_not_any, set_eq, set_neq) e condições baseadas em tempo
            (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: >-
            O valor final para operadores baseados em intervalo (between,
            not_between). Deve ser fornecido juntamente com rangeStart.
        rangeStart:
          type: string
          description: >-
            O valor inicial para operadores baseados em intervalo (between,
            not_between). Deve ser fornecido juntamente com rangeEnd.
        value:
          type: string
          description: >-
            O valor único a ser comparado ao usar operadores como eq, neq,
            contains, lt, gt e outros operadores de comparação de valor único.
        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: ''

````