---
title: "Update Keys Bulk"
method: PATCH
path: "/v1/mcp/projects/{project_id}/keys/bulk"
tags: ["mcp"]
---

# Update Keys Bulk

`PATCH /v1/mcp/projects/{project_id}/keys/bulk`

## Request

- Base URL: `https://api.sonenta.dev`
- URL: `https://api.sonenta.dev/v1/mcp/projects/{project_id}/keys/bulk`
- Auth: none declared

Batch edit-in-place of source values (task 862). Best-effort +
idempotent per item; each item carries its own result. Billing is weighted
one unit per key ACTUALLY changed — no-ops (`unchanged`) and errors are not
billed. Staleness propagates per changed key exactly as the single route.

## Path parameters

- `project_id` string, required

## Request body

- UpdateKeysBulkIn
  - `items` KeyUpdateBulkItem[], required
    - `source_value` string, nullable
    - `key_uuid` string, nullable
    - `namespace` string, nullable
    - `name` string, nullable
    - `description` string, nullable
    - `type` 'text' | 'heading' | 'label' | 'caption' | 'badge' | 'tooltip' | 'error_message' | 'toast' | 'button' | 'link' | 'menu_item' | 'input_placeholder' | 'input_label' | 'image' | 'icon' | 'meta_title' | 'meta_description', nullable
    - `type_source` 'default' | 'detected' | 'manual', nullable

## Response `200`

Successful Response

- UpdateKeysBulkOut
  - `results` KeyUpdateBulkResult[], required
    - `index` integer, required
    - `status` string, required
    - `key_uuid` string, nullable
    - `key_name` string, nullable
    - `source_changed` boolean, nullable
    - `type_changed` boolean, nullable
    - `type_result` string, nullable
    - `stale_flagged` integer, nullable
    - `error` BulkItemError
      - `code` string, required
      - `message` string, required
  - `summary` BulkSummary, required
    - `total` integer, required
    - `ok` integer, required
    - `errors` integer, required
    - `created` integer
    - `updated` integer
    - `unchanged` integer

## Other responses

- `422`: Validation Error

---

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