Datasets
POST
/v1/orgs/{org_id}/datasets/{dataset_id}/importImport 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/sdkCode 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
| Name | Type | Required | Description |
|---|---|---|---|
| org_id#path | string | required | - |
| dataset_id#path | string | required | - |
Header parameters
| Name | Type | Required | Description |
|---|---|---|---|
| X-API-Key#header | string | null | optional | - |
| authorization#header | string | null | optional | - |
Request bodyrequired
| Field | Type | Required | Description |
|---|---|---|---|
| content | string | required | - |
| format | string | optional | - |
Responses
| Status | Description |
|---|---|
| 200 | Successful Response |
| 422 | Validation Error |
Response schema
any
Errors & what triggers them
| Code | Trigger | Fix |
|---|---|---|
| 401 | Missing or expired Authorization header. | - |
| 403 | Token does not have the required role (admin / editor). | - |
| 404 | Target resource does not exist in this org. | - |
| 422 | Request body failed validation. | - |
Notes & examples
Accepted formats
- JSON — an array of objects with the same shape as
add-samples:input_text, optionalcontext/expected_decision/expected_rule_hits/metadata. - CSV — same columns as headers; rows are parsed and field-mapped. Missing columns default to empty /
inputcontext.
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.