Datasets API

Current dataset APIs are under /api/v1/datasets.

Identifier Rules

Most dataset routes accept {identifier} as:

  • UUID
  • slug
  • numeric ID
  • dataset name

Core Endpoints

EndpointMethodNotes
/api/v1/datasetsGETList datasets
/api/v1/datasets/by-userGETGrouped view (my, shared, team)
/api/v1/datasets/publicGETPublic datasets
/api/v1/datasets/public/{identifier}GETPublic dataset details
/api/v1/datasetsPOSTCreate dataset metadata
/api/v1/datasets/{identifier}GETGet dataset
/api/v1/datasets/{identifier}PUTUpdate dataset
/api/v1/datasets/{identifier}DELETEDelete dataset
/api/v1/datasets/{identifier}/statusGETDataset status
/api/v1/datasets/{identifier}/convertPOSTTrigger conversion

List / Query

GET /api/v1/datasets

Supports optional filters including name, slug, id, user_email, and team_uuid.

curl -s "https://scientistcloud.com/api/v1/datasets?user_email=user@example.com" | jq

GET /api/v1/datasets/by-user

curl -s "https://scientistcloud.com/api/v1/datasets/by-user?user_email=user@example.com" | jq

Response includes:

  • datasets.my
  • datasets.shared
  • datasets.team
  • counts

Dataset CRUD

POST /api/v1/datasets

curl -s -X POST "https://scientistcloud.com/api/v1/datasets?user_email=user@example.com" \
  -H "Content-Type: application/json" \
  -d '{
    "name":"Example Dataset",
    "sensor":"4D_NEXUS",
    "description":"created via API",
    "tags":"nexus,example",
    "is_public":false,
    "is_downloadable":"only owner"
  }' | jq

GET /api/v1/datasets/{identifier}

curl -s "https://scientistcloud.com/api/v1/datasets/example-dataset?user_email=user@example.com" | jq

PUT /api/v1/datasets/{identifier}

user_email is required for updates.

curl -s -X PUT "https://scientistcloud.com/api/v1/datasets/example-dataset?user_email=user@example.com" \
  -H "Content-Type: application/json" \
  -d '{
    "description":"updated",
    "tags":"nexus,updated",
    "is_public":false
  }' | jq

DELETE /api/v1/datasets/{identifier}

user_email is required and must be owner.

curl -s -X DELETE "https://scientistcloud.com/api/v1/datasets/example-dataset?user_email=user@example.com" | jq

Dataset Status + Conversion

curl -s "https://scientistcloud.com/api/v1/datasets/example-dataset/status?user_email=user@example.com" | jq
curl -s -X POST "https://scientistcloud.com/api/v1/datasets/example-dataset/convert?user_email=user@example.com" | jq

File Operations

EndpointMethod
/api/v1/datasets/{identifier}/filesPOST
/api/v1/datasets/{identifier}/filesGET
/api/v1/datasets/{identifier}/files/{file_id}DELETE
/api/v1/datasets/{identifier}/file-contentGET
/api/v1/datasets/{identifier}/file-serveGET
/api/v1/datasets/{identifier}/settingsGET/PUT
/api/v1/datasets/{identifier}/sizeGET

New S3 Helpers

EndpointMethodUse
/api/v1/datasets/s3/presignPOSTSigned/public URL generation for S3-backed data
/api/v1/datasets/s3/openvisus-resolved-idxPOSTBuild resolved idx for OpenVisus

Both S3 helpers accept dataset_identifier or direct s3_uri and support runtime S3 credentials.