---
title: "Add a record to the dataset"
method: POST
path: "/v1/observability/datasets/{dataset_id}/records"
tags: ["beta.observability.datasets"]
---

# Add a record to the dataset

`POST /v1/observability/datasets/{dataset_id}/records`

Add a record to the dataset

## Path parameters

- `dataset_id` string, uuid, required

## Request body

- CreateDatasetRecordRequest
  - `payload` DatasetRecordPayload, required — Caller-authored input object stored on a dataset record.
  - `properties` object
  - `source` 'DIRECT_INPUT' | 'TELEMETRY_SPAN' — Caller-declared channel that initiated record creation. This value does not certify that the payload is an unmodified copy of its source.

## Response `201`

Successful Response

- DatasetRecord
  - `id` string, uuid, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `deleted_at` string, date-time, nullable, required
  - `dataset_id` string, uuid, required
  - `payload` DatasetRecordPayload, required — Caller-authored input object stored on a dataset record.
  - `properties` object, required
  - `source` 'EXPLORER' | 'UPLOADED_FILE' | 'DIRECT_INPUT' | 'PLAYGROUND' | 'TELEMETRY_SPAN', required

## Other responses

- `400` — Bad Request - Invalid request parameters or data
- `404` — Not Found - Resource does not exist
- `408` — Request Timeout - Operation timed out
- `409` — Conflict - Resource conflict
- `422` — Unprocessable Entity - Validation error

## Changes

- **2026-09-23** `fa73befe1c61` — 31 warning, 36 info
  - added the new `EVALUATION_RUN_OUTPUT_RECORD_CONFLICT` enum value to the `detail/error_code/anyOf[subschema #1: ObservabilityErrorCode]/` response property for the response status `400`
  - added the new `EVALUATION_RUN_OUTPUT_RECORD_CONFLICT` enum value to the `detail/error_code/anyOf[subschema #1: ObservabilityErrorCode]/` response property for the response status `404`
  - added the new `EVALUATION_RUN_OUTPUT_RECORD_CONFLICT` enum value to the `detail/error_code/anyOf[subschema #1: ObservabilityErrorCode]/` response property for the response status `408`
  - added the new `EVALUATION_RUN_OUTPUT_RECORD_CONFLICT` enum value to the `detail/error_code/anyOf[subschema #1: ObservabilityErrorCode]/` response property for the response status `409`
  - …63 more
- …earlier changes not shown

[Full history](https://skmtc.dev/mistral/apis/mistral-ai-api/changes/v1/observability/datasets/:dataset_id/records/post.md)

---

[API](https://skmtc.dev/mistral/apis/mistral-ai-api.md) · [All operations](https://skmtc.dev/mistral/apis/mistral-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mistral/apis/mistral-ai-api/revisions/fa73befe1c61?raw)
