> ## 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.

# Retrieve all custom object schemas.

> Recupere todos os esquemas de objetos personalizados, com opções para incluir definições de propriedades, definições de associações e metadados de auditoria.

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="ENTERPRISE" salesLevel="ENTERPRISE" serviceLevel="ENTERPRISE" cmsLevel="ENTERPRISE" />
  </Accordion>

  <Accordion title="Required Scopes" icon="key">
    <ScopesList
      scopes={[
  'crm.schemas.custom.read',
  'crm.objects.custom.sensitive.read.v2',
  'crm.objects.custom.highly_sensitive.read.v2',
  'crm.objects.custom.read'
]}
    />
  </Accordion>
</AccordionGroup>


## OpenAPI

````yaml specs/2026-03/crm-schemas-v2026-03.json GET /crm-object-schemas/2026-03/schemas
openapi: 3.0.1
info:
  title: Esquemas
  description: Basepom for all HubSpot Projects
  version: 2026-03
  x-hubspot-product-tier-requirements:
    marketing: ENTERPRISE
    sales: ENTERPRISE
    service: ENTERPRISE
    cms: ENTERPRISE
    commerce: ENTERPRISE
    crmHub: ENTERPRISE
    dataHub: ENTERPRISE
  x-hubspot-api-use-case: >-
    Crie um novo objeto para armazenar informações sobre carros em uma
    concessionária. A definição do objeto pode incluir propriedades para
    armazenar informações, bem como os filtros disponíveis na página de índice
    do objeto personalizado.
  x-hubspot-introduction: >-
    Use a API de esquema de objetos personalizados para definir novos tipos de
    registros do CRM na sua conta. Após configurar um esquema de objetos, você
    poderá criar registros para esse objeto personalizado no HubSpot e usando a
    API de objetos.
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Advanced
  - name: Basic
  - name: Batch
paths:
  /crm-object-schemas/2026-03/schemas:
    get:
      tags:
        - Basic
      summary: Recupere todos os esquemas de objetos personalizados.
      description: >-
        Recupere todos os esquemas de objetos personalizados, com opções para
        incluir definições de propriedades, definições de associações e
        metadados de auditoria.
      operationId: get-/crm-object-schemas/2026-03/schemas_getAll
      parameters:
        - name: archived
          in: query
          description: Se apenas os resultados que foram arquivados devem ser retornados.
          required: false
          style: form
          explode: true
          schema:
            type: boolean
            default: false
        - name: includeAssociationDefinitions
          in: query
          description: ''
          required: false
          style: form
          explode: true
          schema:
            type: boolean
            default: true
        - name: includeAuditMetadata
          in: query
          description: ''
          required: false
          style: form
          explode: true
          schema:
            type: boolean
            default: true
        - name: includePropertyDefinitions
          in: query
          description: ''
          required: false
          style: form
          explode: true
          schema:
            type: boolean
            default: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CollectionResponseObjectSchemaNoPaging'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - crm.schemas.custom.read
        - oauth2:
            - crm.objects.custom.sensitive.read.v2
        - oauth2:
            - crm.objects.custom.highly_sensitive.read.v2
        - oauth2:
            - crm.objects.custom.read
