Update an item.
If the request body contains data, the item's current data will be replaced.
PUT https://api.jsonpad.io/lists/{listId}/items/{itemId}On a list with write rules, this is checked against the rules for update before anything is written. A write nothing authorises is refused with 403, one that fails a check with 400 and the rule's message, and one whose item changed while it was being written with 409.
curl https://api.jsonpad.io/lists/6e3821eb-1fa3-45ed-9b69-6c80c4b7fb79/items/4d32e4ff-866e-4208-8013-d0eb1b34204e \
-X PUT \
-H "Content-Type: application/json" \
-H "x-api-token: <YOUR TOKEN>" \
-d '{
"data": {
"name": "Jane Doe"
},
"description": "This is an updated item",
"version": "2"
}'listIdstringA list id or path name.itemIdstringAn item id or alias.includeDatabooleanhttps://api.jsonpad.io/lists/0ab9aba8-d95a-40f7-a093-cc9a688c7d44/items/42ceeb0a-2066-4d4a-8405-4491debcb10a?includeData=trueWhether to include the item data in the response or not. Can be true or false.
Defaults to true.
includeGuardedboolean?includeGuarded=trueInclude values hidden by guard indexes in the response. Can be true or false.
This only applies when the request is authenticated as an identity, and only to the items that identity owns. Without an identity, guarded values stay hidden.
Defaults to false.
x-api-tokenstringYour API token.if-matchstringThe item's ETag, from the etag header of the response you last read or wrote it with.
If the item has changed since then, nothing is written and we return a 412 ("Precondition failed") response. Fetch the item again and retry. See conditional writes.
x-identity-tokenstringAn identity token.x-identity-groupstringAn identity group.{data: {name: "Jane Doe"}description: "This is an updated item"version: "2"readonly: falseactivated: true}dataanyThe item's new data.descriptionstringA description of the item.tagsstring[]Tags for grouping related resources together, e.g. ["recipe-app", "production"].
Tags are stored lowercase and can only contain letters, numbers, hyphens and underscores. There can be up to 20 tags, each up to 50 characters long.
Setting tags replaces all of the existing tags, and an empty array removes them.
versionstringThe item's current version.
By default this will start out as "1" and increment naturally (e.g. "2", "3", and so on), however you can set this to practically any version number format and it will be incremented accordingly.
"" (empty string) will be incremented to "1".1 will be incremented to 2.0.12 will be incremented to 0.13.0.1.0 will be incremented to 0.1.1.0.1.0b will be incremented to 0.1.1b.4test123 will be incremented to 4test124.readonlybooleanWhether the item is read-only.activatedbooleanWhether the item is activated. Inactive items are not accessible or usable via the API.{id: "a977240f-2b1f-4df8-8c91-d77650956880"createdAt: "2026-09-23T21:08:23.979Z"updatedAt: "2026-09-23T21:08:23.979Z"data: {name: "John Doe"age: 30locations: [0: {city: "New York"state: "NY"}1: {city: "Los Angeles"state: "CA"}]}version: "1"readonly: falseactivated: truedescription: "This is a sample item"tags: [0: "my-app"]size: 111locked: falseidentity: {id: "8e19fa7b-65df-4d7a-a769-6be3571c6bca"displayName: "Sample Display Name"}}etagaf2bdbe1aa9b6ec1e2ade1d694f41fc71a831d0268e9891562113d8a62add1bfA SHA-256 hash of the item.last-modified2026-09-23T21:08:23.979ZThe date this item was last modified.