Skip to content

Update Tag

POST
/api/v1/tags/rewrites
curl --request POST \
--url https://example.com/api/v1/tags/rewrites \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "confirmed": true, "new_tag": "example", "old_tag": "example" }'

Rename or merge a Tag across Markdown, Photos XMP and Files Sidecars with progress and Undo. Route: /api/v1/tags/rewrites. Inputs: . Do not automatically replay this operation after an uncertain result.

Media typeapplication/json

Start a durable Markdown and Sidecar Tag operation. Large merges require explicit consent at the API boundary as well as in the UI (#1110, #1111).

object
confirmed
boolean
new_tag
required
string
old_tag
required
string
Examplegenerated
{
"confirmed": true,
"new_tag": "example",
"old_tag": "example"
}
Media typeapplication/json

Source text stays private in Home journals; clients receive only progress.

object
can_undo
required
boolean
conflicts
required
integer
current
integer | null format: int64
id
required
string
state
required
string
total
integer | null format: int64
Examplegenerated
{
"can_undo": true,
"conflicts": 1,
"current": 1,
"id": "example",
"state": "example",
"total": 1
}
Media typeapplication/json

The standard API error response: { "error": { ... } }.

object
error
required

Error details.

object
code
required

Stable machine-readable code.

string
Allowed values: bad_request unauthorized forbidden not_found conflict name_conflict_case name_too_long push_endpoint_rejected too_many_requests internal service_unavailable
details
One of:

Optional field or operation details.

object
key
additional properties
string
message
required

Safe text for logs or a user-facing error message.

string
Example
{
"error": {
"code": "bad_request"
}
}
Media typeapplication/json

The standard API error response: { "error": { ... } }.

object
error
required

Error details.

object
code
required

Stable machine-readable code.

string
Allowed values: bad_request unauthorized forbidden not_found conflict name_conflict_case name_too_long push_endpoint_rejected too_many_requests internal service_unavailable
details
One of:

Optional field or operation details.

object
key
additional properties
string
message
required

Safe text for logs or a user-facing error message.

string
Example
{
"error": {
"code": "bad_request"
}
}