---
title: "Update a testset"
method: PATCH
path: "/api/testsets/{testset_id}/"
tags: ["testsets"]
---

# Update a testset

`PATCH /api/testsets/{testset_id}/`

Partially update testset metadata such as the name, description, starred state, or column definitions.

## Path parameters

- `testset_id` string, required

## Headers

- `Authorization` string, required

## Request body

- object
  - `name` string — Testset name.
  - `description` string — Optional description stored with the testset.
  - `starred` boolean — Whether to star the testset in the UI.
  - `column_definitions` ApiTestsetsTestsetIdPatchRequestBodyContentApplicationJsonSchemaColumnDefinitionsItems[] — Column definitions for the testset rows.
    - `field` string, required — Canonical field name stored in each row.
    - `mapped_name` string — Optional display or import name for this field.
    - `width` number, double — Optional UI width in pixels.
    - `is_hidden` boolean — Whether this column should be hidden in the UI.
    - `type` 'text' | 'image_url' | 'note' | 'object' — Column value type.

## Response `200`

Updated testset.

- TestsetsUpdateTestsetResponse200
  - `id` string, required — Public testset ID.
  - `name` string, required — Testset name.
  - `created_at` string, date-time, required — When the testset was created.
  - `updated_at` string, date-time, required — When the testset was last updated.
  - `current_max_row_index` number, double, required — Highest row index currently present in the testset.
  - `project` string, nullable — Project identifier when the testset is associated with a project.
  - `column_definitions` ApiTestsetsTestsetIdPatchResponsesContentApplicationJsonSchemaColumnDefinitionsItems[] — Configured columns for testset rows.
    - `field` string, required — Canonical field name stored in each row.
    - `mapped_name` string — Optional display or import name for this field.
    - `width` number, double — Optional UI width in pixels.
    - `is_hidden` boolean — Whether this column should be hidden in the UI.
    - `type` 'text' | 'image_url' | 'note' | 'object' — Column value type.
  - `description` string — Testset description.

## Other responses

- `400` — Bad Request
- `401` — Unauthorized - Missing/invalid authentication
- `404` — Not Found

## Changes

- **2026-08-13** `4e064cf81dae` — 12 breaking, 3 warning, 13 info
  - added the new required request property `column_definitions/items/field`
  - the `column_definitions/items/` request property type/format changed from ``/`` to `object`/``
  - the response property `project` became optional for the status `200`
  - the `column_definitions/items/` response's property type/format changed from ``/`` to `object`/`` for status `200`
  - …24 more
- **2026-07-31** `c26d550029f8` — 3 breaking, 9 warning, 16 info
  - the `column_definitions/items/` request property type/format changed from `object`/`` to ``/``
  - the `column_definitions/items/` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `column_definitions/items/field` from the response with the `200` status
  - removed the request property `column_definitions/items/field`
  - …24 more

[Change history](https://skmtc.dev/keywordsai/apis/api-reference/changes/api/testsets/:testset_id/patch.md)

---

[API](https://skmtc.dev/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.dev/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/keywordsai/api-reference/revisions/c61efaf24756/schema)
