---
title: "Create a datapoint"
method: POST
path: "/v2/datasets/{dataset_id}/datapoints"
tags: ["Datasets"]
---

# Create a datapoint

`POST /v2/datasets/{dataset_id}/datapoints`

Creates a new datapoint in the specified dataset.

## Path parameters

- `dataset_id` union, required — The unique identifier of the dataset
  - string
  - string, ulid — The id of the resource

## Request body

- object[] — An array of datapoints to create (min 1, max 5000)
  - `inputs` object — The inputs of the dataset. Key value pairs where the key is the input name and the value is the input value. Nested objects and arrays are not supported.
  - `messages` union[] — A list of messages comprising the conversation so far
    - union
      - object — Developer-provided instructions that the model should follow, regardless of messages sent by the user.
        - `role` 'system', required — The role of the messages author, in this case `system`.
        - `content` union, required — The contents of the system message.
          - string — The contents of the system message.
          - TextContentPartSchema[] — An array of content parts with a defined type. For system messages, only type `text` is supported.
            - `type` 'text', required — The type of the content part.
            - `text` string, required — The text content.
            - `cache_control` object
              - …
        - `name` string — An optional name for the participant. Provides the model information to differentiate between participants of the same role.
      - object
        - `role` 'developer', required — The role of the messages author, in this case `developer`.
        - `content` union, required — The contents of the developer message.
          - string — The contents of the system message.
          - TextContentPartSchema[] — An array of content parts with a defined type. For system messages, only type `text` is supported.
            - `type` 'text', required — The type of the content part.
            - `text` string, required — The text content.
            - `cache_control` object
              - …
        - `name` string — An optional name for the participant. Provides the model information to differentiate between participants of the same role.
      - object
        - `role` 'user', required — The role of the messages author, in this case `user`.
        - `name` string — An optional name for the participant. Provides the model information to differentiate between participants of the same role.
        - `content` union, required — The contents of the user message.
          - string — The text contents of the message.
          - union[] — An array of content parts with a defined type. Supported options differ based on the model being used to generate the response. Can contain text, image, or audio inputs.
            - union
              - …
      - object
        - `content` union — The contents of the assistant message. Required unless `tool_calls` or `function_call` is specified.
          - string — The contents of the assistant message.
          - union[] — An array of content parts with a defined type. Can be one or more of type `text`, or exactly one of type `refusal`.
            - union
              - …
        - `refusal` string, nullable — The refusal message by the assistant.
        - `role` 'assistant', required — The role of the messages author, in this case `assistant`.
        - `name` string — An optional name for the participant. Provides the model information to differentiate between participants of the same role.
        - `audio` object, nullable — Data about a previous audio response from the model.
          - `id` string, required — Unique identifier for a previous audio response from the model.
        - `tool_calls` object[] — The tool calls generated by the model, such as function calls.
          - `id` string, required — The ID of the tool call.
          - `type` 'function', required — The type of the tool. Currently, only `function` is supported.
          - `function` object, required
            - `name` string — The name of the function to call.
            - `arguments` string — The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
          - `thought_signature` string — Encrypted representation of the model internal reasoning state during function calling. Required by Gemini 3 models when continuing a conversation after a tool call.
      - object
        - `role` 'tool', required — The role of the messages author, in this case tool.
        - `content` union, required — The contents of the tool message.
          - string
          - TextContentPartSchema[]
            - `type` 'text', required — The type of the content part.
            - `text` string, required — The text content.
            - `cache_control` object
              - …
        - `tool_call_id` string, nullable, required — Tool call that this message is responding to.
        - `cache_control` object
          - `type` 'ephemeral', required — Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
          - `ttl` '5m' | '1h' — The time-to-live for the cache control breakpoint. This may be one of the following values: - `5m`: 5 minutes - `1h`: 1 hour Defaults to `5m`. Only supported by `Anthropic` Claude models.
  - `expected_output` string

## Response `200`

Datapoints created successfully. Returns an array of newly created datapoint objects.

