Robocorp Work Items API

Work item queue management

OpenAPI Specification

robocorp-work-items-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Robocorp Control Room Assets Work Items API
  description: The Robocorp Control Room API provides programmatic access to the orchestration platform for RPA automations. It supports workspace management, worker lifecycle, worker group organization, process definition and execution, process run monitoring, step run output retrieval, work item management, asset storage, vault secrets, webhook configuration, and task package deployment. Authentication uses API keys with the RC-WSKEY prefix passed in the Authorization header.
  version: v1
  contact:
    name: Robocorp Support
    url: https://robocorp.com/docs
  termsOfService: https://robocorp.com/terms-of-service
  license:
    name: Proprietary
servers:
- url: https://cloud.robocorp.com/api/v1
  description: Robocorp Control Room API (non-SSO)
- url: https://your-sso-subdomain.robocorp.com/api/v1
  description: Robocorp Control Room API (SSO)
tags:
- name: Work Items
  description: Work item queue management
paths:
  /workspaces/{workspace_id}/work-items:
    get:
      operationId: listWorkItems
      summary: List Work Items
      description: List all work items in a workspace.
      tags:
      - Work Items
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - name: process_id
        in: query
        schema:
          type: string
      - name: state
        in: query
        schema:
          type: string
          enum:
          - PENDING
          - INPROGRESS
          - COMPLETED
          - FAILED
      - name: limit
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: List of work items
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkItemList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createWorkItem
      summary: Create Work Item
      description: Create a new work item in the queue.
      tags:
      - Work Items
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWorkItemRequest'
      responses:
        '201':
          description: Work item created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /workspaces/{workspace_id}/work-items/{work_item_id}:
    get:
      operationId: getWorkItem
      summary: Get Work Item
      description: Retrieve a specific work item by ID.
      tags:
      - Work Items
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/WorkItemId'
      responses:
        '200':
          description: Work item details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkItem'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    WorkItemList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/WorkItem'
        has_more:
          type: boolean
    WorkItem:
      type: object
      properties:
        id:
          type: string
        process_id:
          type: string
        state:
          type: string
          enum:
          - PENDING
          - INPROGRESS
          - COMPLETED
          - FAILED
        payload:
          type: object
          additionalProperties: true
        created_at:
          type: string
          format: date-time
    CreateWorkItemRequest:
      type: object
      properties:
        process_id:
          type: string
          description: Process to assign the work item to
        payload:
          type: object
          additionalProperties: true
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
        status:
          type: integer
  parameters:
    WorkItemId:
      name: work_item_id
      in: path
      required: true
      schema:
        type: string
      description: The work item identifier
    WorkspaceId:
      name: workspace_id
      in: path
      required: true
      schema:
        type: string
      description: The workspace identifier
  responses:
    Unauthorized:
      description: Authentication failed
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
    NotFound:
      description: Resource not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: API key with RC-WSKEY prefix (e.g., "RC-WSKEY your-api-key")