Code Ocean Data Assets API
Versioned datasets and result data
Versioned datasets and result data
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/code-ocean-data-assets-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Code Ocean Capsules Data Assets API
version: v1
description: The Code Ocean REST API provides programmatic access to the Code Ocean computational research platform. It is organized around REST, accepts and returns JSON-encoded request bodies and responses, and uses standard HTTP response codes, authentication, and verbs. The API lets you manage the three core Code Ocean resources — Capsules and Pipelines (reproducible compute environments), Computations (runs of those capsules/pipelines), and Data Assets (versioned datasets) — so you can automate reproducible research and data-analysis workflows end to end.
contact:
name: Code Ocean
email: dev@codeocean.com
url: https://docs.codeocean.com/user-guide/code-ocean-api
license:
name: Proprietary
x-generated-by: API Evangelist enrichment pipeline (faithful to docs.codeocean.com)
servers:
- url: https://codeocean.com/api/v1
description: Code Ocean hosted cloud
- url: https://{domain}/api/v1
description: Code Ocean deployment (enterprise / VPC domain)
variables:
domain:
default: codeocean.com
description: Your Code Ocean deployment domain
security:
- accessToken: []
tags:
- name: Data Assets
description: Versioned datasets and result data
paths:
/data_assets:
post:
operationId: createDataAsset
summary: Create data asset
description: Creates a Data Asset from an S3 bucket or from a computation's results.
tags:
- Data Assets
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/DataAssetParams'
responses:
'200':
description: Data asset object
content:
application/json:
schema:
$ref: '#/components/schemas/DataAsset'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
/data_assets/{data_asset_id}:
get:
operationId: getDataAsset
summary: Get data asset
description: Retrieves metadata for a specific Data Asset.
tags:
- Data Assets
parameters:
- $ref: '#/components/parameters/DataAssetId'
responses:
'200':
description: Data asset object
content:
application/json:
schema:
$ref: '#/components/schemas/DataAsset'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
put:
operationId: updateDataAssetMetadata
summary: Update data asset metadata
description: Updates a Data Asset's name, description, tags, mount and custom metadata.
tags:
- Data Assets
parameters:
- $ref: '#/components/parameters/DataAssetId'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- name
- description
- tags
- mount
properties:
name:
type: string
description:
type: string
tags:
type: array
items:
type: string
mount:
type: string
custom_metadata:
type: object
responses:
'200':
description: Data asset object
content:
application/json:
schema:
$ref: '#/components/schemas/DataAsset'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
delete:
operationId: deleteDataAsset
summary: Delete data asset
description: Deletes a Data Asset.
tags:
- Data Assets
parameters:
- $ref: '#/components/parameters/DataAssetId'
responses:
'204':
description: Data asset deleted
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/data_assets/{data_asset_id}/archive:
patch:
operationId: archiveDataAsset
summary: Archive or unarchive a data asset
description: Archives or unarchives a Data Asset.
tags:
- Data Assets
parameters:
- $ref: '#/components/parameters/DataAssetId'
- name: archive
in: query
required: true
schema:
type: boolean
responses:
'204':
description: Archive state updated
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/data_assets/search:
post:
operationId: searchDataAssets
summary: Search data assets
description: Searches Data Assets with filtering, sorting and cursor pagination.
tags:
- Data Assets
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/SearchParams'
responses:
'200':
description: Search results
content:
application/json:
schema:
$ref: '#/components/schemas/SearchResults'
'401':
$ref: '#/components/responses/Unauthorized'
/data_assets/{data_asset_id}/permissions:
post:
operationId: updateDataAssetPermissions
summary: Update data asset permissions
description: Updates user, group and everyone access permissions for a Data Asset.
tags:
- Data Assets
parameters:
- $ref: '#/components/parameters/DataAssetId'
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- users
- groups
- everyone
properties:
users:
type: array
items:
type: object
groups:
type: array
items:
type: object
everyone:
type: string
share_assets:
type: boolean
responses:
'204':
description: Permissions updated
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/data_assets/{data_asset_id}/transfer:
post:
operationId: transferDataAsset
summary: Transfer data asset
description: Admin-only. Transfers a Data Asset's files to a different S3 storage location.
tags:
- Data Assets
parameters:
- $ref: '#/components/parameters/DataAssetId'
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
target:
type: object
properties:
aws:
type: object
properties:
bucket:
type: string
prefix:
type: string
force:
type: boolean
responses:
'200':
description: Transfer started
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
/data_assets/{data_asset_id}/files:
post:
operationId: listDataAssetFiles
summary: List data asset files
description: Lists files internal to a Data Asset, optionally under a folder path.
tags:
- Data Assets
parameters:
- $ref: '#/components/parameters/DataAssetId'
requestBody:
required: false
content:
application/json:
schema:
type: object
properties:
path:
type: string
responses:
'200':
description: Folder listing
content:
application/json:
schema:
$ref: '#/components/schemas/Folder'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
/data_assets/{data_asset_id}/files/urls:
get:
operationId: getDataAssetFileURLs
summary: Get data asset file URLs
description: Generates signed download and view URLs for a file within a Data Asset.
tags:
- Data Assets
parameters:
- $ref: '#/components/parameters/DataAssetId'
- name: path
in: query
required: true
schema:
type: string
responses:
'200':
description: File URLs
content:
application/json:
schema:
$ref: '#/components/schemas/FileURLs'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
components:
schemas:
FileURLs:
type: object
properties:
download_url:
type: string
view_url:
type: string
Folder:
type: object
properties:
items:
type: array
items:
type: object
properties:
name:
type: string
path:
type: string
size:
type: integer
type:
type: string
enum:
- file
- folder
Error:
type: object
properties:
message:
type: string
description: Human-readable error message
SearchParams:
type: object
description: Search request with filtering, sorting and cursor pagination.
properties:
offset:
type: integer
limit:
type: integer
next_token:
type: string
sort_order:
type: string
enum:
- asc
- desc
sort_field:
type: string
query:
type: string
ownership:
type: string
status:
type: string
type:
type: string
origin:
type: string
favorite:
type: boolean
archived:
type: boolean
filters:
type: array
items:
type: object
SearchResults:
type: object
description: Cursor-paginated search results.
properties:
has_more:
type: boolean
next_token:
type: string
results:
type: array
items:
type: object
DataAsset:
type: object
description: A versioned dataset or captured result data.
properties:
id:
type: string
name:
type: string
description:
type: string
created:
type: integer
type:
type: string
enum:
- dataset
- result
mount:
type: string
state:
type: string
tags:
type: array
items:
type: string
custom_metadata:
type: object
DataAssetParams:
type: object
description: Parameters for creating a data asset.
required:
- name
- mount
- tags
- source
properties:
name:
type: string
description:
type: string
mount:
type: string
tags:
type: array
items:
type: string
source:
type: object
responses:
BadRequest:
description: The request was unacceptable (missing/invalid parameter).
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: The requested resource doesn't exist.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Unauthorized:
description: No valid access token provided.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
Forbidden:
description: The access token doesn't have permission to perform the request.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
parameters:
DataAssetId:
name: data_asset_id
in: path
required: true
description: The unique identifier of the data asset.
schema:
type: string
securitySchemes:
accessToken:
type: http
scheme: basic
description: HTTP Basic authentication. Provide your Code Ocean access token (prefix `cop_`) as the basic-auth username with an empty password, e.g. `-u "cop_xxxxxxxxxx:"`.