components:
  schemas:
    CollectionResponseObjectSchemaNoPaging:
      required:
        - results
      type: object
      properties:
        results:
          type: array
          items:
            $ref: '#/components/schemas/ObjectSchema'
    ObjectSchema:
      required:
        - allowsSensitiveProperties
        - archived
        - associations
        - fullyQualifiedName
        - id
        - labels
        - name
        - objectTypeId
        - properties
        - requiredProperties
        - searchableProperties
        - secondaryDisplayProperties
      type: object
      properties:
        allowsSensitiveProperties:
          type: boolean
        archived:
          type: boolean
        associations:
          type: array
          description: Associações definidas para um determinado tipo de objeto.
          items:
            $ref: '#/components/schemas/AssociationDefinition'
        createdAt:
          type: string
          description: Quando o esquema do objeto foi criado.
          format: date-time
        createdByUserId:
          type: integer
          format: int32
        description:
          type: string
        fullyQualifiedName:
          type: string
          description: >-
            Um ID exclusivo atribuído ao objeto, incluindo o ID do portal e o
            nome do objeto.
        id:
          type: string
          description: >-
            Um ID exclusivo para o tipo de objeto deste esquema. Será definido
            como {meta-type}-{unique ID}.
        labels:
          $ref: '#/components/schemas/ObjectTypeDefinitionLabels'
        name:
          type: string
          description: Um nome exclusivo para o tipo de objeto do esquema.
        objectTypeId:
          type: string
        primaryDisplayProperty:
          type: string
          description: >-
            O nome da propriedade principal para este objeto. Será exibido como
            principal na página de registro do HubSpot para este tipo de objeto.
        properties:
          type: array
          description: Propriedades definidas para este tipo de objeto.
          items:
            $ref: '#/components/schemas/Property'
        requiredProperties:
          type: array
          description: >-
            Os nomes das propriedades que devem ser **obrigatórias** ao criar um
            objeto deste tipo.
          items:
            type: string
        searchableProperties:
          type: array
          description: >-
            Nomes das propriedades que serão indexadas para este tipo de objeto
            na pesquisa de produtos da HubSpot.
          items:
            type: string
        secondaryDisplayProperties:
          type: array
          description: >-
            Os nomes das propriedades secundárias para este objeto. Serão
            exibidas como secundárias na página do registro do HubSpot para este
            tipo de objeto.
          items:
            type: string
        updatedAt:
          type: string
          description: Quando o esquema do objeto foi atualizado pela última vez.
          format: date-time
        updatedByUserId:
          type: integer
          format: int32
    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
    AssociationDefinition:
      required:
        - fromObjectTypeId
        - id
        - toObjectTypeId
      type: object
      properties:
        createdAt:
          type: string
          description: Quando a associação foi definida.
          format: date-time
        fromObjectTypeId:
          type: string
          description: O ID do tipo de objeto principal do qual vincular.
        id:
          type: string
          description: Um ID exclusivo para esta associação.
        name:
          type: string
          description: O nome exclusivo desta associação.
        toObjectTypeId:
          type: string
          description: A ID do objeto do CRM de destino ao qual vincular.
        updatedAt:
          type: string
          description: Quando a associação foi atualizada pela última vez.
          format: date-time
      description: The definition of an association
    ObjectTypeDefinitionLabels:
      type: object
      properties:
        plural:
          type: string
          description: >-
            A palavra para vários objetos. (Não é possível alterar isso mais
            tarde.)
        singular:
          type: string
          description: A palavra para um objeto. (Não é possível alterar isso mais tarde.)
    Property:
      required:
        - description
        - fieldType
        - groupName
        - label
        - name
        - options
        - type
      type: object
      properties:
        archived:
          type: boolean
          description: Se a propriedade está arquivada ou não.
        archivedAt:
          type: string
          description: Quando a propriedade foi arquivada.
          format: date-time
        calculated:
          type: boolean
          description: >-
            Para propriedades padrão, verdadeiro indica que a propriedade é
            calculada por um processo da HubSpot. Não tem efeito para
            propriedades personalizadas.
        calculationFormula:
          type: string
          description: The formula used for calculated properties.
        createdAt:
          type: string
          description: Quando a propriedade foi criada
          format: date-time
        createdUserId:
          type: string
          description: >-
            O ID interno do usuário que criou a propriedade no HubSpot. Este
            campo pode não existir se a propriedade foi criada fora do HubSpot.
        currencyPropertyName:
          type: string
          description: The name of the related currency property.
        dataSensitivity:
          type: string
          description: >-
            Indicates the sensitivity level of the property, such as
            "non_sensitive", "sensitive", or "highly_sensitive".
          enum:
            - highly_sensitive
            - non_sensitive
            - sensitive
        dateDisplayHint:
          type: string
          description: >-
            Controla como as propriedades de data são exibidas na interface do
            HubSpot, com opções como "absolute", "absolute_with_relative",
            "time_since" e "time_until".
          enum:
            - absolute
            - absolute_with_relative
            - time_since
            - time_until
        description:
          type: string
          description: >-
            Uma descrição da propriedade que será exibida como texto de ajuda no
            HubSpot.
        displayOrder:
          type: integer
          description: >-
            A ordem em que esta propriedade deve ser exibida na interface do
            HubSpot em relação a outras propriedades para este tipo de objeto.
            As propriedades são exibidas em ordem, começando pelo menor valor
            inteiro positivo. Um valor de -1 fará com que a propriedade seja
            exibida **após** os valores positivos.
          format: int32
        externalOptions:
          type: boolean
          description: >-
            Para propriedades padrão, verdadeiro indica que as opções são
            armazenadas externamente às configurações da propriedade.
        fieldType:
          type: string
          description: Controla como a propriedade aparece no HubSpot.
        formField:
          type: boolean
          description: Se a propriedade pode ser usada em um formulário da HubSpot.
        groupName:
          type: string
          description: O nome do grupo de propriedades ao qual a propriedade pertence.
        hasUniqueValue:
          type: boolean
          description: >-
            Se o valor da propriedade deve ser exclusivo ou não. Uma vez
            definido, isso não pode ser alterado.
        hidden:
          type: boolean
          description: Opções ocultas não serão mostradas no HubSpot.
          example: false
        hubspotDefined:
          type: boolean
          description: >-
            Será verdadeiro para propriedades de objeto padrão incorporadas ao
            HubSpot.
        label:
          type: string
          description: >-
            Um rótulo de propriedade legível por humanos que será exibido no
            HubSpot.
        modificationMetadata:
          $ref: '#/components/schemas/PropertyModificationMetadata'
        name:
          type: string
          description: >-
            O nome interno da propriedade, que deve ser usado ao referenciá-la
            via API.
        numberDisplayHint:
          type: string
          description: >-
            Hint for how a number property is displayed and validated in
            HubSpot's UI. Can be: "unformatted", "formatted", "currency",
            "percentage", "duration", or "probability".
          enum:
            - currency
            - duration
            - formatted
            - percentage
            - probability
            - unformatted
        options:
          type: array
          description: >-
            Uma lista de opções válidas para a propriedade. Este campo é
            obrigatório para propriedades enumeradas, mas estará vazio para
            outros tipos de propriedade.
          items:
            $ref: '#/components/schemas/Option'
        referencedObjectType:
          type: string
          description: >-
            Se esta propriedade estiver relacionada a outro(s) objeto(s), ele(s)
            será(ão) listado(s) aqui.
        sensitiveDataCategories:
          type: array
          description: >-
            When sensitiveData is true, lists the type of sensitive data
            contained in the property (e.g., "HIPAA").
          items:
            type: string
        showCurrencySymbol:
          type: boolean
          description: >-
            Se a propriedade exibirá o símbolo da moeda definido nas
            configurações da conta.
        textDisplayHint:
          type: string
          description: >-
            Hint for how the text is displayed and validated in HubSpot's UI.
            Can be: "unformatted_single_line", "multi_line", "email",
            "phone_number", "domain_name", "ip_address", "physical_address", or
            "postal_code".
          enum:
            - domain_name
            - email
            - ip_address
            - multi_line
            - phone_number
            - physical_address
            - postal_code
            - unformatted_single_line
        type:
          type: string
          description: O tipo de dados da propriedade.
        updatedAt:
          type: string
          description: Quando o tipo de objeto foi atualizado pela última vez.
          format: date-time
        updatedUserId:
          type: string
          description: >-
            O ID de usuário interno do usuário que atualizou a propriedade no
            HubSpot. Este campo pode não existir se a propriedade foi atualizada
            fora do HubSpot.
      description: A HubSpot property
    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
    PropertyModificationMetadata:
      required:
        - archivable
        - readOnlyDefinition
        - readOnlyValue
      type: object
      properties:
        archivable:
          type: boolean
          description: Indica se a propriedade pode ser arquivada.
        readOnlyDefinition:
          type: boolean
          description: Indica se a definição da propriedade é somente leitura.
        readOnlyOptions:
          type: boolean
          description: Indica se as opções da propriedade são somente leitura.
        readOnlyValue:
          type: boolean
          description: Indica se o valor da propriedade é somente leitura.
    Option:
      required:
        - hidden
        - label
        - value
      type: object
      properties:
        description:
          type: string
          description: Uma descrição da opção.
        displayOrder:
          type: integer
          description: >-
            As opções são exibidas em ordem, começando com o menor valor inteiro
            positivo. Valores de -1 farão com que a opção seja exibida após os
            valores positivos.
          format: int32
        hidden:
          type: boolean
          description: Opções ocultas não serão exibidas no HubSpot.
        label:
          type: string
          description: Um rótulo de opção legível por humanos que será exibido no HubSpot.
        value:
          type: string
          description: >-
            O valor interno da opção, que deve ser usado ao definir o valor da
            propriedade através da API.
      description: A HubSpot property option
  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:
            crm.objects.custom.highly_sensitive.read.v2: ''
            crm.objects.custom.read: ''
            crm.objects.custom.sensitive.read.v2: ''
            crm.objects.custom.sensitive.write.v2: ''
            crm.schemas.custom.read: ''
            crm.schemas.custom.write: ''
            oauth: ''

````