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

# Batch update properties

> Update multiple properties for a specified object type in a single request. This endpoint allows for efficient modification of property details, streamlining the process of managing object schemas in bulk. It is particularly useful for updating properties across different objects without making multiple API calls.

> [accordion] Supported products

> [accordion] Scope requirements


## OpenAPI

````yaml specs/2027-03-beta/crm-unified-schemas-v2027-03-beta.json POST /crm/schemas/2027-03-beta/objects/{objectTypeId}/properties/batch/update
openapi: 3.0.1
info:
  title: CRM Unified Schemas
  description: Basepom for all HubSpot Projects
  version: 2027-03-beta
  x-hubspot-product-tier-requirements:
    marketing: FREE
    sales: FREE
    service: FREE
    cms: FREE
    commerce: FREE
    crmHub: FREE
    dataHub: FREE
servers:
  - url: https://api.hubapi.com
security: []
tags:
  - name: Basic
  - name: Batch
paths:
  /crm/schemas/2027-03-beta/objects/{objectTypeId}/properties/batch/update:
    post:
      tags:
        - Batch
      summary: Batch update properties
      description: >-
        Update multiple properties for a specified object type in a single
        request. This endpoint allows for efficient modification of property
        details, streamlining the process of managing object schemas in bulk. It
        is particularly useful for updating properties across different objects
        without making multiple API calls.
      operationId: >-
        post-/crm/schemas/2027-03-beta/objects/{objectTypeId}/properties/batch/update
      parameters:
        - name: objectTypeId
          in: path
          description: >-
            The unique identifier of the object type whose properties are to be
            updated.
          required: true
          style: simple
          explode: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicApiBatchUpdateRequest'
        required: true
      responses:
        '200':
          description: successful operation
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponsePublicApiProperty'
        '207':
          description: multiple statuses
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BatchResponsePublicApiPropertyWithErrors'
        default:
          $ref: '#/components/responses/Error'
          description: ''
      security:
        - oauth2:
            - crm.schemas.quotes.write
        - oauth2:
            - crm.schemas.invoices.write
        - oauth2:
            - crm.schemas.orders.write
        - oauth2:
            - crm.schemas.commercepayments.write
        - oauth2:
            - crm.schemas.courses.write
        - oauth2:
            - tickets.sensitive.v2
        - oauth2:
            - e-commerce
        - oauth2:
            - crm.schemas.appointments.write
        - oauth2:
            - crm.schemas.contacts.write
        - oauth2:
            - crm.schemas.tasks.write
        - oauth2:
            - crm.schemas.carts.write
        - oauth2:
            - crm.objects.tickets.sensitive.write
        - oauth2:
            - crm.schemas.companies.write
        - oauth2:
            - crm.schemas.subscriptions.write
        - oauth2:
            - crm.schemas.emails.write
        - oauth2:
            - crm.schemas.custom.write
        - oauth2:
            - crm.schemas.listings.write
        - oauth2:
            - crm.pipelines.orders.write
        - oauth2:
            - crm.objects.users.write
        - oauth2:
            - tickets.highly_sensitive.v2
        - oauth2:
            - crm.schemas.services.write
        - oauth2:
            - crm.objects.orders.write
        - oauth2:
            - crm.schemas.notes.write
        - oauth2:
            - crm.schemas.contracts.write
        - oauth2:
            - crm.schemas.meetings.write
        - oauth2:
            - crm.schemas.deals.write
        - oauth2:
            - crm.schemas.projects.write
        - oauth2:
            - crm.objects.carts.write
        - oauth2:
            - crm.schemas.calls.write
        - oauth2:
            - crm.schemas.tickets.write
        - oauth2:
            - crm.objects.tickets.highly_sensitive.write
