Skip to main content
POST
/
datasets
/
upload
Prepare Signed-URL Upload
curl --request POST \
  --url https://api.woodwide.ai/datasets/upload \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "dataset_name": "large_dataset",
  "file": {
    "filename": "large_data.csv",
    "bytes": 50000000,
    "content_type": "text/csv"
  }
}
'
{
  "dataset": {
    "id": "a1b2c3d4-0000-0000-0000-000000000001",
    "version_id": "a1b2c3d4-0000-0000-0000-000000000002",
    "version_number": 1
  },
  "job_id": "a1b2c3d4-0000-0000-0000-000000000003",
  "upload": {
    "filename": "large_data.csv",
    "bytes": 50000000,
    "content_type": "text/csv",
    "upload_url": "https://storage.example.com/upload?signature=..."
  }
}
Upload the file directly to the returned signed URL, then call POST /datasets/{dataset_version_id}/complete to trigger ingestion. Supports an Idempotency-Key header to safely retry requests.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

Idempotency-Key
string | null

Body

application/json

Request to prepare a signed-URL dataset upload.

file
DatasetUploadFile · object
required

File metadata for signed-URL upload.

dataset_name
string
dataset_id
string<uuid>
description
string | null
override
boolean
default:false

When true, replaces the data in the current version instead of creating a new version. Defaults to false.

Response

Successful Response

Response with signed upload URL.

dataset
DatasetVersionRef · object
required

Dataset version reference.

job_id
string<uuid>
required
upload
DatasetUploadTarget · object
required

Target for signed-URL upload.