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")