Update an index.
Changing an index's pointer rebuilds it in the background: its buildStatus becomes building, and sorting, filtering, alias lookups and search that use it are refused until it's ready again. Other changes take effect immediately. Updating an index whose build failed also starts a new build, but rebuilding it is the clearer way to retry. See index builds.
PUT https://api.jsonpad.io/lists/{listId}/indexes/{indexId}curl https://api.jsonpad.io/lists/962f386c-81e7-4489-89ba-799754dd551d/indexes/cbd93a61-10bc-40f0-be1e-a8442f961939 \
-X PUT \
-H "Content-Type: application/json" \
-H "x-api-token: <YOUR TOKEN>" \
-d '{
"name": "My Updated Index"
}'listIdstringA list id or path name.indexIdstringAn index id or path name.x-api-tokenstringYour API token.{name: "Sample Index"description: ""tags: [0: "my-app"]pathName: "sample-index"pointer: "/name"valueType: "string"alias: falsesorting: falsefiltering: falsesearching: falseguard: falsedefaultOrderDirection: "asc"activated: true}namestringThe name of the index.descriptionstringA description of the index.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.
pathNamestringThe path name of the index. This is used in URL query parameters to sort and filter items.pointerstringA JSON pointer to the field in the item data that the index points to.valueType'string' | 'number' | 'date'The type of value that the index points to.
This can be used to sort and filter items in different ways.
?index-name=lt:10 will filter items using the index-name index where the indexed value is a number less than 10.?index-name=lte:10 will filter items using the index-name index where the indexed value is a number less than or equal to 10.?index-name=gt:10 will filter items using the index-name index where the indexed value is a number greater than 10.?index-name=gte:10 will filter items using the index-name index where the indexed value is a number greater than or equal to 10.?index-name=before:2026-09-23 will filter items using the index-name index where the indexed value is a date before (or exactly equal to) 23o September 2026.?index-name=after:2026-09-23 will filter items using the index-name index where the indexed value is a date after (or exactly equal to) 23o September 2026.aliasbooleanWhether the index is an alias index. Each list can only have one alias index. Alias values have to be unique, so turning this on for an index that has already been built is refused if more than one item has the same value. If the index is being built, or the same update changes its pointer, the build checks the values when it finishes instead.sortingbooleanWhether the index can be used for sorting items.filteringbooleanWhether the index can be used for filtering items.searchingbooleanWhether the index can be used for searching for items.guardbooleanWhether the value at the index pointer is hidden from item data in token auth mode. The value can still be written.
A guard index can't also be an alias index, or be used for sorting, filtering or searching, because each of those would expose the value it hides.
defaultOrderDirection'asc' | 'desc'When sorting items using this index, this is the default order direction.activatedbooleanWhether the item is activated. Inactive indexes are not accessible or usable via the API.{id: "bdb8589b-3c2b-4b35-88e6-bdd699e5f1dc"createdAt: "2026-09-23T21:08:37.507Z"updatedAt: "2026-09-23T21:08:37.507Z"name: "Sample Index"description: ""tags: [0: "my-app"]pathName: "sample-index"pointer: "/name"valueType: "string"alias: falsesorting: falsefiltering: falsesearching: falseguard: falsedefaultOrderDirection: "asc"activated: truebuildStatus: "building"}last-modified2026-09-23T21:08:37.507ZThe date this list was last modified.