Update a collection
PATCH/api/v1/workspaces/{workspace_slug}/collections/{collection_id}/
Partially updates a collection. Its public or private access cannot be changed after creation.
Path Parameters
workspace_slug:requiredstringThe workspace slug.
collection_id:requireduuidThe collection ID.
Body Parameters
name:optionalstringA new collection name.
logo_props:optionalobjectNew logo or emoji properties.
sort_order:optionalnumberThe collection's ordering value.
Scopes
write or wiki.pages:write
Update a collection
bash
curl -X PATCH "https://api.plane.so/api/v1/workspaces/my-workspace/collections/0a8a3e6a-3c32-49c7-bbb5-b7a8e32c2f10/" \
-H "X-API-Key: $PLANE_API_KEY" -H "Content-Type: application/json" \
-d '{"name":"API docs","sort_order":25000}'python
import requests
url = "https://api.plane.so/api/v1/workspaces/my-workspace/collections/0a8a3e6a-3c32-49c7-bbb5-b7a8e32c2f10/"
response = requests.patch(url, headers={"X-API-Key": "your-api-key"}, json={"name": "API docs", "sort_order": 25000})
print(response.json())javascript
// Run this example server-side. Browser apps must call your backend to keep the API key secret.
const url =
"https://api.plane.so/api/v1/workspaces/my-workspace/collections/0a8a3e6a-3c32-49c7-bbb5-b7a8e32c2f10/";
const response = await fetch(url, {
method: "PATCH",
headers: { "X-API-Key": process.env.PLANE_API_KEY, "Content-Type": "application/json" },
body: JSON.stringify({ name: "API docs", sort_order: 25000 }),
});
console.log(await response.json());Response200
json
{
"id": "0a8a3e6a-3c32-49c7-bbb5-b7a8e32c2f10",
"name": "API docs",
"owned_by_id": "d2f1b470-55e8-4e7a-8a61-7fc695bc1a4f",
"access": 0,
"current_user_access": null,
"has_pages": true,
"is_default": false,
"is_global": true,
"logo_props": {},
"sort_order": 25000.0,
"workspace": "95d1f03f-16e5-4807-a8c5-ec0c7cf0e4ab",
"created_at": "2026-08-18T10:00:00Z",
"updated_at": "2026-08-18T10:05:00Z",
"created_by": "d2f1b470-55e8-4e7a-8a61-7fc695bc1a4f",
"updated_by": "d2f1b470-55e8-4e7a-8a61-7fc695bc1a4f"
}
