Get a page version
const url = 'https://flow.work.optidata.cloud/api/categories/993/pages/2927/contents/4508';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://flow.work.optidata.cloud/api/categories/993/pages/2927/contents/4508 \ --header 'Authorization: Bearer <token>'Returns one version of a page — a draft or a published version — with its
document in data. The caller must be able to view the page.
Reading the page’s current published version marks the page as read for the caller.
Authorizations
Section titled “Authorizations”Parameters
Section titled “ Parameters ”Path Parameters
Section titled “Path Parameters”Id of the category. Read it from GET /categories.
Id of a page of that category.
Id of a version of that page — a page’s page_content_id, or the id returned when saving a new draft.
Responses
Section titled “ Responses ”The page version.
A page version with its document.
object
Id of the user who started this version.
Optional label of the version.
The document, as a JSON-encoded array of editor block nodes. An empty string for a draft nobody has written into yet.
Examples
{ "id": 4508, "page_id": 2927, "user_id": 20, "name": null, "status": "published", "data": "[{\"type\":\"h1\",\"children\":[{\"text\":\"Onboarding checklist\"}]},{\"type\":\"p\",\"children\":[{\"text\":\"Request a laptop and set up your Optiwork account on day one. Read the security handbook and enable two-factor authentication.\"}]}]", "created_at": "2026-10-19T13:50:45.000000Z", "updated_at": "2026-10-19T13:51:39.000000Z", "deleted_at": null}A new page's first draft
{ "id": 4508, "page_id": 2927, "user_id": 20, "name": null, "status": "draft", "data": "", "created_at": "2026-10-19T13:50:45.000000Z", "updated_at": "2026-10-19T13:50:45.000000Z", "deleted_at": null}No authentication key was sent.
Authentication failures use an error key rather than message.
object
Examples
No bearer token sent
{ "error": "JWT passport exception: Missing bearer token in request"}The caller lacks the access this operation needs.
Generic error envelope used by permission, lookup and framework failures.
object
Examples
{ "message": "This action is unauthorized."}No such resource — or it does not belong to the category or page in the path.
Generic error envelope used by permission, lookup and framework failures.
object
Examples
{ "message": "No query results for model [App\\Models\\Page] 999999"}The authentication key is expired or not recognised. Get a fresh one and retry.
Authentication failures use an error key rather than message.
object
Examples
{ "error": "JWT passport expired: Passport expired"}