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

# Updates the list values (and default-value pointer) of a list field.

> Designed as the CLI/SDK escape hatch for system fields like Priority — the broader
`PUT /api/field/list` rejects `IsCore=true` mutations from CLI/SDK callers,
but admins still need to add "Critical" to Priority via script. Allowed for any
caller. All other field properties (name, description, multi-select, IsCore, etc.)
are preserved from the existing record.



## OpenAPI

````yaml /api-reference/openapi.json put /api/field/list/data
openapi: 3.1.1
info:
  title: EKSO.API
  description: >-
    REST API for EKSO — ticketing, help desk, project management, resource
    planning, and time tracking.
  contact:
    name: Ekso
    url: https://ekso.dev
  version: v1
servers:
  - url: https://{install}
    description: Your self-hosted Ekso install
    variables:
      install:
        default: your-ekso-install.example.com
        description: Your install hostname (the PublicUrl set in /startup)
security: []
tags:
  - name: Clock
  - name: Process
  - name: Rule
  - name: Watch
  - name: User
  - name: UserGroup
  - name: Time
  - name: AppSetting
  - name: Hook
  - name: Tenant
  - name: OutboundStorage
  - name: Plan
  - name: Notification
  - name: MailGeneral
  - name: Mailbox
  - name: OutboundMail
  - name: Ticket
  - name: Link
  - name: Item
  - name: Screen
  - name: BudgetReason
  - name: CostCenter
  - name: Crm
  - name: JobRole
  - name: NonBillable
  - name: Reporting
  - name: Sku
  - name: File
  - name: Docs
  - name: Constraint
  - name: ContentTemplate
  - name: Field
  - name: Area
  - name: Container
  - name: Label
  - name: Board
  - name: Cycle
  - name: AccessControl
  - name: Config
  - name: EntraMeta
  - name: Meta
  - name: Annotation
  - name: Chat
  - name: ApiKey
paths:
  /api/field/list/data:
    put:
      tags:
        - Field
      summary: Updates the list values (and default-value pointer) of a list field.
      description: >-
        Designed as the CLI/SDK escape hatch for system fields like Priority —
        the broader

        `PUT /api/field/list` rejects `IsCore=true` mutations from CLI/SDK
        callers,

        but admins still need to add "Critical" to Priority via script. Allowed
        for any

        caller. All other field properties (name, description, multi-select,
        IsCore, etc.)

        are preserved from the existing record.
      operationId: Field_list_data
      requestBody:
        description: Field id plus the new list values and default-value pointer.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFieldListDataRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/UpdateFieldListDataRequest'
        required: true
      responses:
        '200':
          description: List data updated successfully.
          content:
            application/json: {}
        '400':
          description: Validation error — field-level errors in Fields[]
        '403':
          description: Permission denied — insufficient permissions
        '422':
          description: Business rule violation — logic error
        '500':
          description: Internal server error
      security:
        - Bearer: []
components:
  schemas:
    UpdateFieldListDataRequest:
      type: object
      properties:
        id:
          type: string
          description: Id of the existing list field to update.
        data:
          type: array
          items:
            $ref: '#/components/schemas/DataFieldListData'
          description: >-
            Replacement list values. Pass the full target list -- this is a
            whole-array replace.
        defaultValue:
          type: string
          description: >-
            Id of the entry in List&lt;DataFieldListData&gt;
            UpdateFieldListDataRequest.Data that should be the default. Empty
            means no default.
      description: >-
        Inbound payload for PUT /api/field/list/data. Carries only the mutable
        surface --

        everything else on the field record is preserved.
    DataFieldListData:
      type: object
      properties:
        id:
          type: string
        value:
          type: string
        image:
          type: string
        metadata:
          type: string
        active:
          type: boolean
  securitySchemes:
    Bearer:
      type: http
      description: JWT Bearer token. Obtain via the OAuth 2.0 token endpoint.
      scheme: bearer
      bearerFormat: JWT

````