---
title: "Insert dataset rows"
method: POST
path: "/v1/projects/{projectSlug}/datasets/{datasetSlug}/rows"
tags: ["Datasets"]
---

# Insert dataset rows

`POST /v1/projects/{projectSlug}/datasets/{datasetSlug}/rows`

Appends one or more rows to the dataset.

## Path parameters

- `projectSlug` string, required — Project slug (human-readable identifier)
- `datasetSlug` string, required — Dataset slug (human-readable identifier within the project).

## Request body

- InsertDatasetRowsBody
  - `rows` object[], required — Rows to insert.
    - `id` string — Optional client-supplied row id. Generated when omitted.
    - `input` union, required — Row input cell.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `output` union — Row output cell.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `expectedOutput` union — Correct answer for this row. Filled in by curators; usually distinct from `output`.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `metadata` union — Row metadata cell.
      - string
      - number
      - boolean
      - unknown[]
        - unknown
      - object
    - `custom` object — Custom column values keyed by column identifier. Removed or unknown columns are rejected.

## Response `201`

Rows inserted

- InsertDatasetRowsResponse
  - `versionId` string, required — New dataset version id.
  - `version` integer, required — New dataset version number.
  - `rowIds` string[], required — Ids of the inserted rows.

## Other responses

- `400` — Validation error
- `401` — Unauthorized
- `404` — Not found

---

[API](https://skmtc.net/latitude-dev/apis/latitude.md) · [All operations](https://skmtc.net/latitude-dev/apis/latitude/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/latitude-dev/latitude/versions/6a8789c59a5c/schema)
