Robocorp Assets API

Asset storage management

OpenAPI Specification

robocorp-assets-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Robocorp Control Room Assets 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: Assets
  description: Asset storage management
paths:
  /workspaces/{workspace_id}/assets:
    get:
      operationId: listAssets
      summary: List Assets
      description: List all assets in a workspace.
      tags:
      - Assets
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      responses:
        '200':
          description: List of assets
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AssetList'
        '401':
          $ref: '#/components/responses/Unauthorized'
    post:
      operationId: createAsset
      summary: Create Asset
      description: Create a new asset in storage.
      tags:
      - Assets
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateAssetRequest'
      responses:
        '201':
          description: Asset created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
        '401':
          $ref: '#/components/responses/Unauthorized'
  /workspaces/{workspace_id}/assets/{asset_id}:
    get:
      operationId: getAsset
      summary: Get Asset
      description: Retrieve a specific asset by ID.
      tags:
      - Assets
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/AssetId'
      responses:
        '200':
          description: Asset details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Asset'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
    delete:
      operationId: deleteAsset
      summary: Delete Asset
      description: Remove an asset from storage.
      tags:
      - Assets
      security:
      - ApiKeyAuth: []
      parameters:
      - $ref: '#/components/parameters/WorkspaceId'
      - $ref: '#/components/parameters/AssetId'
      responses:
        '204':
          description: Asset deleted
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
components:
  schemas:
    Asset:
      type: object
      properties:
        id:
          type: string
        name:
          type: string
        content_type:
          type: string
        size:
          type: integer
        created_at:
          type: string
          format: date-time
    CreateAssetRequest:
      type: object
      required:
      - name
      properties:
        name:
          type: string
        content_type:
          type: string
    AssetList:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Asset'
    Error:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
        status:
          type: integer
  parameters:
    AssetId:
      name: asset_id
      in: path
      required: true
      schema:
        type: string
      description: The asset 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")