> ## 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 an existing board.



## OpenAPI

````yaml /api-reference/openapi.json put /api/board/{id}
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/board/{id}:
    put:
      tags:
        - Board
      summary: Updates an existing board.
      operationId: Board_update
      parameters:
        - name: id
          in: path
          description: The board ID from the route.
          required: true
          schema:
            type: string
      requestBody:
        description: >-
          The updated board data. Container accepts container IDs. Resource
          accepts user group IDs (ConfigUserGroup).
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DataBoard'
          application/*+json:
            schema:
              $ref: '#/components/schemas/DataBoard'
        required: true
      responses:
        '200':
          description: Board 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:
    DataBoard:
      type: object
      properties:
        entity:
          type:
            - 'null'
            - string
        name:
          type: string
        description:
          type: string
        container:
          type: array
          items:
            type: string
        resource:
          type: array
          items:
            type: string
        budgetHours:
          type: integer
          format: int32
        budgetChange:
          type: array
          items:
            $ref: '#/components/schemas/BudgetChangeEntry'
        locked:
          type: boolean
        archived:
          type: boolean
        role:
          type: array
          items:
            $ref: '#/components/schemas/DataRole'
        tenantId:
          type: string
        id:
          type: string
        created:
          type: string
          format: date-time
        createdBy:
          type: string
        updated:
          type: string
          format: date-time
        updatedBy:
          type: string
        deleted:
          type: boolean
    BudgetChangeEntry:
      type: object
      properties:
        id:
          type: string
        reasonId:
          type: string
        userId:
          type: string
        initials:
          type: string
        dated:
          type: string
          format: date-time
        changeDelta:
          type: integer
          format: int32
    DataRole:
      type: object
      properties:
        role:
          $ref: '#/components/schemas/AppRole'
        userGroup:
          type: array
          items:
            type: string
    AppRole:
      type: integer
  securitySchemes:
    Bearer:
      type: http
      description: JWT Bearer token. Obtain via the OAuth 2.0 token endpoint.
      scheme: bearer
      bearerFormat: JWT

````