Skip to main content

api-reference

This skill should be used when the user asks for "Outline API endpoints", "Outline REST API", "Outline curl examples", "Outline API documentation", the exact method/parameters for any Outline resource, or needs HTTP details for documents, collections, comments, reactions, pins, subscriptions, notifications, stars, views, shares, webhook subscriptions, access requests, auth, API keys, users, groups, attachments, file operations, revisions, templates, events, OAuth clients, or data attributes. Index into the full per-domain endpoint catalog.

Source facts

Repository
Agents-Store/codex-plugins
Last source activity
October 3, 2026 at 23:16
Detected SKILL.md language
English
Stars
0
Forks
0

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
10 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
api-reference
description
This skill should be used when the user asks for "Outline API endpoints", "Outline REST API", "Outline curl examples", "Outline API documentation", the exact method/parameters for any Outline resource, or needs HTTP details for documents, collections, comments, reactions, pins, subscriptions, notifications, stars, views, shares, webhook subscriptions, access requests, auth, API keys, users, groups, attachments, file operations, revisions, templates, events, OAuth clients, or data attributes. Index into the full per-domain endpoint catalog.
# Outline REST API Reference Complete catalog for the Outline REST API, split by domain. Official docs: https://www.getoutline.com/developers The **exhaustive source of truth** is the bundled OpenAPI 3.0 spec: `references/outline-openapi.yml` (154 operations across 26 resource groups — snapshot of `outline/openapi` `spec3.yml` at commit `40f51b75ef`, 2026-09-23, matching Outline server v1.10.1; refresh with `curl -o references/outline-openapi.yml https://raw.githubusercontent.com/outline/openapi/main/spec3.yml`). The curated `references/*.md` files below cover every operation in plain, copy-pasteable form. Load the `setup` skill first for authentication and the global conventions (RPC POST style, Bearer header, response envelope, limit/offset pagination, sorting, rate limiting, policies) — those rules apply to every method here and are not repeated in each file. ## Global conventions (recap) - Every endpoint is a **`POST`** to `${OUTLINE_API_URL%/}/<method>` with a JSON body. No GETs, no path params. Empty body = `-d '{}'`. - Headers: `Authorization: Bearer ${OUTLINE_API_KEY}`, `Content-Type: application/json`, `Accept: application/json`. - Success: `{ ok, status, data, pagination?, policies? }` — read `.data`. Errors: `{ ok:false, error, status }`. - Lists take `{"limit":25,"offset":0}` (default limit 25) and echo `pagination.nextPath`. Sort with `{"sort":"updatedAt","direction":"ASC|DESC"}`. - Address by UUID; documents/collections/templates also accept a short `urlId`. Resolve titles via `documents.search` / `collections.list` first. - `403` = a policy denies the action (respect it); `429` = rate limited (`Retry-After` header). ## Domain index Open the file matching the resource you need: | Domain | File | Covers | |--------|------|--------| | Documents | `references/documents.md` | info, list, documents (tree), drafts, viewed, search, search_titles, answerQuestion (AI), create, import, update (`lastRevision` → 409), templatize, unpublish, move, archive, restore, delete, duplicate, empty_trash, export, insights, users, memberships, add_user/remove_user, add_group/remove_group, group_memberships, archived, deleted (`list`, `search`, `search_titles`, `deleted` take structured `filters`) | | Collections | `references/collections.md` | info, documents, list (+ `filters`), create, update, delete, archive, restore, move (reorder), duplicate, import, add_user, remove_user, memberships, add_group, remove_group, group_memberships, export, export_all | | Comments, reactions, pins, subscriptions, notifications, stars & views | `references/comments-stars-views.md` | comments CRUD + list + resolve/unresolve + add_reaction/remove_reaction (inline anchors, threads; `update` takes `text` or `data`), reactions list, pins create/info/list/update/delete, subscriptions create/info/list/delete, notifications list/update/update_all, users notificationsSubscribe/Unsubscribe, stars create/list/update/delete, views list | | Sharing, access, auth & webhooks | `references/sharing-access.md` | shares info/list/create/update/revoke, accessRequests create/info/approve/dismiss, auth info/config/delete, webhookSubscriptions create/list/update/delete (admin) | | Users & groups | `references/users-groups.md` | users invite/resendInvite/info/list (+ `filters`)/update/updateEmail/update_role/suspend/activate/delete, groups info/list/create/update/delete/memberships/add_user/update_user/remove_user, userMemberships list/update, groupMemberships list | | Attachments & file operations | `references/attachments-fileops.md` | attachments create/createFromUrl/list/redirect/delete, fileOperations info/list/redirect/delete | | Revisions, templates & events | `references/revisions-templates-events.md` | revisions info/list/update/delete/export, templates create/list/info/update/delete/restore/duplicate, events list (audit log) | | API keys, OAuth & data attributes | `references/oauth-data-attributes.md` | apiKeys create/list/delete, oauthClients CRUD + rotate_secret, oauthAuthentications list/delete, dataAttributes CRUD (Business/Enterprise) | ## How to use a reference file Each file lists endpoints as `POST /<method>` with purpose and key body fields. To run one, wrap it with auth and `jq`: ```bash curl -s -X POST "${OUTLINE_API_URL%/}/<method>" \ -H "Authorization: Bearer ${OUTLINE_API_KEY}" \ -H "Content-Type: application/json" \ -H "Accept: application/json" \ -d '{ ...body... }' | jq '.data' ``` For rarely-needed fields or response shapes, grep the bundled spec: `grep -n "operationId: documentsSearch" references/outline-openapi.yml`. ## Examples <example> User: "What's the endpoint to create a document?" → Open `references/documents.md`. `POST /documents.create` with `{"title","text","collectionId","publish":true}`. `collectionId` (or `parentDocumentId`) is required to publish. `text` is markdown. </example> <example> User: "How do I give a user write access to a collection?" → Open `references/collections.md`. `POST /collections.add_user` with `{"id":"<collectionId>","userId":"<userId>","permission":"read_write"}`. </example> <example> User: "Give me the curl to make a public share link for a document." → Open `references/sharing-access.md`. `POST /shares.create` `{"documentId":"<id>"}` (starts unpublished), then `POST /shares.update` `{"id":"<shareId>","published":true}` to make it accessible without login. </example>
View on GitHub