Documents
Documents and procedures with full version history. Library documents can be copied into an organisation.
| Method | Path | Summary |
|---|---|---|
| GET | /api/documents | Library documents |
| GET | /api/documents/:id | Get a document |
| POST | /api/documents | Add a library document |
| PUT | /api/documents/:id | Save a document |
| DELETE | /api/documents/:id | Archive a document |
| GET | /api/documents/:id/versions | A document's versions |
| GET | /api/documents/:id/versions/:vid | Get a document version |
| POST | /api/documents/:id/versions/:vid/restore | Restore a document version |
| POST | /api/documents/:id/copy | Copy a library document (e.g |
#Library documents
GET
/api/documents- Address
https://<your-org>.brambleit.cloud/atlas/api/documents- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Response 200
| Field | Type | Description |
|---|---|---|
documents | array of any |
Example response
JSON
{
"documents": []
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Get a document
GET
/api/documents/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/documents/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
document | any | |
versions | integer |
Example response
JSON
{
"document": null,
"versions": 1
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents/42', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Add a library document
POST
/api/documents- Address
https://<your-org>.brambleit.cloud/atlas/api/documents- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Save a document
PUT
/api/documents/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/documents/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
base_updated_at | string (date-time) | The updated_at you started editing from. If it has changed, you get 409. |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean | |
updated_at | string (date-time) |
Example response
JSON
{
"ok": true,
"updated_at": "2026-11-12T09:30:00.000Z"
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents/42', {
method: 'PUT',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"base_updated_at":"2026-11-12T09:30:00.000Z"}),
});
const data = await res.json();#Archive a document
DELETE
/api/documents/:id- Address
https://<your-org>.brambleit.cloud/atlas/api/documents/:id- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents/42', {
method: 'DELETE',
credentials: 'include',
});
const data = await res.json();#A document's versions
GET
/api/documents/:id/versions- Address
https://<your-org>.brambleit.cloud/atlas/api/documents/:id/versions- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
versions | array of object | |
versions[].id | integer, or null | |
versions[].title | string | |
versions[].saved_name | string, or null | |
versions[].saved_at | string (date-time), or null |
Example response
JSON
{
"versions": [
{
"id": 42,
"title": "Example title",
"saved_name": "Example saved name",
"saved_at": "2026-11-12T09:30:00.000Z"
}
]
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents/42/versions', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Get a document version
GET
/api/documents/:id/versions/:vid- Address
https://<your-org>.brambleit.cloud/atlas/api/documents/:id/versions/:vid- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer | |
vidrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
version | object | |
version.id | integer, or null | |
version.document_id | integer | |
version.title | string | |
version.body | string, or null | |
version.saved_by | integer, or null | |
version.saved_name | string, or null | |
version.saved_at | string (date-time), or null |
Example response
JSON
{
"version": {
"id": 42,
"document_id": 7,
"title": "Example title",
"body": "<p>…</p>",
"saved_by": 1,
"saved_name": "Example saved name",
"saved_at": "2026-11-12T09:30:00.000Z"
}
}Errors
| Status | Message |
|---|---|
| 404 | Version not found |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents/42/versions/1', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Restore a document version
POST
/api/documents/:id/versions/:vid/restore- Address
https://<your-org>.brambleit.cloud/atlas/api/documents/:id/versions/:vid/restore- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer | |
vidrequired | integer |
Response 200
| Field | Type | Description |
|---|---|---|
ok | boolean |
Example response
JSON
{
"ok": true
}Errors
| Status | Message |
|---|---|
| 404 | Version not found |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents/42/versions/1/restore', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Copy a library document (e.g
POST
/api/documents/:id/copyCopy a library document (e.g. an SOP template) into an organisation.
- Address
https://<your-org>.brambleit.cloud/atlas/api/documents/:id/copy- Requires
- Signed-in browser session (the
sso_session/session_idcookies from Bramble sign-in).
Licence: Atlas.
Path parameters
| Name | Type | Description |
|---|---|---|
idrequired | integer |
Request body JSON
| Name | Type | Description |
|---|---|---|
org | any |
Response 200
| Field | Type | Description |
|---|---|---|
document | object | |
document.id | integer |
Example response
JSON
{
"document": {
"id": 42
}
}Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/atlas/api/documents/42/copy', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"org":"…"}),
});
const data = await res.json();Was this page helpful?
Thanks for your feedback.