List libraries
Reference for GET /libraries, which returns every library the workspace can see in one response, own libraries first.
On this page
Shell
GET https://app.sopcompass.com/api/v1/librariesScope: read only or read and write. Paginated: no; everything in one response.
Returns the workspace’s own libraries, then any libraries shared into it from another workspace. Own libraries are ordered by their board’s position, then their position on the board; shared-in libraries follow in the same way. Use a library’s id as library_id on GET /sops or POST /sops.
Parameters
None.
Request
Shell
curl https://app.sopcompass.com/api/v1/libraries \
-H "Authorization: Bearer $SOPCOMPASS_API_KEY"JavaScript
const res = await fetch("https://app.sopcompass.com/api/v1/libraries", {
headers: { Authorization: `Bearer ${process.env.SOPCOMPASS_API_KEY}` },
});
const { data: libraries } = await res.json();
const writable = libraries.filter((l) => !l.shared);Python
import os
import requests
res = requests.get(
"https://app.sopcompass.com/api/v1/libraries",
headers={"Authorization": f"Bearer {os.environ['SOPCOMPASS_API_KEY']}"},
timeout=30,
)
libraries = res.json()["data"]
writable = [lib for lib in libraries if not lib["shared"]]Response
200 OK
JSON
{
"data": [
{
"id": "3f6b2c1e-8a4d-4c7e-9b1a-2d5e7f8a9b01",
"title": "Hiring",
"description": "Everything from offer letter to first week.",
"board_id": "9a1c4e2b-6d3f-4b8a-8c7e-1f2a3b4c5d02",
"board_name": "Company",
"default_departments": ["hr_people"],
"sop_count": 6,
"shared": false,
"shared_from": null,
"created_at": "2026-08-30T12:00:00.000000Z"
},
{
"id": "4a6c8e0b-2d4f-4a1c-8e3a-5c7e9b1d3f07",
"title": "Client sites",
"description": null,
"board_id": "1b3d5f7a-9c2e-4a6b-8d0f-2a4c6e8b0d14",
"board_name": "Fulfillment and delivery",
"default_departments": ["operations"],
"sop_count": 14,
"shared": false,
"shared_from": null,
"created_at": "2026-08-30T12:04:51.338120Z"
},
{
"id": "e6a8c0d2-4f6b-4a8c-9e0d-4f6b8d0a2c12",
"title": "Brand standards",
"description": "Logo, colors and uniform rules for every franchise.",
"board_id": "5d7f9b1c-3e5a-4c7e-8b9d-1f3a5c7e9b20",
"board_name": "Company",
"default_departments": [],
"sop_count": 3,
"shared": true,
"shared_from": "Acme Head Office (example)",
"created_at": "2026-07-14T10:22:08.915003Z"
}
]
}| Field | Type | Description |
|---|---|---|
id |
UUID | The library’s id. |
title |
string | The library’s title. |
description |
string or null | The library’s description. |
board_id |
UUID | The board the library is on. For a shared-in library, a board of the workspace that shares it. |
board_name |
string | That board’s name. |
default_departments |
array of strings | Departments new SOPs in this library are for by default: any of hr_people, operations, finance, sales, marketing. Can be []. |
sop_count |
integer | SOPs in the library that aren’t archived. |
shared |
boolean | true when the library is shared into this workspace from another one. You can read its SOPs but not create SOPs in it. |
shared_from |
string or null | The name of the workspace that shares it; null for the workspace’s own libraries. |
created_at |
timestamp | When the library was created. |
Errors
| Status | Code | When |
|---|---|---|
| 405 | method_not_allowed |
POST instead of GET. |
Authentication, plan and rate limit errors apply to every endpoint; see Errors.