- object[]
  - `_id` string, required — The unique identifier of the dataset item
  - `workspace_id` string, required — The unique identifier of the workspace it belongs to
  - `inputs` object — The inputs of the dataset. Key value pairs where the key is the input name and the value is the input value. Nested objects are not supported.
  - `messages` union[] — A list of messages comprising the conversation so far
    - union
      - object — Developer-provided instructions that the model should follow, regardless of messages sent by the user.
        - `role` 'system', required — The role of the messages author, in this case `system`.
        - `content` union, required — The contents of the system message.
          - string — The contents of the system message.
          - TextContentPartSchema[] — An array of content parts with a defined type. For system messages, only type `text` is supported.
            - `type` 'text', required — The type of the content part.
            - `text` string, required — The text content.
            - `cache_control` object
              - …
        - `name` string — An optional name for the participant. Provides the model information to differentiate between participants of the same role.
      - object
        - `role` 'developer', required — The role of the messages author, in this case `developer`.
        - `content` union, required — The contents of the developer message.
          - string — The contents of the system message.
          - TextContentPartSchema[] — An array of content parts with a defined type. For system messages, only type `text` is supported.
            - `type` 'text', required — The type of the content part.
            - `text` string, required — The text content.
            - `cache_control` object
              - …
        - `name` string — An optional name for the participant. Provides the model information to differentiate between participants of the same role.
      - object
        - `role` 'user', required — The role of the messages author, in this case `user`.
        - `name` string — An optional name for the participant. Provides the model information to differentiate between participants of the same role.
        - `content` union, required — The contents of the user message.
          - string — The text contents of the message.
          - union[] — An array of content parts with a defined type. Supported options differ based on the model being used to generate the response. Can contain text, image, or audio inputs.
            - union
              - …
      - object
        - `content` union — The contents of the assistant message. Required unless `tool_calls` or `function_call` is specified.
          - string — The contents of the assistant message.
          - union[] — An array of content parts with a defined type. Can be one or more of type `text`, or exactly one of type `refusal`.
            - union
              - …
        - `refusal` string, nullable — The refusal message by the assistant.
        - `role` 'assistant', required — The role of the messages author, in this case `assistant`.
        - `name` string — An optional name for the participant. Provides the model information to differentiate between participants of the same role.
        - `audio` object, nullable — Data about a previous audio response from the model.
          - `id` string, required — Unique identifier for a previous audio response from the model.
        - `tool_calls` object[] — The tool calls generated by the model, such as function calls.
          - `id` string, required — The ID of the tool call.
          - `type` 'function', required — The type of the tool. Currently, only `function` is supported.
          - `function` object, required
            - `name` string — The name of the function to call.
            - `arguments` string — The arguments to call the function with, as generated by the model in JSON format. Note that the model does not always generate valid JSON, and may hallucinate parameters not defined by your function schema. Validate the arguments in your code before calling your function.
          - `thought_signature` string — Encrypted representation of the model internal reasoning state during function calling. Required by Gemini 3 models when continuing a conversation after a tool call.
      - object
        - `role` 'tool', required — The role of the messages author, in this case tool.
        - `content` union, required — The contents of the tool message.
          - string
          - TextContentPartSchema[]
            - `type` 'text', required — The type of the content part.
            - `text` string, required — The text content.
            - `cache_control` object
              - …
        - `tool_call_id` string, nullable, required — Tool call that this message is responding to.
        - `cache_control` object
          - `type` 'ephemeral', required — Create a cache control breakpoint at this content block. Accepts only the value "ephemeral".
          - `ttl` '5m' | '1h' — The time-to-live for the cache control breakpoint. This may be one of the following values: - `5m`: 5 minutes - `1h`: 1 hour Defaults to `5m`. Only supported by `Anthropic` Claude models.
  - `expected_output` string
  - `evaluations` union[] — Evaluations associated with the datapoint
    - union
      - object
        - `id` string, required — The unique identifier of the human evaluation
        - `evaluation_type` 'human_review', required — The type of evaluation
        - `human_review_id` string — The unique identifier of the human review. Omitted on corrections, which inherit the parent evaluator output schema.
        - `source` 'orq' | 'external'
        - `annotator` object — The annotator that produced this evaluation. Optional during the dual-write deprecation window.
          - `kind` 'llm' | 'code' | 'human' | 'automation', required — The kind of annotator that produced the evaluation
          - `actor_id` string, required — Who/what produced this annotation. User/contact id for human, evaluator eval span id for llm/code, automation rule id for automation.
        - `output_schema` 'boolean' | 'number' | 'categorical' | 'string' — The expected shape of the value. Derived from the human review type, or inherited from the parent annotation for corrections.
        - `parent_annotation_id` string — When present, references the id of the annotation this entry corrects. Presence of this field marks the entry as a correction.
        - `explanation` string — Optional free-text explanation of the value
        - `reviewed_by_id` string, required — Deprecated: use annotator.actor_id. The unique identifier of the user who reviewed the item.
        - `reviewed_at` string, date-time — Deprecated. The date and time the item was reviewed
        - `type` 'string', required
        - `value` string, required
      - object
        - `id` string, required — The unique identifier of the human evaluation
        - `evaluation_type` 'human_review', required — The type of evaluation
        - `human_review_id` string — The unique identifier of the human review. Omitted on corrections, which inherit the parent evaluator output schema.
        - `source` 'orq' | 'external'
        - `annotator` object — The annotator that produced this evaluation. Optional during the dual-write deprecation window.
          - `kind` 'llm' | 'code' | 'human' | 'automation', required — The kind of annotator that produced the evaluation
          - `actor_id` string, required — Who/what produced this annotation. User/contact id for human, evaluator eval span id for llm/code, automation rule id for automation.
        - `output_schema` 'boolean' | 'number' | 'categorical' | 'string' — The expected shape of the value. Derived from the human review type, or inherited from the parent annotation for corrections.
        - `parent_annotation_id` string — When present, references the id of the annotation this entry corrects. Presence of this field marks the entry as a correction.
        - `explanation` string — Optional free-text explanation of the value
        - `reviewed_by_id` string, required — Deprecated: use annotator.actor_id. The unique identifier of the user who reviewed the item.
        - `reviewed_at` string, date-time — Deprecated. The date and time the item was reviewed
        - `type` 'number', required
        - `value` number, required
      - object
        - `id` string, required — The unique identifier of the human evaluation
        - `evaluation_type` 'human_review', required — The type of evaluation
        - `human_review_id` string — The unique identifier of the human review. Omitted on corrections, which inherit the parent evaluator output schema.
        - `source` 'orq' | 'external'
        - `annotator` object — The annotator that produced this evaluation. Optional during the dual-write deprecation window.
          - `kind` 'llm' | 'code' | 'human' | 'automation', required — The kind of annotator that produced the evaluation
          - `actor_id` string, required — Who/what produced this annotation. User/contact id for human, evaluator eval span id for llm/code, automation rule id for automation.
        - `output_schema` 'boolean' | 'number' | 'categorical' | 'string' — The expected shape of the value. Derived from the human review type, or inherited from the parent annotation for corrections.
        - `parent_annotation_id` string — When present, references the id of the annotation this entry corrects. Presence of this field marks the entry as a correction.
        - `explanation` string — Optional free-text explanation of the value
        - `reviewed_by_id` string, required — Deprecated: use annotator.actor_id. The unique identifier of the user who reviewed the item.
        - `reviewed_at` string, date-time — Deprecated. The date and time the item was reviewed
        - `type` 'boolean', required
        - `value` boolean, required
      - object
        - `id` string, required — The unique identifier of the human evaluation
        - `evaluation_type` 'human_review', required — The type of evaluation
        - `human_review_id` string — The unique identifier of the human review. Omitted on corrections, which inherit the parent evaluator output schema.
        - `source` 'orq' | 'external'
        - `annotator` object — The annotator that produced this evaluation. Optional during the dual-write deprecation window.
          - `kind` 'llm' | 'code' | 'human' | 'automation', required — The kind of annotator that produced the evaluation
          - `actor_id` string, required — Who/what produced this annotation. User/contact id for human, evaluator eval span id for llm/code, automation rule id for automation.
        - `output_schema` 'boolean' | 'number' | 'categorical' | 'string' — The expected shape of the value. Derived from the human review type, or inherited from the parent annotation for corrections.
        - `parent_annotation_id` string — When present, references the id of the annotation this entry corrects. Presence of this field marks the entry as a correction.
        - `explanation` string — Optional free-text explanation of the value
        - `reviewed_by_id` string, required — Deprecated: use annotator.actor_id. The unique identifier of the user who reviewed the item.
        - `reviewed_at` string, date-time — Deprecated. The date and time the item was reviewed
        - `type` 'string_array', required
        - `values` string[], required
  - `dataset_id` string, required — The unique identifier of the dataset
  - `snapshot_version` string — The version of the dataset snapshot
  - `created_by_id` string, nullable — The unique identifier of the user who created the dataset
  - `updated_by_id` string, nullable — The unique identifier of the user who last updated the dataset
  - `created` union — The date and time the resource was created
    - string, date-time
    - string, date-time
  - `updated` union — The date and time the resource was last updated
    - string, date-time
    - string, date-time

---

[API](https://skmtc.net/orq-ai/apis/orq-ai-api.md) · [All operations](https://skmtc.net/orq-ai/apis/orq-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/orq-ai/orq-ai-api/revisions/9a63ca712c8b/schema)
