Daytona computer-use API

The computer-use API from Daytona — 32 operation(s) for computer-use.

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

daytona-io-computer-use-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Daytona admin computer-use API
  description: Daytona Admin API — admin, audit, config, runners, docker-registry, regions, object-storage, jobs operations on the Daytona AI platform.
  version: '1.0'
  contact:
    name: Daytona Platforms Inc.
    url: https://www.daytona.io
    email: support@daytona.com
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
servers:
- url: https://app.daytona.io/api
  description: Daytona Cloud production API
tags:
- name: computer-use
paths:
  /computeruse/a11y/find:
    post:
      description: Search the AT-SPI tree for nodes matching a role/name/state filter and return a flat list.
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Find accessibility nodes
      operationId: FindAccessibilityNodes
      parameters:
      - description: Find request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/FindAccessibilityNodesRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AccessibilityNodesResponse'
        '400':
          description: Bad Request
          schema:
            type: object
            additionalProperties:
              type: string
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
        '503':
          description: Service Unavailable
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/a11y/node/focus:
    post:
      description: Move keyboard focus to the AT-SPI node identified by id (bus-name:object-path).
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Focus an accessibility node
      operationId: FocusAccessibilityNode
      parameters:
      - description: Node focus request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/AccessibilityNodeRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Empty'
        '400':
          description: Bad Request
          schema:
            type: object
            additionalProperties:
              type: string
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
        '503':
          description: Service Unavailable
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/a11y/node/invoke:
    post:
      description: Call an AT-SPI Action on the node. Leave action empty to invoke the node's primary (first) action.
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Invoke an action on an accessibility node
      operationId: InvokeAccessibilityNode
      parameters:
      - description: Invoke request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/AccessibilityInvokeRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Empty'
        '400':
          description: Bad Request
          schema:
            type: object
            additionalProperties:
              type: string
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
        '503':
          description: Service Unavailable
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/a11y/node/value:
    post:
      description: Write the given value to the node via EditableText.SetTextContents or, for numeric controls, Value.CurrentValue.
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Set the value of an accessibility node
      operationId: SetAccessibilityNodeValue
      parameters:
      - description: Set value request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/AccessibilitySetValueRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Empty'
        '400':
          description: Bad Request
          schema:
            type: object
            additionalProperties:
              type: string
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
        '503':
          description: Service Unavailable
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/a11y/tree:
    get:
      description: Fetch the AT-SPI accessibility tree for the focused application, a specific PID, or all registered applications.
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get accessibility tree
      operationId: GetAccessibilityTree
      parameters:
      - type: string
        description: 'Scope: focused | pid | all (default: focused)'
        name: scope
        in: query
      - type: integer
        description: Process ID when scope=pid
        name: pid
        in: query
      - type: integer
        description: Max tree depth (-1 unbounded, 0 root only; default -1)
        name: maxDepth
        in: query
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/AccessibilityTreeResponse'
        '400':
          description: Bad Request
          schema:
            type: object
            additionalProperties:
              type: string
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
        '503':
          description: Service Unavailable
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/display/info:
    get:
      description: Get information about all available displays
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get display information
      operationId: GetDisplayInfo
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/DisplayInfoResponse'
  /computeruse/display/windows:
    get:
      description: Get information about all open windows
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get windows information
      operationId: GetWindows
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/WindowsResponse'
  /computeruse/keyboard/hotkey:
    post:
      description: Press a hotkey combination (e.g., ctrl+c, cmd+v)
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Press hotkey
      operationId: PressHotkey
      parameters:
      - description: Hotkey press request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/KeyboardHotkeyRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Empty'
  /computeruse/keyboard/key:
    post:
      description: Press a key with optional modifiers
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Press key
      operationId: PressKey
      parameters:
      - description: Key press request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/KeyboardPressRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Empty'
  /computeruse/keyboard/type:
    post:
      description: Type text with optional delay between keystrokes
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Type text
      operationId: TypeText
      parameters:
      - description: Text typing request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/KeyboardTypeRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Empty'
  /computeruse/mouse/click:
    post:
      description: Click the mouse button at the specified coordinates
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Click mouse button
      operationId: Click
      parameters:
      - description: Mouse click request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/MouseClickRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MouseClickResponse'
  /computeruse/mouse/drag:
    post:
      description: Drag the mouse from start to end coordinates
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Drag mouse
      operationId: Drag
      parameters:
      - description: Mouse drag request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/MouseDragRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MouseDragResponse'
  /computeruse/mouse/move:
    post:
      description: Move the mouse cursor to the specified coordinates
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Move mouse cursor
      operationId: MoveMouse
      parameters:
      - description: Mouse move request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/MouseMoveRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MousePositionResponse'
  /computeruse/mouse/position:
    get:
      description: Get the current mouse cursor position
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get mouse position
      operationId: GetMousePosition
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/MousePositionResponse'
  /computeruse/mouse/scroll:
    post:
      description: Scroll the mouse wheel at the specified coordinates
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Scroll mouse wheel
      operationId: Scroll
      parameters:
      - description: Mouse scroll request
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/MouseScrollRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ScrollResponse'
  /computeruse/process-status:
    get:
      description: Get the status of all computer use processes
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get computer use process status
      operationId: GetComputerUseStatus
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputerUseStatusResponse'
  /computeruse/process/{processName}/errors:
    get:
      description: Get errors for a specific computer use process
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get process errors
      operationId: GetProcessErrors
      parameters:
      - type: string
        description: Process name to get errors for
        name: processName
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ProcessErrorsResponse'
  /computeruse/process/{processName}/logs:
    get:
      description: Get logs for a specific computer use process
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get process logs
      operationId: GetProcessLogs
      parameters:
      - type: string
        description: Process name to get logs for
        name: processName
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ProcessLogsResponse'
  /computeruse/process/{processName}/restart:
    post:
      description: Restart a specific computer use process
      produces:
      - application/json
      tags:
      - computer-use
      summary: Restart specific process
      operationId: RestartProcess
      parameters:
      - type: string
        description: Process name to restart
        name: processName
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ProcessRestartResponse'
  /computeruse/process/{processName}/status:
    get:
      description: Check if a specific computer use process is running
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get specific process status
      operationId: GetProcessStatus
      parameters:
      - type: string
        description: Process name to check
        name: processName
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ProcessStatusResponse'
  /computeruse/recordings:
    get:
      description: Get a list of all recordings (active and completed)
      produces:
      - application/json
      tags:
      - computer-use
      summary: List all recordings
      operationId: ListRecordings
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ListRecordingsResponse'
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/recordings/start:
    post:
      description: Start a new screen recording session
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Start a new recording
      operationId: StartRecording
      parameters:
      - description: Recording options
        name: request
        in: body
        schema:
          $ref: '#/definitions/StartRecordingRequest'
      responses:
        '201':
          description: Created
          schema:
            $ref: '#/definitions/Recording'
        '400':
          description: Bad Request
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/recordings/stop:
    post:
      description: Stop an active screen recording session
      consumes:
      - application/json
      produces:
      - application/json
      tags:
      - computer-use
      summary: Stop a recording
      operationId: StopRecording
      parameters:
      - description: Recording ID to stop
        name: request
        in: body
        required: true
        schema:
          $ref: '#/definitions/StopRecordingRequest'
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Recording'
        '400':
          description: Bad Request
          schema:
            type: object
            additionalProperties:
              type: string
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/recordings/{id}:
    get:
      description: Get details of a specific recording by ID
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get recording details
      operationId: GetRecording
      parameters:
      - type: string
        description: Recording ID
        name: id
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/Recording'
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
    delete:
      description: Delete a recording file by ID
      tags:
      - computer-use
      summary: Delete a recording
      operationId: DeleteRecording
      parameters:
      - type: string
        description: Recording ID
        name: id
        in: path
        required: true
      responses:
        '204':
          description: No Content
        '400':
          description: Bad Request
          schema:
            type: object
            additionalProperties:
              type: string
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/recordings/{id}/download:
    get:
      description: Download a recording by providing its ID
      produces:
      - application/octet-stream
      tags:
      - computer-use
      summary: Download a recording
      operationId: DownloadRecording
      parameters:
      - type: string
        description: Recording ID
        name: id
        in: path
        required: true
      responses:
        '200':
          description: OK
          schema:
            type: file
        '404':
          description: Not Found
          schema:
            type: object
            additionalProperties:
              type: string
        '500':
          description: Internal Server Error
          schema:
            type: object
            additionalProperties:
              type: string
  /computeruse/screenshot:
    get:
      description: Take a screenshot of the entire screen
      produces:
      - application/json
      tags:
      - computer-use
      summary: Take a screenshot
      operationId: TakeScreenshot
      parameters:
      - type: boolean
        description: Whether to show cursor in screenshot
        name: showCursor
        in: query
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ScreenshotResponse'
  /computeruse/screenshot/compressed:
    get:
      description: Take a compressed screenshot of the entire screen
      produces:
      - application/json
      tags:
      - computer-use
      summary: Take a compressed screenshot
      operationId: TakeCompressedScreenshot
      parameters:
      - type: boolean
        description: Whether to show cursor in screenshot
        name: showCursor
        in: query
      - type: string
        description: Image format (png or jpeg)
        name: format
        in: query
      - type: integer
        description: JPEG quality (1-100)
        name: quality
        in: query
      - type: number
        description: Scale factor (0.1-1.0)
        name: scale
        in: query
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ScreenshotResponse'
  /computeruse/screenshot/region:
    get:
      description: Take a screenshot of a specific region of the screen
      produces:
      - application/json
      tags:
      - computer-use
      summary: Take a region screenshot
      operationId: TakeRegionScreenshot
      parameters:
      - type: integer
        description: X coordinate of the region
        name: x
        in: query
        required: true
      - type: integer
        description: Y coordinate of the region
        name: y
        in: query
        required: true
      - type: integer
        description: Width of the region
        name: width
        in: query
        required: true
      - type: integer
        description: Height of the region
        name: height
        in: query
        required: true
      - type: boolean
        description: Whether to show cursor in screenshot
        name: showCursor
        in: query
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ScreenshotResponse'
  /computeruse/screenshot/region/compressed:
    get:
      description: Take a compressed screenshot of a specific region of the screen
      produces:
      - application/json
      tags:
      - computer-use
      summary: Take a compressed region screenshot
      operationId: TakeCompressedRegionScreenshot
      parameters:
      - type: integer
        description: X coordinate of the region
        name: x
        in: query
        required: true
      - type: integer
        description: Y coordinate of the region
        name: y
        in: query
        required: true
      - type: integer
        description: Width of the region
        name: width
        in: query
        required: true
      - type: integer
        description: Height of the region
        name: height
        in: query
        required: true
      - type: boolean
        description: Whether to show cursor in screenshot
        name: showCursor
        in: query
      - type: string
        description: Image format (png or jpeg)
        name: format
        in: query
      - type: integer
        description: JPEG quality (1-100)
        name: quality
        in: query
      - type: number
        description: Scale factor (0.1-1.0)
        name: scale
        in: query
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ScreenshotResponse'
  /computeruse/start:
    post:
      description: Start all computer use processes and return their status
      produces:
      - application/json
      tags:
      - computer-use
      summary: Start computer use processes
      operationId: StartComputerUse
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputerUseStartResponse'
  /computeruse/status:
    get:
      description: Get the current status of the computer use system
      produces:
      - application/json
      tags:
      - computer-use
      summary: Get computer use status
      operationId: GetComputerUseSystemStatus
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputerUseStatusResponse'
  /computeruse/stop:
    post:
      description: Stop all computer use processes and return their status
      produces:
      - application/json
      tags:
      - computer-use
      summary: Stop computer use processes
      operationId: StopComputerUse
      responses:
        '200':
          description: OK
          schema:
            $ref: '#/definitions/ComputerUseStopResponse'
