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

# Update custom field by ID

```jsonc Body raw (json) wrap expandable theme={null}
{
  "name": "some string",// required | string | max:255
  "position": 0,// numeric
  "permission": "1,2,3",// string | max:255 | description: commaseparated string of user rules, for example 1,2,3
  "is_active": true,// boolean
  "object": "customer",// string | acceptable_values: customer,job,project,invoice,asset,job_visit,maintenance_agreement,order | description: the type of custom field
  "can_customer_view": true,// boolean
  "field_widget_id": 1,// integer | existing custom field widget id
  "settings": {// array
    "field_instance_id": 1,// required | existing custom field instance id
    "allowed_values": ["value_1", "value_2"],// nullable | array
    "default_value": "value_1"// nullable | array
  }
}
```


## OpenAPI

````yaml put /custom-fields/{customfieldId}
openapi: 3.0.0
info:
  title: FieldPulse API
  description: >-
    REST API for the FieldPulse field service management platform.


    **Authentication:** All requests require an `x-api-key` header. Contact
    support@fieldpulse.com to obtain your API key.


    **Important:** The API Playground below makes live requests against your
    production data. Use caution when testing write operations (POST, PUT,
    DELETE).
  version: 1.0.0
servers:
  - url: https://ywe3crmpll.execute-api.us-east-2.amazonaws.com/stage
    description: Production
security:
  - apiKeyAuth: []
tags:
  - name: Assets
    description: Endpoints related to assets
  - name: Assets Category
    description: Endpoints related to assets category
  - name: Comments
    description: Endpoints related to comments
  - name: Company Profile
    description: Endpoints related to contracts
  - name: Contracts
    description: Endpoints related to contracts
  - name: Customers
    description: Endpoints related to customers
  - name: Custom Fields
    description: Endpoints related to custom fields
  - name: Estimates
    description: Endpoints related to estimates
  - name: Invoices
  - name: Items
  - name: Jobs
  - name: Lead Source
  - name: Locations
  - name: Material Lists
  - name: Payments
  - name: Pipeline Status
  - name: Projects
  - name: Purchase Orders
  - name: Subtasks
  - name: Tags
  - name: Teams
  - name: Timesheets
  - name: Users
  - name: Vendors
  - name: Version
paths:
  /custom-fields/{customfieldId}:
    put:
      tags:
        - Custom Fields
      summary: Update custom field by ID
      operationId: putCustomFieldsByCustomfieldId
      parameters:
        - name: customfieldId
          in: path
          required: true
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 255
                position:
                  type: number
                permission:
                  type: string
                  maxLength: 255
                  description: Comma-separated string of user rules, for example 1,2,3.
                is_active:
                  type: boolean
                object:
                  type: string
                  enum:
                    - customer
                    - job
                    - project
                    - invoice
                    - asset
                    - job_visit
                    - maintenance_agreement
                    - order
                  description: The type of custom field.
                can_customer_view:
                  type: boolean
                field_widget_id:
                  type: integer
                  description: Existing custom field widget id.
                settings:
                  type: object
                  properties:
                    field_instance_id:
                      type: integer
                      description: Existing custom field instance id.
                    allowed_values:
                      type: array
                      items:
                        type: string
                      nullable: true
                    default_value:
                      type: array
                      items: {}
                      nullable: true
                  required:
                    - field_instance_id
              required:
                - name
            example:
              name: some string
              position: 0
              permission: 1,2,3
              is_active: true
              object: customer
              can_customer_view: true
              field_widget_id: 1
              settings:
                field_instance_id: 1
                allowed_values:
                  - value_1
                  - value_2
                default_value: value_1
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: boolean
                    description: false when the request succeeds.
                    example: false
                  response:
                    type: object
                    description: The updated record.
        '400':
          description: Bad Request
          content:
            application/json:
              example:
                error: true
                errors:
                  - error message
                  - error message
        '401':
          description: Unauthorized
          content:
            application/json:
              example:
                message: Unauthorized
        '404':
          description: Not Found
          content:
            application/json:
              example:
                message: Request URL or object not found
        '500':
          description: Internal Server Error
          content:
            application/json:
              example:
                message: Internal Server Error
components:
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

````

## Related topics

- [Offline Mode Overview](/troubleshooting/offline-mode/offline-mode.md)
- [FieldPulse API Overview](/integrations/developer-api/fieldpulse-api-overview.md)
- [Material Lists Overview](/inventory-materials/material-lists/material-lists.md)
- [Customer Portal Overview](/customers/customer-portal/customer-portal.md)
- [Setting Up Caller ID](/add-ons/engage/caller-id.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.