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

# Returns the screen layout definition for adding or updating an item, including field definitions and workflow states.



## OpenAPI

````yaml /api-reference/openapi.json post /api/item/screen
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/item/screen:
    post:
      tags:
        - Screen
      summary: >-
        Returns the screen layout definition for adding or updating an item,
        including field definitions and workflow states.
      operationId: Screen_create
      requestBody:
        description: >-
          The screen request specifying container, process, item, and screen
          stage.
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ItemScreenRequest'
          application/*+json:
            schema:
              $ref: '#/components/schemas/ItemScreenRequest'
        required: true
      responses:
        '200':
          description: The screen layout model.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ItemScreenModel'
        '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:
    ItemScreenRequest:
      type: object
      properties:
        containerId:
          type: string
        processId:
          type: string
        itemId:
          type: string
        stage:
          $ref: '#/components/schemas/ScreenStage'
        source:
          type: string
    ItemScreenModel:
      type: object
      properties:
        item:
          $ref: '#/components/schemas/DataItem'
        stage:
          $ref: '#/components/schemas/ScreenStage'
        workflow:
          type: array
          items:
            $ref: '#/components/schemas/DataFieldListData'
        field:
          type: array
          items:
            $ref: '#/components/schemas/ItemScreenField'
    ScreenStage:
      type: integer
    DataItem:
      type: object
      properties:
        entity:
          type:
            - 'null'
            - string
        containerId:
          type: string
        processId:
          type: string
        sequence:
          type: integer
          format: int32
        boardId:
          type: string
        cycleId:
          type: string
        resourceType:
          $ref: '#/components/schemas/ResourceType'
        resourceId:
          type: string
        dateOpened:
          type:
            - 'null'
            - string
          format: date-time
        dateWorking:
          type:
            - 'null'
            - string
          format: date-time
        dateClosed:
          type:
            - 'null'
            - string
          format: date-time
        time:
          type: array
          items:
            $ref: '#/components/schemas/ItemTime'
        field:
          type: array
          items:
            $ref: '#/components/schemas/DataItemFieldValue'
        meta:
          type: array
          items:
            $ref: '#/components/schemas/KeyValuePairOfstringAndstring'
        clockStart:
          type: string
          format: date-time
        clockFinish:
          type: string
          format: date-time
        clockDelta:
          type: number
          format: double
        clockHours:
          type: integer
          format: int32
        clockStatus:
          $ref: '#/components/schemas/ClockStatusEnum'
        dependencyKey:
          type: string
        dependencyIndent:
          type: integer
          format: int32
        dependencyChild:
          type: integer
          format: int32
        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
    DataFieldListData:
      type: object
      properties:
        id:
          type: string
        value:
          type: string
        image:
          type: string
        metadata:
          type: string
        active:
          type: boolean
    ItemScreenField:
      type: object
      properties:
        definition:
          oneOf:
            - type: 'null'
            - $ref: '#/components/schemas/DataFieldBase'
        data:
          type: string
        required:
          type: boolean
    ResourceType:
      type: integer
    ItemTime:
      type: object
      properties:
        id:
          type: string
        dated:
          type: string
          format: date-time
        userId:
          type: string
        timeTypeId:
          type: string
        timeLogged:
          type: string
        comment:
          type: string
        status:
          $ref: '#/components/schemas/TimeStatus'
    DataItemFieldValue:
      type: object
      properties:
        fieldId:
          type: string
        data:
          type: string
    KeyValuePairOfstringAndstring:
      required:
        - key
        - value
      type: object
      properties:
        key:
          type:
            - 'null'
            - string
        value:
          type:
            - 'null'
            - string
    ClockStatusEnum:
      type: integer
    DataFieldBase:
      type: object
      anyOf:
        - $ref: '#/components/schemas/DataFieldBaseDataFieldText'
        - $ref: '#/components/schemas/DataFieldBaseDataFieldPicker'
        - $ref: '#/components/schemas/DataFieldBaseDataFieldList'
        - $ref: '#/components/schemas/DataFieldBaseDataFieldDate'
        - $ref: '#/components/schemas/DataFieldBaseDataFieldDecimal'
        - $ref: '#/components/schemas/DataFieldBaseDataFieldInteger'
        - $ref: '#/components/schemas/DataFieldBaseDataFieldPercent'
        - $ref: '#/components/schemas/DataFieldBaseDataFieldTime'
        - $ref: '#/components/schemas/DataFieldBaseDataFieldToggle'
      properties:
        entity:
          type:
            - 'null'
            - string
        fieldType:
          type:
            - 'null'
            - string
        defaultValue:
          type: string
        name:
          type: string
        prompt:
          type: string
        description:
          type: string
        isCore:
          type: boolean
        isFeature:
          type: boolean
        featureName:
          type: string
        placement:
          type: array
          items:
            $ref: '#/components/schemas/FieldPlacement'
        usage:
          type: array
          items:
            $ref: '#/components/schemas/FieldUsage'
        listEditable:
          type: boolean
        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
      discriminator:
        propertyName: $type
    TimeStatus:
      type: integer
    DataFieldBaseDataFieldText:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - properties:
            contentType:
              type: string
            maximum:
              type: integer
              format: int32
    DataFieldBaseDataFieldPicker:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - properties:
            scope:
              type: string
            multiSelect:
              type: boolean
    DataFieldBaseDataFieldList:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - properties:
            multiSelect:
              type: boolean
            data:
              type: array
              items:
                $ref: '#/components/schemas/DataFieldListData'
    DataFieldBaseDataFieldDate:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - properties:
            minimum:
              type:
                - 'null'
                - string
              format: date-time
            maximum:
              type:
                - 'null'
                - string
              format: date-time
    DataFieldBaseDataFieldDecimal:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - properties:
            minimum:
              type: number
              format: double
            maximum:
              type: number
              format: double
    DataFieldBaseDataFieldInteger:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - properties:
            minimum:
              type: integer
              format: int32
            maximum:
              type: integer
              format: int32
    DataFieldBaseDataFieldPercent:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - properties:
            minimum:
              type: integer
              format: int32
            maximum:
              type: integer
              format: int32
    DataFieldBaseDataFieldTime:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - properties:
            allowDay:
              type: boolean
            allowHour:
              type: boolean
            allowMinute:
              type: boolean
    DataFieldBaseDataFieldToggle:
      allOf:
        - $ref: '#/components/schemas/DataFieldBase'
        - {}
    FieldPlacement:
      type: integer
    FieldUsage:
      type: integer
  securitySchemes:
    Bearer:
      type: http
      description: JWT Bearer token. Obtain via the OAuth 2.0 token endpoint.
      scheme: bearer
      bearerFormat: JWT

````