components:
  securitySchemes:
    bearer:
      scheme: bearer
      bearerFormat: JWT
      type: http
      description: API Key access
    oauth2:
      type: openIdConnect
      openIdConnectUrl: http://localhost:3000/.well-known/openid-configuration
definitions:
  ProcessLogsResponse:
    type: object
    properties:
      logs:
        type: string
      processName:
        type: string
  ScreenshotResponse:
    type: object
    properties:
      cursorPosition:
        $ref: '#/definitions/Position'
      screenshot:
        type: string
      sizeBytes:
        type: integer
  ComputerUseStatusResponse:
    type: object
    properties:
      status:
        type: string
  WindowsResponse:
    type: object
    properties:
      windows:
        type: array
        items:
          $ref: '#/definitions/WindowInfo'
  MouseScrollRequest:
    type: object
    properties:
      amount:
        type: integer
        default: 1
        minimum: 0
      direction:
        description: up, down
        type: string
      x:
        type: integer
      y:
        type: integer
  Empty:
    type: object
  ProcessRestartResponse:
    type: object
    properties:
      message:
        type: string
      processName:
        type: string
  StartRecordingRequest:
    type: object
    properties:
      label:
        type: string
  KeyboardTypeRequest:
    type: object
    properties:
      delay:
        description: milliseconds between keystrokes
        type: integer
      text:
        type: string
  MouseClickRequest:
    type: object
    properties:
      button:
        description: left, right, middle
        type: string
      double:
        type: boolean
      x:
        type: integer
      y:
        type: integer
  Recording:
    type: object
    required:
    - fileName
    - filePath
    - id
    - startTime
    - status
    properties:
      durationSeconds:
        type: number
      endTime:
        type: string
      fileName:
        type: string
      filePath:
        type: string
      id:
        type: string
      sizeBytes:
        type: integer
      startTime:
        type: string
      status:
        type: string
  AccessibilitySetValueRequest:
    type: object
    required:
    - id
    properties:
      id:
        type: string
      value:
        type: string
  ProcessErrorsResponse:
    type: object
    properties:
      errors:
        type: string
      processName:
        type: string
  StopRecordingRequest:
    type: object
    required:
    - id
    properties:
      id:
        type: string
  AccessibilityBounds:
    type: object
    properties:
      height:
        type: integer
      width:
        type: integer
      x:
        type: integer
      y:
        type: integer
  MousePositionResponse:
    type: object
    properties:
      x:
        type: integer
      y:
        type: integer
  computeruse.AccessibilityNode:
    type: object
    properties:
      actions:
        type: array
        items:
          type: string
      bounds:
        $ref: '#/definitions/AccessibilityBounds'
      children:
        type: array
        items:
          $ref: '#/definitions/computeruse.AccessibilityNode'
      description:
        type: string
      id:
        type: string
      name:
        type: string
      role:
        type: string
      states:
        type: array
        items:
          type: string
  MouseMoveRequest:
    type: object
    properties:
      x:
        type: integer
      y:
        type: integer
  WindowInfo:
    type: object
    properties:
      height:
        type: integer
      id:
        type: integer
      isActive:
        type: boolean
      title:
        type: string
      width:
        type: integer
      x:
        type: integer
      y:
        type: integer
  MouseClickResponse:
    type: object
    properties:
      x:
        type: integer
      y:
        type: integer
  FindAccessibilityNodesRequest:
    type: object
    properties:
      limit:
        type: integer
      name:
        type: string
      nameMatch:
        description: '"exact" | "substring" | "regex"'
        type: string
      pid:
        type: integer
      role:
        type: string
      scope:
        type: string
      states:
        type: array
        items:
          type: string
  KeyboardHotkeyRequest:
    type: object
    properties:
      keys:
        description: e.g., "ctrl+c", "cmd+v"
        type: string
  DisplayInfoResponse:
    type: object
    properties:
      displays:
        type: array
        items:
          $ref: '#/definitions/DisplayInfo'
  ComputerUseStopResponse:
    type: object
    properties:
      message:
        type: string
      status:
        type: object
        additionalProperties:
          $ref: '#/definitions/ProcessStatus'
  MouseDragRequest:
    type: object
    properties:
      button:
        type: string
      endX:
        type: integer
      endY:
        type: integer
      startX:
        type: integer
      startY:
        type: integer
  ScrollResponse:
    type: object
    properties:
      success:
        type: boolean
  DisplayInfo:
    type: object
    properties:
      height:
        type: integer
      id:
        type: integer
      isActive:
        type: boolean
      width:
        type: integer
      x:
        type: integer
      y:
        type: integer
  AccessibilityNodesResponse:
    type: object
    properties:
      matches:
        type: array
        items:
          $ref: '#/definitions/computeruse.AccessibilityNode'
      truncated:
        type: boolean
  ProcessStatusResponse:
    type: object
    properties:
      processName:
        type: string
      running:
        type: boolean
  AccessibilityInvokeRequest:
    type: object
    required:
    - id
    properties:
      action:
        type: string
      id:
        type: string
  ProcessStatus:
    type: object
    properties:
      autoRestart:
        type: boolean
      pid:
        type: integer
      priority:
        type: integer
      running:
        type: boolean
  AccessibilityNodeRequest:
    type: object
    required:
    - id
    properties:
      id:
        type: string
  Position:
    type: object
    properties:
      x:
        type: integer
      y:
        type: integer
  AccessibilityTreeResponse:
    type: object
    properties:
      root:
        $ref: '#/definitions/computeruse.AccessibilityNode'
      truncated:
        type: boolean
  ComputerUseStartResponse:
    type: object
    properties:
      message:
        type: string
      status:
        type: object
        additionalProperties:
          $ref: '#/definitions/ProcessStatus'
  MouseDragResponse:
    type: object
    properties:
      x:
        type: integer
      y:
        type: integer
  KeyboardPressRequest:
    type: object
    properties:
      key:
        type: string
      modifiers:
        description: ctrl, alt, shift, cmd
        type: array
        items:
          type: string
  ListRecordingsResponse:
    type: object
    required:
    - recordings
    properties:
      recordings:
        type: array
        items:
          $ref: '#/definitions/Recording'