Skip to main content

Datasets

POST/v1/orgs/{org_id}/datasets/{dataset_id}/import

Import Samples

Import samples from JSON or CSV content.

Bearer token or X-API-Keyscope: org memberoperation_id: datasets.import

Authentication

Send either Authorization: Bearer <token> or X-API-Key: <token>. Any org token with sufficient scope. Create tokens from the console or the /v1/orgs/{org_id}/tokens endpoints. Requests without a valid credential are rejected with 401.

SDK install

pip install znyx-sdknpm install @znyx/sdk

Code samples

Request

curl -X POST "$ZNYX_API_URL/v1/orgs/00000000-0000-0000-0000-000000000000/datasets/00000000-0000-0000-0000-000000000000/import" \
  -H "Authorization: Bearer $ZNYX_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "content": "string",
  "format": "json"
}'

Response

application/json

Successful Response

null

Schema: any

Path parameters

NameTypeRequiredDescription
org_id#pathstringrequired-
dataset_id#pathstringrequired-

Header parameters

NameTypeRequiredDescription
X-API-Key#headerstring | nulloptional-
authorization#headerstring | nulloptional-

Request bodyrequired

FieldTypeRequiredDescription
contentstringrequired-
formatstringoptional-

Responses

StatusDescription
200Successful Response
422Validation Error

Response schema

any

Errors & what triggers them

CodeTriggerFix
401Missing or expired Authorization header.-
403Token does not have the required role (admin / editor).-
404Target resource does not exist in this org.-
422Request body failed validation.-

Notes & examples

Accepted formats

  • JSON — an array of objects with the same shape as add-samples: input_text, optional context / expected_decision / expected_rule_hits / metadata.
  • CSV — same columns as headers; rows are parsed and field-mapped. Missing columns default to empty / input context.

Set format in the request body to json or csv; the content itself is passed as a raw string in content.

When to prefer import over add-samples

  • You're loading an existing benchmark file verbatim — easier than writing a loop.
  • You're migrating from another guardrails tool and exported to CSV.
  • The file came from a labeller who gave you a sheet.

For programmatic pipelines, add-samples is lower-ceremony.

Size guidance

Target content strings under ~4 MB. For bigger imports, split by topic / date range and send multiple requests.