Update a layout
Replaces the layout's tree and returns the updated layout. For list layouts (list__<entity>), folder names are trimmed of edge whitespace and zero-width characters, 1 to 100 characters, and unique ignoring case, a list sits in at most one folder, and each newly linked list must be a published dynamic list of that entity. Violations already in the stored tree do not block an edit, but new ones return 400, an unknown entity returns 404, and a concurrent edit returns 409. For app-navigation, a newly added unknown object returns 400 and an unchanged tree is not rewritten.
API key authentication. Send your key in the Authorization header as: api-key <your-api-key>.
In: header
Path Parameters
The workspace slug — the {slug} segment of your Clarify workspace URL.
The unique ID of the layout. A record page layout is record-page__{entity}, for example record-page__deal.
Query Parameters
When true, suppresses in-app and Slack notifications for this mutation and batches its live updates, so open views can lag by up to 20 seconds.
Header Parameters
The API version for this request. Send 2026-10 to get the behavior documented here. Omit it to use your API key's version, which this header can raise but not lower.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
curl -X PATCH "https://example.com/workspaces/string/layouts/string" \ -H "clarify-version: 2026-10" \ -H "Content-Type: application/json" \ -d '{ "data": { "type": "layout", "id": "list__deal", "attributes": { "tree": { "version": 1, "children": [ { "id": "views", "type": "NavGroup", "props": { "name": "Views" }, "children": [ { "id": "all-deals", "type": "NavLink", "props": { "entity": "deal", "listId": "9d2c4e6f-8a1b-4c3d-9e5f-7a9b1c3d5e7f" } } ] } ] } } } }'{ "_id": "list__deal", "tree": { "version": 1, "children": [ { "id": "views", "type": "NavGroup", "props": { "name": "Views" }, "children": [ { "id": "all-deals", "type": "NavLink", "props": { "entity": "deal", "listId": "9d2c4e6f-8a1b-4c3d-9e5f-7a9b1c3d5e7f" } } ] } ] }, "_created_by": "7d4e2f9a-1b3c-4d5e-8f6a-9c0b2d4e6f81", "_updated_by": "7d4e2f9a-1b3c-4d5e-8f6a-9c0b2d4e6f81", "_created_at": "2026-01-15T09:30:00.000Z", "_updated_at": "2026-02-01T17:45:00.000Z"}Reset a layout
Restores the layout to its default `tree` and returns the resulting layout. An unknown list entity returns 404 and a concurrent edit returns 409. For `app-navigation`, an unchanged tree is not rewritten.
Export a list’s rows as CSV
Streams the rows of a list as a `text/csv` file download. The first row is a header of field names. Pass a `sql` statement in the body to export a custom query instead of the list’s own rows.