v3

latestOpenAPI 3.1.02026-07-311,4541,5202.3 MB
datasets

Retrieve Dataset

Retrieve, update, and delete a dataset

Endpoints: GET /api/datasets/{dataset_id}/ PATCH /api/datasets/{dataset_id}/ DELETE /api/datasets/{dataset_id}/

Superadmin: Can READ any dataset across all organizations via JWT. Cannot WRITE via JWT - must use API key for write operations. Regular users: Can only access datasets in their organization.

Defense-in-depth:

Args (PATCH): - name (Optional): string - description (Optional): string

Returns (GET 200): { "id": "dataset_id", "name": "Support Conversations - July", "type": "sampling", "description": "Sampled support chats for July", "created_at": "2025-07-26T00:00:00Z", "updated_at": "2025-07-27T08:10:00Z", "organization": 123, "initial_log_filters": {"status_code": {"operator": "eq", "value": 200}}, "unique_organization_ids": [], "timestamps": [], "log_count": 250, "evaluator": null, "status": "ready", "running_status": "pending", "running_progress": 0, "running_at": null, "completed_annotation_count": 0 }

Returns (PATCH 200): Same shape as GET with updated fields Returns (DELETE 204): No content

Defense-in-depth: SuperAdminMixin provides queryset routing + object-level ownership.

get/api/datasets/{id}/

Path parameters

idstring required

Headers

Authorizationstring required

Use your Respan API key for Respan API authentication. Enter only the Respan API key value; clients send Authorization: Bearer <RESPAN_API_KEY>. For /api/responses, provider credentials such as Perplexity, OpenAI, or Azure OpenAI go in Settings -> Providers or respan_params.credential_override in the request body, not in this authentication field.

Response

idstring required
completed_annotation_countinteger required
initial_log_filtersFilterParamDictPydantic

Pydantic model for FilterParamDict. A dictionary that maps metric names to their filter parameters.

Each key is a metric name (str), and each value can be:

  • A single MetricFilterParamPydantic (one condition)
  • A List[MetricFilterParamPydantic] (multiple conditions for same metric)
  • A FilterBundlePydantic (nested filter bundle with connector)

Note: Uses extra="allow" for dynamic metric name fields. The pydantic_extra annotation tells Pydantic what types to expect for extra fields, and generates typed additionalProperties in JSON Schema.

projectstring nullable
namestring required
type'llm' | 'human' | 'dataset' | 'sampling' | 'reference'
  • llm - Llm
  • human - Human
  • dataset - Dataset
  • sampling - Sampling
  • reference - Reference
granularity'logs' | 'traces' | 'threads' required
  • logs - Logs
  • traces - Traces
  • threads - Threads
descriptionstring
created_atstring date-time required
running_progressnumber double
running_status'draft' | 'pending' | 'paused' | 'running' | 'waiting_for_annotations' | 'completed' | 'failed'
  • draft - Draft
  • pending - Pending
  • paused - Paused
  • running - Running
  • waiting_for_annotations - Waiting For Annotations
  • completed - Completed
  • failed - Failed
running_atstring date-time nullable
updated_atstring date-time required
unique_organization_idsstring[]
timestampsstring[]
log_countinteger required
ingest_workflow_idstring nullable
status'initializing' | 'ready' | 'failed' | 'loading' required
  • initializing - Initializing
  • ready - Ready
  • failed - Failed
  • loading - Loading
starredboolean
organizationinteger required
evaluatorstring nullable