Skip to content
localisyncDocs
Open panel

Update a translation key

Owner, Admin or Editor. Supply the complete intended definition and expected metadata version. Every filled value must satisfy the new contract; optional active-language corrections with expected cell versions commit atomically. An incompatible language prevents all changes. Does not change project settings version. Content is scoped to the explicit branch. Branch archives are read-only; current workspace roles still apply.

PATCH /api/v1/workspaces/{workspaceId}/projects/{projectId}/branches/{branchId}/keys/{keyId}

Operation: updateTranslationKey · Download OpenAPI

Requires an authenticated Localisync panel session. The API checks current membership and permissions for workspace operations. See authentication and request rules.

sessionCookie

{
"type": "apiKey",
"in": "cookie",
"name": "__Host-localisync-session",
"description": "Opaque server session. Local HTTP development uses its explicitly configured development cookie name."
}
Name Location Required Description
workspaceId path Yes
projectId path Yes
keyId path Yes
Origin header Yes Must exactly match the configured panel origin.
X-CSRF-Token header Yes Token bound to the current opaque server session.
branchId path Yes Explicit branch UUID in this project. No implicit main selection.
{
"type": "string",
"format": "uuid"
}
{
"type": "string",
"format": "uuid"
}
{
"type": "string",
"format": "uuid"
}
{
"type": "string"
}
{
"type": "string"
}
{
"type": "string",
"format": "uuid"
}

Required: Yes.

Schema reference: UpdateKey.

Field Type Required Constraints / description
name string Yes Case-sensitive letters, digits, underscore, hyphen or period. Unique in the project, including archived keys.; minLength: 1; maxLength: 200
format plain, icu Yes —
parameters Array of object Yes maxItems: 32
version integer Yes minimum: 1; maximum: 2147483646
values Array of ValueEdit No maxItems: 1000; default: []
{
"$ref": "#/components/schemas/UpdateKey"
}

Example payload (illustrative):

{
"name": "checkout_success",
"format": "icu",
"parameters": [
{
"name": "person",
"type": "text"
}
],
"version": 1,
"values": []
}

Committed result. Responses are private and Cache-Control: no-store.

Content type: application/json Schema reference: TranslationKey.

Field Type Required Constraints / description
name string Yes Case-sensitive letters, digits, underscore, hyphen or period. Unique in the project, including archived keys.; minLength: 1; maxLength: 200
format plain, icu Yes default: "plain"
parameters Array of object Yes maxItems: 32; default: []
id string Yes format: "uuid"
workspaceId string Yes format: "uuid"
projectId string Yes format: "uuid"
version integer Yes minimum: 1; maximum: 2147483646
archivedAt string or null Yes format: "date-time"
createdAt string Yes format: "date-time"
tags Array of object No maxItems: 20
{
"$ref": "#/components/schemas/TranslationKey"
}

Invalid request or ICU value; field and locale issues may be included.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string No —
details object No —
statusCode integer No May be included by HTTP-level request limits.
{
"$ref": "#/components/schemas/Error"
}

Sign in to continue.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string No —
details object No —
statusCode integer No May be included by HTTP-level request limits.
{
"$ref": "#/components/schemas/Error"
}

Current role cannot perform this action.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string No —
details object No —
statusCode integer No May be included by HTTP-level request limits.
{
"$ref": "#/components/schemas/Error"
}

Project or key is not visible in the current workspace.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string No —
details object No —
statusCode integer No May be included by HTTP-level request limits.
{
"$ref": "#/components/schemas/Error"
}

Stale version, reserved key name, archive or inactive-language conflict. Compare current data before retrying.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string No —
details object No —
statusCode integer No May be included by HTTP-level request limits.
{
"$ref": "#/components/schemas/Error"
}

Mutation exceeds 1 MiB.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string No —
details object No —
statusCode integer No May be included by HTTP-level request limits.
{
"$ref": "#/components/schemas/Error"
}

Request limit exceeded.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string No —
details object No —
statusCode integer No May be included by HTTP-level request limits.
{
"$ref": "#/components/schemas/Error"
}

A required service is unavailable; no successful change is claimed.

Content type: application/json Schema reference: Error.

Field Type Required Constraints / description
error string Yes —
message string Yes —
requestId string No —
details object No —
statusCode integer No May be included by HTTP-level request limits.
{
"$ref": "#/components/schemas/Error"
}

Request errors and safe retries · Troubleshooting

Cookie preferences

Your choice applies to localisync.com and docs.localisync.com. You can change it at any time using Cookie settings.