---
title: "Update a collection"
method: POST
path: "/collections.update"
tags: ["Collections"]
---

# Update a collection

`POST /collections.update`

## Request body

- object
  - `id` string, uuid, required
  - `name` string
  - `permission` 'read' | 'read_write'
  - `description` string
  - `color` string

## Response `200`

OK

- object
  - `data` Collection
    - `id` string, uuid — Unique identifier for the object.
    - `name` string — The name of the collection.
    - `description` string — A description of the collection, may contain markdown formatting
    - `sort` object — The sort of documents in the collection. Note that not all API responses respect this and it is left as a frontend concern to implement.
      - `field` string
      - `direction` 'asc' | 'desc'
    - `index` string — The position of the collection in the sidebar
    - `color` string — A color representing the collection, this is used to help make collections more identifiable in the UI. It should be in HEX format including the #
    - `icon` string — A string that represents an icon in the outline-icons package
    - `permission` 'read' | 'read_write'
    - `createdAt` string, date-time — The date and time that this object was created
    - `updatedAt` string, date-time — The date and time that this object was last changed
    - `deletedAt` string, date-time, nullable — The date and time that this object was deleted
  - `policies` Policy[]
    - `id` string, uuid — Unique identifier for the object this policy references.
    - `abilities` object
      - `create` boolean
      - `read` boolean
      - `update` boolean
      - `delete` boolean
      - `restore` boolean
      - `star` boolean
      - `unstar` boolean
      - `share` boolean
      - `download` boolean
      - `pin` boolean
      - `unpin` boolean
      - `move` boolean
      - `archive` boolean
      - `unarchive` boolean
      - `createChildDocument` boolean

## Other responses

- `400` — The request failed one or more validations.
- `401` — The API key is missing or otherwise invalid.
- `403` — The current API key is not authorized to perform this action.
- `404` — The specified resource was not found.
- `429` — The request was rate limited.

## Changes

- **2024-10-18** `fdf2ec9c9df4` — 1 info
  - added the non-success response with the status `429`
- **2024-07-06** `7b33b538cd7d` — 12 info
  - added the optional property `data` to the response with the `400` status
  - added the optional property `data` to the response with the `401` status
  - added the optional property `data` to the response with the `403` status
  - added the optional property `data` to the response with the `404` status
  - …8 more

[Change history](https://skmtc.dev/defaulr/apis/outline-api/changes/collections.update/post.md)

---

[API](https://skmtc.dev/defaulr/apis/outline-api.md) · [All operations](https://skmtc.dev/defaulr/apis/outline-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/defaulr/outline-api/revisions/fdf2ec9c9df4/schema)
