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

# Update a CRM field

> Update a CRM field definition.

<table width="100%">
  <thead>
    <tr>
      <th>Token cost</th>
      <th>Rate limit</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>40 tokens</td>
      <td>120 requests/min per route/org</td>
    </tr>
  </tbody>
</table>



## OpenAPI

````yaml /api/openapi.json patch /crm/fields/{fieldDefinitionId}
openapi: 3.1.0
info:
  title: Breakcold Public API
  version: 1.0.0
  description: >-
    Contract-first public API for Breakcold records, tasks, notes, inbox, and
    MCP tools.
servers:
  - url: https://rest.breakcold.com/api/v1
    description: Universal endpoint (routes to your region automatically)
security: []
tags:
  - name: Workspaces
  - name: CRM
  - name: Records
  - name: Tasks
  - name: Notes
  - name: Inbox
  - name: Meetings
  - name: Webhooks
paths:
  /crm/fields/{fieldDefinitionId}:
    patch:
      tags:
        - CRM
      summary: Update a CRM field
      description: |-
        Update a CRM field definition.

        <table width="100%">
          <thead>
            <tr>
              <th>Token cost</th>
              <th>Rate limit</th>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>40 tokens</td>
              <td>120 requests/min per route/org</td>
            </tr>
          </tbody>
        </table>
      operationId: updateCrmField
      parameters:
        - name: X-Breakcold-Organization-Id
          in: header
          required: false
          schema:
            type: string
          description: >-
            Breakcold organization ID. API keys already carry their
            organization, so most API-key requests do not need this header. Use
            it only when Breakcold asks you to choose an organization for a
            signed-in user token.
        - name: fieldDefinitionId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                description:
                  type: string
                isRequired:
                  type: boolean
                isHidden:
                  type: boolean
                isMultiple:
                  type: boolean
                showInCreateModal:
                  type: boolean
                defaultValue: {}
                validation:
                  type: object
                  additionalProperties: true
                targetObjectTypeId:
                  type: string
                  minLength: 6
                notifyOnAssign:
                  type: boolean
                interactionRollupMode:
                  type: string
                defaultValueTemplate:
                  type: string
                isComputed:
                  type: boolean
                computeExpression:
                  type: string
                isIdentifier:
                  type: boolean
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                type: object
                properties:
                  field:
                    type: object
                    properties:
                      id:
                        type: string
                        minLength: 6
                      workspaceId:
                        type: string
                        minLength: 6
                      objectTypeId:
                        type: string
                        minLength: 6
                      slug:
                        type: string
                      name:
                        type: string
                      description:
                        type: string
                      fieldType:
                        type: string
                      isSystem:
                        type: boolean
                      isRequired:
                        type: boolean
                      isHidden:
                        type: boolean
                      isReadOnly:
                        type: boolean
                      isMultiple:
                        type: boolean
                      isPrimary:
                        type: boolean
                      showInCreateModal:
                        type: boolean
                      order:
                        type: number
                      defaultValue: {}
                      validation:
                        type: object
                        additionalProperties: true
                      targetObjectTypeId:
                        type: string
                        minLength: 6
                      relationDefinitionId:
                        type: string
                        minLength: 6
                      relationSide:
                        type: string
                        enum:
                          - A
                          - B
                      notifyOnAssign:
                        type: boolean
                      interactionRollupMode:
                        type: string
                        enum:
                          - none
                          - direct
                          - direct_with_target_rollups
                      defaultValueTemplate:
                        type: string
                      isComputed:
                        type: boolean
                      computeExpression:
                        type: string
                      isIdentifier:
                        type: boolean
                      createdAt:
                        type: number
                        description: Unix timestamp in ms.
                      updatedAt:
                        type: number
                        description: Unix timestamp in ms.
                    required:
                      - id
                      - workspaceId
                      - objectTypeId
                      - slug
                      - name
                      - fieldType
                      - isSystem
                      - isRequired
                      - isHidden
                      - isMultiple
                      - isPrimary
                      - order
                      - createdAt
                      - updatedAt
                required:
                  - field
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - ApiKeyBearer:
            - crm:metadata:write
        - BreakcoldOAuth:
            - crm:metadata:write
components:
  responses:
    BadRequest:
      description: Invalid request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
    Unauthorized:
      description: Missing or invalid authentication
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
    Forbidden:
      description: Authenticated actor cannot access this route or workspace
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
    RateLimited:
      description: Rate limit exceeded
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/PublicApiError'
  schemas:
    PublicApiError:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            requestId:
              type: string
            details: {}
            retryAfterMs:
              type: number
          required:
            - code
            - message
            - requestId
      required:
        - error
  securitySchemes:
    ApiKeyBearer:
      type: http
      scheme: bearer
      description: Breakcold public API key, for example `Bearer bc_live_...`.
    BreakcoldOAuth:
      type: oauth2
      description: >-
        Breakcold signed-in user access token. Most REST API integrations should
        use an API key instead.
      flows:
        authorizationCode:
          authorizationUrl: https://YOUR_AUTH_DOMAIN/oauth2/authorize
          tokenUrl: https://YOUR_AUTH_DOMAIN/oauth2/token
          scopes:
            records:read: Access records:read
            records:write: Access records:write
            tasks:read: Access tasks:read
            tasks:write: Access tasks:write
            notes:read: Access notes:read
            notes:write: Access notes:write
            inbox:read: Access inbox:read
            inbox:send: Access inbox:send
            crm:metadata:read: Access crm:metadata:read
            crm:metadata:write: Access crm:metadata:write
            inbox:views:read: Access inbox:views:read
            inbox:views:write: Access inbox:views:write
            meetings:read: Access meetings:read
            webhooks:write: Access webhooks:write

````