Skip to content

Bulk patch table (CSV or JSON, upsert/delete rows)

POST
/v1/ns/{nsid}/lcr/tables/{table}/patch
curl --request POST \
--url https://example.com/v1/ns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/lcr/tables/example/patch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: text/csv' \
--data example

Applies the body as a delta onto the active version — rows present are upserted, and rows tombstoned in the body are deleted; rows not mentioned are carried forward. Produces a new version atomically. Use /replace for a full-table swap.

nsid
required
string format: uuid

Namespace UUID

table
required
string
string

OK

Media typeapplication/json
object
success
required
boolean
result
required
object
new_version
required
integer format: int64
prior_version
integer format: int64
accepted_rows
required
integer format: int64
swapped_at
string format: date-time
Examplegenerated
{
"success": true,
"result": {
"new_version": 1,
"prior_version": 1,
"accepted_rows": 1,
"swapped_at": "2026-04-15T12:00:00Z"
}
}

Error response

Media typeapplication/problem+json

RFC 7807 Problem Details

object
type

Problem type slug URI

string
title
string
status
integer
detail
string
key
additional properties
any
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example"
}