components:
  schemas:
    PublicApiBatchUpdateRequest:
      required:
        - inputs
      type: object
      properties:
        inputs:
          type: array
          description: >-
            An array of property updates, where each item is a
            PublicApiPropertyPatchWithName object. This array contains the
            details of the properties to be updated.
          items:
            $ref: '#/components/schemas/PublicApiPropertyPatchWithName'
    BatchResponsePublicApiProperty:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            The date and time when the batch operation was completed, in ISO
            8601 format.
          format: date-time
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs, providing additional
            resources or documentation related to the batch operation.
        requestedAt:
          type: string
          description: >-
            The date and time when the batch operation was requested, in ISO
            8601 format.
          format: date-time
        results:
          type: array
          description: >-
            An array of results from the batch operation, each item representing
            a public API property involved in the operation.
          items:
            $ref: '#/components/schemas/PublicApiProperty'
        startedAt:
          type: string
          description: >-
            The date and time when the batch operation started, in ISO 8601
            format.
          format: date-time
        status:
          type: string
          description: >-
            The current status of the batch operation. Valid values include
            'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    BatchResponsePublicApiPropertyWithErrors:
      required:
        - completedAt
        - results
        - startedAt
        - status
      type: object
      properties:
        completedAt:
          type: string
          description: >-
            The date and time when the batch operation was completed, in ISO
            8601 format.
          format: date-time
        errors:
          type: array
          description: >-
            An array of errors encountered during the batch operation, each
            containing details about the error.
          items:
            $ref: '#/components/schemas/StandardError'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs, providing additional context
            or actions related to the batch operation.
        numErrors:
          type: integer
          description: The number of errors encountered during the batch operation.
          format: int32
        requestedAt:
          type: string
          description: >-
            The date and time when the batch operation was requested, in ISO
            8601 format.
          format: date-time
        results:
          type: array
          description: >-
            An array of results from the batch operation, each representing a
            public API property.
          items:
            $ref: '#/components/schemas/PublicApiProperty'
        startedAt:
          type: string
          description: >-
            The date and time when the batch operation started, in ISO 8601
            format.
          format: date-time
        status:
          type: string
          description: >-
            The current status of the batch operation. Valid values include
            'PENDING', 'PROCESSING', 'CANCELED', and 'COMPLETE'.
          enum:
            - CANCELED
            - COMPLETE
            - PENDING
            - PROCESSING
    PublicApiPropertyPatchWithName:
      required:
        - name
      type: object
      properties:
        accessAllowlist:
          type: array
          description: >-
            An array of PublicAccessAllowlistEntry objects defining who can
            access the property.
          items:
            $ref: '#/components/schemas/PublicAccessAllowlistEntry'
        archived:
          type: boolean
          description: A boolean indicating whether the property is archived.
        calculationFormula:
          type: object
          properties: {}
          description: An object specifying the formula used for calculations.
        currencyPropertyName:
          type: object
          properties: {}
        dataEntryInstructions:
          type: object
          properties: {}
          description: An object providing instructions for data entry.
        dataSensitivity:
          type: object
          properties: {}
          description: An object representing the sensitivity level of the data.
        dateDisplayFormat:
          type: object
          properties: {}
        defaultValue:
          type: object
          properties: {}
          description: An object specifying the default value of the property.
        description:
          type: object
          properties: {}
          description: An object containing a description of the property.
        fieldType:
          type: string
          description: >-
            A string specifying the field type of the property. Valid options
            include 'BOOLEANCHECKBOX', 'CALCULATION_EQUATION',
            'CALCULATION_READ_TIME', 'CALCULATION_ROLLUP', 'CALCULATION_SCORE',
            'CHECKBOX', 'DATE', 'EMAIL', 'FILE', 'HTML', 'NUMBER',
            'PHONE_NUMBER', 'RADIO', 'SELECT', 'TEXT', 'TEXTAREA', 'UNKNOWN',
            and 'URL'.
          enum:
            - BOOLEANCHECKBOX
            - CALCULATION_EQUATION
            - CALCULATION_READ_TIME
            - CALCULATION_ROLLUP
            - CALCULATION_SCORE
            - CHECKBOX
            - DATE
            - EMAIL
            - FILE
            - HTML
            - NUMBER
            - PHONE_NUMBER
            - RADIO
            - SELECT
            - TEXT
            - TEXTAREA
            - UNKNOWN
            - URL
        formField:
          type: boolean
          description: A boolean indicating whether the property is used as a form field.
        groupName:
          type: string
          description: A string representing the group name to which the property belongs.
        hasUniqueValue:
          type: boolean
          description: A boolean indicating whether the property must have a unique value.
        label:
          type: string
          description: A string representing the display name of the property.
        name:
          type: string
          description: >-
            A string representing the unique name of the property. This field is
            required.
        numberDisplayFormat:
          type: object
          properties: {}
        optionDecorators:
          type: object
          properties: {}
          description: An object containing metadata for option decorators.
        options:
          type: object
          properties: {}
          description: An object containing the options available for the property.
        rollupConfig:
          type: object
          properties: {}
          description: An object containing configuration for rollup properties.
        sensitiveDataCategories:
          type: object
          properties: {}
        syncConfig:
          type: object
          properties: {}
          description: An object containing configuration for property synchronization.
        type:
          type: string
          description: >-
            A string indicating the data type of the property. Valid values
            include 'BOOL', 'CURRENCY_NUMBER', 'DATE', 'DATETIME',
            'ENUMERATION', 'JSON', 'NUMBER', 'OBJECT_COORDINATES',
            'PHONE_NUMBER', 'STRING', and 'TIME_RANGE'.
          enum:
            - BOOL
            - CURRENCY_NUMBER
            - DATE
            - DATETIME
            - ENUMERATION
            - JSON
            - NUMBER
            - OBJECT_COORDINATES
            - PHONE_NUMBER
            - STRING
            - TIME_RANGE
        validationRules:
          type: array
          description: >-
            An array of ValidationRule objects that define the validation rules
            for the property.
          items:
            $ref: '#/components/schemas/ValidationRule'
    PublicApiProperty:
      required:
        - category
        - fieldType
        - name
        - type
      type: object
      properties:
        accessAllowlist:
          type: array
          description: >-
            An array of access control entries defining who can view or edit the
            property.
          items:
            $ref: '#/components/schemas/PublicAccessAllowlistEntry'
        archivable:
          type: boolean
          description: A boolean indicating if the property can be archived.
        archived:
          type: boolean
          description: A boolean indicating whether the property is archived.
        calculated:
          type: boolean
          description: A boolean indicating if the property is calculated.
        calculationFormula:
          type: string
          description: >-
            The formula used for calculating the property's value, if
            applicable.
        category:
          type: string
          description: >-
            Indicates the origin of the property, with possible values being
            'HUBSPOT_DEFINED', 'INTEGRATION_DEFINED', or 'USER_DEFINED'.
          enum:
            - HUBSPOT_DEFINED
            - INTEGRATION_DEFINED
            - USER_DEFINED
        createdAt:
          type: string
          description: >-
            The date and time when the property was created, in ISO 8601
            date-time format.
          format: date-time
        createdByUserId:
          type: string
          description: The ID of the user who created the property.
        currencyPropertyName:
          type: string
          description: >-
            The name of the currency property associated with this property, if
            applicable.
        dataEntryInstructions:
          type: string
          description: >-
            Instructions for data entry related to the property, represented as
            a string.
        dataSensitivity:
          type: string
          description: >-
            Indicates the sensitivity level of the data, with possible values
            being 'NONE', 'STANDARD', or 'HIGH'.
          enum:
            - HIGH
            - NONE
            - STANDARD
        dateDisplayFormat:
          type: string
          description: >-
            The format used to display date values, with options such as
            'ABSOLUTE', 'ABSOLUTE_WITH_RELATIVE', 'TIME_SINCE', or 'TIME_UNTIL'.
          enum:
            - ABSOLUTE
            - ABSOLUTE_WITH_RELATIVE
            - TIME_SINCE
            - TIME_UNTIL
        defaultValue:
          type: string
          description: The default value assigned to the property, represented as a string.
        description:
          type: string
          description: A string providing a description of the property.
        fieldType:
          type: string
          description: >-
            Defines the field type of the property, with options including
            'BOOLEANCHECKBOX', 'CALCULATION_EQUATION', 'CALCULATION_READ_TIME',
            'CALCULATION_ROLLUP', 'CALCULATION_SCORE', 'CHECKBOX', 'DATE',
            'EMAIL', 'FILE', 'HTML', 'NUMBER', 'PHONE_NUMBER', 'RADIO',
            'SELECT', 'TEXT', 'TEXTAREA', 'UNKNOWN', or 'URL'.
          enum:
            - BOOLEANCHECKBOX
            - CALCULATION_EQUATION
            - CALCULATION_READ_TIME
            - CALCULATION_ROLLUP
            - CALCULATION_SCORE
            - CHECKBOX
            - DATE
            - EMAIL
            - FILE
            - HTML
            - NUMBER
            - PHONE_NUMBER
            - RADIO
            - SELECT
            - TEXT
            - TEXTAREA
            - UNKNOWN
            - URL
        formField:
          type: boolean
          description: A boolean indicating if the property is used as a form field.
        groupName:
          type: string
          description: The name of the group to which the property belongs.
        hasUniqueValue:
          type: boolean
          description: >-
            A boolean indicating if the property must have a unique value across
            records.
        hidden:
          type: boolean
          description: A boolean indicating if the property is hidden.
        label:
          type: string
          description: The label of the property, used for display purposes.
        name:
          type: string
          description: The unique name of the property, represented as a string.
        numberDisplayFormat:
          type: string
          description: >-
            The format used to display number values, with options such as
            'UNFORMATTED', 'FORMATTED', 'CURRENCY', 'PERCENTAGE', 'DURATION', or
            'PROBABILITY'.
          enum:
            - CURRENCY
            - DURATION
            - FORMATTED
            - PERCENTAGE
            - PROBABILITY
            - UNFORMATTED
        optionColors:
          type: array
          description: >-
            An array of colors associated with the property's options, used for
            visual representation.
          items:
            $ref: '#/components/schemas/OptionDecoratorColor'
        options:
          type: array
          description: >-
            An array of options available for the property, applicable if the
            property type is an enumeration.
          items:
            $ref: '#/components/schemas/Option'
        optionsSource:
          type: string
          description: >-
            The source of the property's options, with possible values being
            'OWNER', 'PERSONA', or 'CALL_DISPOSITION'.
          enum:
            - CALL_DISPOSITION
            - OWNER
            - PERSONA
        readOnlyDefinition:
          type: boolean
          description: A boolean indicating if the property's definition is read-only.
        readOnlyOptions:
          type: boolean
          description: A boolean indicating if the property's options are read-only.
        readOnlyValue:
          type: boolean
          description: A boolean indicating if the property's value is read-only.
        rollupConfig:
          $ref: '#/components/schemas/RollupPropertyConfiguration'
        sensitiveDataCategories:
          type: array
          description: >-
            An array of strings representing categories of sensitive data
            associated with the property.
          items:
            type: string
        syncConfig:
          $ref: '#/components/schemas/SyncPropertyConfiguration'
        type:
          type: string
          description: >-
            Specifies the data type of the property, such as 'BOOL',
            'CURRENCY_NUMBER', 'DATE', 'DATETIME', 'ENUMERATION', 'JSON',
            'NUMBER', 'OBJECT_COORDINATES', 'PHONE_NUMBER', 'STRING', or
            'TIME_RANGE'.
          enum:
            - BOOL
            - CURRENCY_NUMBER
            - DATE
            - DATETIME
            - ENUMERATION
            - JSON
            - NUMBER
            - OBJECT_COORDINATES
            - PHONE_NUMBER
            - STRING
            - TIME_RANGE
        updatedAt:
          type: string
          description: >-
            The date and time when the property was last updated, in ISO 8601
            date-time format.
          format: date-time
        updatedByUserId:
          type: string
          description: The ID of the user who last updated the property.
        validationRules:
          type: array
          description: An array of validation rules applied to the property.
          items:
            $ref: '#/components/schemas/ValidationRule'
    StandardError:
      required:
        - category
        - context
        - errors
        - links
        - message
        - status
      type: object
      properties:
        category:
          type: string
          description: A string indicating the category of the error.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            An object containing additional context about the error, with keys
            as context names and values as arrays of strings.
        errors:
          type: array
          description: >-
            An array of ErrorDetail objects providing further information about
            the error.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        id:
          type: string
          description: A string that uniquely identifies the error instance.
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            An object mapping link names to URIs that contain documentation or
            remediation steps related to the error.
        message:
          type: string
          description: A string containing a human-readable message describing the error.
        status:
          type: string
          description: A string representing the status of the error.
        subCategory:
          type: object
          properties: {}
          description: An object providing more specific categorization of the error.
      description: Ye olde error
    Error:
      required:
        - category
        - correlationId
        - message
      type: object
      properties:
        category:
          type: string
          description: The error category.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Context about the error condition, represented as an object with
            additional properties.
          example: >-
            {invalidPropertyName=[propertyValue], missingScopes=[scope1,
            scope2]}
        correlationId:
          type: string
          description: >-
            A unique identifier for the request. Include this value with any
            error reports or support tickets.
          format: uuid
          example: aeb5f871-7f07-4993-9211-075dc63e7cbf
        errors:
          type: array
          description: >-
            Further information about the error, represented as an array of
            ErrorDetail objects.
          items:
            $ref: '#/components/schemas/ErrorDetail'
        links:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of link names to associated URIs containing documentation
            about the error or recommended remediation steps.
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate.
          example: An error occurred
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error.
      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
    PublicAccessAllowlistEntry:
      required:
        - accessType
        - entityId
        - entityType
      type: object
      properties:
        accessType:
          type: string
          description: The type of access granted, which can be either 'EDIT' or 'VIEW'.
          enum:
            - EDIT
            - VIEW
        entityId:
          type: string
          description: The unique identifier of the entity to which the access is granted.
        entityType:
          type: string
          description: >-
            The type of entity that the access is granted to, which can be
            'ALL', 'TEAM', 'USER', or 'ADMIN'.
          enum:
            - ADMIN
            - ALL
            - TEAM
            - USER
    ValidationRule:
      required:
        - ruleArguments
        - ruleType
      type: object
      properties:
        ruleArguments:
          type: array
          description: >-
            An array of strings that provide additional parameters or
            constraints required by the validation rule specified in 'ruleType'.
          items:
            type: string
        ruleType:
          type: string
          description: >-
            A string indicating the type of validation rule to apply. Valid
            values include 'FORMAT', 'ALPHANUMERIC', 'MAX_LENGTH', 'MIN_LENGTH',
            'MIN_NUMBER', 'MAX_NUMBER', 'START_DATE', 'END_DATE',
            'SPECIAL_CHARACTERS', 'WHITESPACE', 'DECIMAL', 'BEFORE_DURATION',
            'AFTER_DURATION', 'DAYS_OF_WEEK', 'REGEX', 'START_DATETIME',
            'END_DATETIME', 'BEFORE_DATETIME_DURATION',
            'AFTER_DATETIME_DURATION',
            'PHONE_NUMBER_WITH_EXPLICIT_COUNTRY_CODE', 'URL',
            'URL_ALLOWED_DOMAINS', 'URL_BLOCKED_DOMAINS', 'EMAIL',
            'EMAIL_ALLOWED_DOMAINS', 'EMAIL_BLOCKED_DOMAINS', and 'DOMAIN'.
          enum:
            - AFTER_DATETIME_DURATION
            - AFTER_DURATION
            - ALPHANUMERIC
            - BEFORE_DATETIME_DURATION
            - BEFORE_DURATION
            - DAYS_OF_WEEK
            - DECIMAL
            - DOMAIN
            - EMAIL
            - EMAIL_ALLOWED_DOMAINS
            - EMAIL_BLOCKED_DOMAINS
            - END_DATE
            - END_DATETIME
            - FORMAT
            - MAX_LENGTH
            - MAX_NUMBER
            - MIN_LENGTH
            - MIN_NUMBER
            - PHONE_NUMBER_WITH_EXPLICIT_COUNTRY_CODE
            - REGEX
            - SPECIAL_CHARACTERS
            - START_DATE
            - START_DATETIME
            - URL
            - URL_ALLOWED_DOMAINS
            - URL_BLOCKED_DOMAINS
            - WHITESPACE
        shouldApplyNormalization:
          type: boolean
          description: >-
            A boolean indicating whether normalization should be applied to the
            property value before validation.
    OptionDecoratorColor:
      required:
        - color
        - optionName
      type: object
      properties:
        color:
          type: string
          description: >-
            The color assigned to the option, represented as a string. Valid
            values include 'BLACK', 'BLUE', 'BLUE_LIGHT', 'GRAY', 'GREEN',
            'GREEN_LIGHT', 'ORANGE', 'ORANGE_LIGHT', 'PINK', 'PINK_LIGHT',
            'PURPLE', 'PURPLE_LIGHT', 'RED', 'RED_LIGHT', 'TEAL', 'TEAL_LIGHT',
            'YELLOW', and 'YELLOW_LIGHT'.
          enum:
            - BLACK
            - BLUE
            - BLUE_LIGHT
            - GRAY
            - GREEN
            - GREEN_LIGHT
            - ORANGE
            - ORANGE_LIGHT
            - PINK
            - PINK_LIGHT
            - PURPLE
            - PURPLE_LIGHT
            - RED
            - RED_LIGHT
            - TEAL
            - TEAL_LIGHT
            - YELLOW
            - YELLOW_LIGHT
        optionName:
          type: string
          description: >-
            The name of the option to which the color decoration is applied. It
            is a string.
    Option:
      type: object
      properties:
        description:
          type: string
          description: A string providing additional information about the option.
        displayOrder:
          type: integer
          description: >-
            An integer representing the order in which the option should be
            displayed relative to other options.
          format: int32
        hidden:
          type: boolean
          description: >-
            A boolean indicating whether the option is hidden from the user
            interface.
        label:
          type: string
          description: The display name of the option, shown to users.
        value:
          type: string
          description: >-
            The internal value associated with the option, used for data storage
            and retrieval.
      description: A HubSpot property option
    RollupPropertyConfiguration:
      required:
        - associatedRecordProperty
        - associatedRecordType
        - associationSpec
        - rollupType
      type: object
      properties:
        associatedRecordProperty:
          type: string
          description: >-
            The specific property of the associated record that is used in the
            rollup calculation, represented as a string.
        associatedRecordType:
          type: string
          description: >-
            The type of the record associated with this rollup property,
            represented as a string.
        associationSpec:
          $ref: '#/components/schemas/PublicAssociationSpec'
        conditionalFormula:
          type: string
          description: >-
            A string representing a conditional formula that determines when the
            rollup calculation should be applied.
        rollupType:
          type: string
          description: >-
            The type of rollup calculation to perform. Valid values include
            'MIN', 'MAX', 'AVG', 'COUNT', 'SUM', 'EARLIEST_DATE', and
            'LATEST_DATE'.
          enum:
            - AVG
            - COUNT
            - EARLIEST_DATE
            - LATEST_DATE
            - MAX
            - MIN
            - SUM
    SyncPropertyConfiguration:
      required:
        - associatedRecordProperty
        - associatedRecordType
        - associationSpec
        - syncPreference
      type: object
      properties:
        associatedRecordProperty:
          type: string
          description: >-
            The specific property of the associated record that is involved in
            the synchronization. It is a string value.
        associatedRecordType:
          type: string
          description: >-
            The type of record that is associated with the property being
            synchronized. It is a string value.
        associationSpec:
          $ref: '#/components/schemas/PublicAssociationSpec'
        syncPreference:
          type: string
          description: >-
            The preference for synchronization, determining which value should
            be prioritized. Valid values include 'FIRST_CREATED',
            'MOST_RECENTLY_CREATED', and 'SYNC_VALUE'.
          enum:
            - FIRST_CREATED
            - MOST_RECENTLY_CREATED
            - SYNC_VALUE
    ErrorDetail:
      required:
        - message
      type: object
      properties:
        code:
          type: string
          description: The status code associated with the error detail.
        context:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: >-
            Context about the error condition, represented as an object with
            additional properties.
          example: '{missingScopes=[scope1, scope2]}'
        in:
          type: string
          description: The name of the field or parameter in which the error was found.
        message:
          type: string
          description: >-
            A human readable message describing the error along with remediation
            steps where appropriate.
        subCategory:
          type: string
          description: >-
            A specific category that contains more specific detail about the
            error.
    PublicAssociationSpec:
      required:
        - category
        - typeId
      type: object
      properties:
        category:
          type: string
          description: >-
            A string indicating the category of the association. Valid values
            include 'HUBSPOT_DEFINED', 'USER_DEFINED', and 'INTEGRATOR_DEFINED'.
          enum:
            - HUBSPOT_DEFINED
            - INTEGRATOR_DEFINED
            - USER_DEFINED
        typeId:
          type: integer
          description: >-
            An integer representing the unique identifier for the type of
            association.
          format: int32
  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:
            automation: ''
            cpq.price_books.read: ''
            cpq.price_books.write: ''
            cpq.quotes.read: ''
            cpq.quotes.write: ''
            crm.objects.appointments.read: ''
            crm.objects.appointments.sensitive.read.v2: ''
            crm.objects.appointments.sensitive.write.v2: ''
            crm.objects.appointments.write: ''
            crm.objects.calls.read: ''
            crm.objects.calls.write: ''
            crm.objects.carts.read: ''
            crm.objects.carts.write: ''
            crm.objects.commercepayments.write: ''
            crm.objects.companies.highly_sensitive.read.v2: ''
            crm.objects.companies.highly_sensitive.write.v2: ''
            crm.objects.companies.read: ''
            crm.objects.companies.sensitive.read.v2: ''
            crm.objects.companies.sensitive.write.v2: ''
            crm.objects.companies.write: ''
            crm.objects.contacts.highly_sensitive.read.v2: ''
            crm.objects.contacts.highly_sensitive.write.v2: ''
            crm.objects.contacts.read: ''
            crm.objects.contacts.sensitive.read.v2: ''
            crm.objects.contacts.sensitive.write.v2: ''
            crm.objects.contacts.write: ''
            crm.objects.contracts.read: ''
            crm.objects.courses.read: ''
            crm.objects.courses.write: ''
            crm.objects.custom.highly_sensitive.read.v2: ''
            crm.objects.custom.highly_sensitive.write.v2: ''
            crm.objects.custom.read: ''
            crm.objects.custom.sensitive.read.v2: ''
            crm.objects.custom.sensitive.write.v2: ''
            crm.objects.custom.write: ''
            crm.objects.deals.highly_sensitive.read.v2: ''
            crm.objects.deals.highly_sensitive.write.v2: ''
            crm.objects.deals.read: ''
            crm.objects.deals.sensitive.read.v2: ''
            crm.objects.deals.sensitive.write.v2: ''
            crm.objects.deals.write: ''
            crm.objects.emails.read: ''
            crm.objects.emails.write: ''
            crm.objects.feedback_submissions.read: ''
            crm.objects.forecasts.read: ''
            crm.objects.goals.read: ''
            crm.objects.goals.write: ''
            crm.objects.invoices.read: ''
            crm.objects.invoices.write: ''
            crm.objects.leads.read: ''
            crm.objects.leads.write: ''
            crm.objects.line_items.read: ''
            crm.objects.line_items.write: ''
            crm.objects.listings.read: ''
            crm.objects.listings.write: ''
            crm.objects.marketing_events.read: ''
            crm.objects.marketing_events.write: ''
            crm.objects.meetings.read: ''
            crm.objects.meetings.write: ''
            crm.objects.notes.read: ''
            crm.objects.notes.write: ''
            crm.objects.orders.read: ''
            crm.objects.orders.write: ''
            crm.objects.owners.read: ''
            crm.objects.products.write: ''
            crm.objects.projects.highly_sensitive.read: ''
            crm.objects.projects.highly_sensitive.write: ''
            crm.objects.projects.read: ''
            crm.objects.projects.sensitive.read: ''
            crm.objects.projects.sensitive.write: ''
            crm.objects.projects.write: ''
            crm.objects.quotes.read: ''
            crm.objects.quotes.write: ''
            crm.objects.services.read: ''
            crm.objects.services.write: ''
            crm.objects.subscriptions.read: ''
            crm.objects.subscriptions.write: ''
            crm.objects.tasks.read: ''
            crm.objects.tasks.write: ''
            crm.objects.tickets.highly_sensitive.read: ''
            crm.objects.tickets.highly_sensitive.write: ''
            crm.objects.tickets.read: ''
            crm.objects.tickets.sensitive.read: ''
            crm.objects.tickets.sensitive.write: ''
            crm.objects.tickets.write: ''
            crm.objects.users.read: ''
            crm.objects.users.write: ''
            crm.pipelines.approval.read: ''
            crm.pipelines.orders.read: ''
            crm.pipelines.orders.write: ''
            crm.schemas.appointments.read: ''
            crm.schemas.appointments.write: ''
            crm.schemas.calls.read: ''
            crm.schemas.calls.write: ''
            crm.schemas.carts.read: ''
            crm.schemas.carts.write: ''
            crm.schemas.commercepayments.read: ''
            crm.schemas.commercepayments.write: ''
            crm.schemas.companies.read: ''
            crm.schemas.companies.write: ''
            crm.schemas.contacts.read: ''
            crm.schemas.contacts.write: ''
            crm.schemas.contracts.read: ''
            crm.schemas.contracts.write: ''
            crm.schemas.courses.read: ''
            crm.schemas.courses.write: ''
            crm.schemas.custom.read: ''
            crm.schemas.custom.write: ''
            crm.schemas.deals.read: ''
            crm.schemas.deals.write: ''
            crm.schemas.emails.read: ''
            crm.schemas.emails.write: ''
            crm.schemas.forecasts.read: ''
            crm.schemas.invoices.read: ''
            crm.schemas.invoices.write: ''
            crm.schemas.line_items.read: ''
            crm.schemas.listings.read: ''
            crm.schemas.listings.write: ''
            crm.schemas.meetings.read: ''
            crm.schemas.meetings.write: ''
            crm.schemas.notes.read: ''
            crm.schemas.notes.write: ''
            crm.schemas.orders.read: ''
            crm.schemas.orders.write: ''
            crm.schemas.projects.read: ''
            crm.schemas.projects.write: ''
            crm.schemas.quotes.read: ''
            crm.schemas.quotes.write: ''
            crm.schemas.services.read: ''
            crm.schemas.services.write: ''
            crm.schemas.subscriptions.read: ''
            crm.schemas.subscriptions.write: ''
            crm.schemas.tasks.read: ''
            crm.schemas.tasks.write: ''
            crm.schemas.tickets.read: ''
            crm.schemas.tickets.write: ''
            e-commerce: ''
            media_bridge.read: ''
            tickets.highly_sensitive.v2: ''
            tickets.sensitive.v2: ''
            workflows.read: ''
            workflows.write: ''
      x-hubspot-app-availability:
        automation:
          portal:
            - public
            - private
          developer: false
        cpq.price_books.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        cpq.price_books.write:
          portal:
            - public
            - private
          developer: false
        cpq.quotes.read:
          portal:
            - public
          user:
            - public
          developer: false
        cpq.quotes.write:
          portal:
            - public
          user:
            - public
          developer: false
        crm.objects.appointments.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.appointments.sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.appointments.sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.appointments.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.calls.read:
          user:
            - public
            - private
          developer: false
        crm.objects.calls.write:
          user:
            - public
            - private
          developer: false
        crm.objects.carts.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.carts.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.commercepayments.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.companies.highly_sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.companies.highly_sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.companies.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.objects.companies.sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.companies.sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.companies.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.contacts.highly_sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.contacts.highly_sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.contacts.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.objects.contacts.sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.contacts.sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.contacts.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.contracts.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.courses.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.courses.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.custom.highly_sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.custom.highly_sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.custom.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.objects.custom.sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.custom.sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.custom.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.objects.deals.highly_sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.deals.highly_sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.deals.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.objects.deals.sensitive.read.v2:
          portal:
            - private
          developer: false
        crm.objects.deals.sensitive.write.v2:
          portal:
            - private
          developer: false
        crm.objects.deals.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.emails.read:
          user:
            - public
            - private
          developer: false
        crm.objects.emails.write:
          user:
            - public
            - private
          developer: false
        crm.objects.feedback_submissions.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.forecasts.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.goals.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.goals.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.invoices.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.invoices.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.leads.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.leads.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.line_items.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.line_items.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.listings.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.listings.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.marketing_events.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.marketing_events.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.meetings.read:
          user:
            - public
            - private
          developer: false
        crm.objects.meetings.write:
          user:
            - public
            - private
          developer: false
        crm.objects.notes.read:
          user:
            - public
            - private
          developer: false
        crm.objects.notes.write:
          user:
            - public
            - private
          developer: false
        crm.objects.orders.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.orders.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.owners.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.objects.products.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.projects.highly_sensitive.read:
          portal:
            - private
          developer: false
        crm.objects.projects.highly_sensitive.write:
          portal:
            - private
          developer: false
        crm.objects.projects.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.projects.sensitive.read:
          portal:
            - private
          developer: false
        crm.objects.projects.sensitive.write:
          portal:
            - private
          developer: false
        crm.objects.projects.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.quotes.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.quotes.write:
          portal:
            - public
            - private
          developer: false
        crm.objects.services.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.services.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.subscriptions.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.subscriptions.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.tasks.read:
          user:
            - public
            - private
          developer: false
        crm.objects.tasks.write:
          user:
            - public
            - private
          developer: false
        crm.objects.tickets.highly_sensitive.read:
          user:
            - public
            - private
          developer: false
        crm.objects.tickets.highly_sensitive.write:
          user:
            - public
            - private
          developer: false
        crm.objects.tickets.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.tickets.sensitive.read:
          user:
            - public
            - private
          developer: false
        crm.objects.tickets.sensitive.write:
          user:
            - public
            - private
          developer: false
        crm.objects.tickets.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.objects.users.read:
          portal:
            - public
            - private
          developer: false
        crm.objects.users.write:
          portal:
            - public
            - private
          developer: false
        crm.pipelines.approval.read:
          portal:
            - public
            - private
          developer: false
        crm.pipelines.orders.read:
          portal:
            - public
            - private
          developer: false
        crm.pipelines.orders.write:
          portal:
            - public
            - private
          developer: false
        crm.schemas.appointments.read:
          portal:
            - public
            - private
          developer: false
        crm.schemas.appointments.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.calls.read:
          user:
            - public
            - private
          developer: false
        crm.schemas.calls.write:
          user:
            - public
            - private
          developer: false
        crm.schemas.carts.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.carts.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.commercepayments.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.commercepayments.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.companies.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.schemas.companies.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.contacts.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.schemas.contacts.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.contracts.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.contracts.write:
          user:
            - public
            - private
          developer: false
        crm.schemas.courses.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.courses.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.custom.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.schemas.custom.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.schemas.deals.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: true
        crm.schemas.deals.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.emails.read:
          user:
            - public
            - private
          developer: false
        crm.schemas.emails.write:
          user:
            - public
            - private
          developer: false
        crm.schemas.forecasts.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.invoices.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.invoices.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.line_items.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.listings.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.listings.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.meetings.read:
          user:
            - public
            - private
          developer: false
        crm.schemas.meetings.write:
          user:
            - public
            - private
          developer: false
        crm.schemas.notes.read:
          user:
            - public
            - private
          developer: false
        crm.schemas.notes.write:
          user:
            - public
            - private
          developer: false
        crm.schemas.orders.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.orders.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.projects.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.projects.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.quotes.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.quotes.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.services.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.services.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.subscriptions.read:
          portal:
            - public
            - private
          developer: false
        crm.schemas.subscriptions.write:
          portal:
            - public
            - private
          developer: false
        crm.schemas.tasks.read:
          user:
            - public
            - private
          developer: false
        crm.schemas.tasks.write:
          user:
            - public
            - private
          developer: false
        crm.schemas.tickets.read:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        crm.schemas.tickets.write:
          portal:
            - public
            - private
          user:
            - public
            - private
          developer: false
        e-commerce:
          portal:
            - public
            - private
          developer: false
        media_bridge.read:
          portal:
            - public
            - private
          developer: false
        tickets.highly_sensitive.v2:
          portal:
            - private
          developer: false
        tickets.sensitive.v2:
          portal:
            - private
          developer: false
        workflows.read:
          user:
            - public
            - private
          developer: false
        workflows.write:
          user:
            - public
            - private
          developer: false

````