---
title: "Publish a page revision"
method: POST
path: "/pages/{pageId}/revisions/{revisionId}/publish"
tags: ["Page Revisions"]
---

# Publish a page revision

`POST /pages/{pageId}/revisions/{revisionId}/publish`

## Request

- Base URL: `https://public-api.process.st/api/v1.1`
- URL: `https://public-api.process.st/api/v1.1/pages/{pageId}/revisions/{revisionId}/publish`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Publishes a draft page revision, transitioning it to Finished status. The previously finished revision becomes Revised.

## Path parameters

- `pageId` string, required
- `revisionId` string, required

## Response `200`

- PublicApiPageRevisionResponse
  - `data` object, required
    - `id` string, required: The ID of the Revision
    - `createdDate` string, date-time, required: When the resource was first created. ISO-8601 UTC.
    - `createdBy` object, required: User who created the resource.
      - `id` string, required: The resource's ID.
      - `email` string, required: The user's email address (also their login identifier).
      - `username` string, required: The user's display name (e.g. `Jane Doe`).
    - `updatedDate` string, date-time, required: When the resource was last modified. ISO-8601 UTC.
    - `updatedBy` object, required: User who last modified the resource.
      - `id` string, required: The resource's ID.
      - `email` string, required: The user's email address (also their login identifier).
      - `username` string, required: The user's display name (e.g. `Jane Doe`).
    - `pageId` string, required: The ID of the Page
    - `version` string, required: Revision version number; monotonically increasing per template.
    - `status` 'Draft' | 'Finished' | 'Revised', required: Status of this revision. `Draft` — being edited; not yet published. `Finished` — currently published version (only one Finished revision per workflow/page at a time). `Revised` — was previously the published version but has been replaced by a newer Finished revision.
  - `links` object[]: Pagination links. When the result has more pages, look for an entry with `name: "next"` — its `href` is the URL to fetch the next page. Absence of `next` means there are no more pages. For single-resource responses this array is typically empty.
    - `name` string, required: Standard link relation name (RFC 5988) indicating this link's role. Common values include `self`, `edit`, `related`, `previous`, `next`.
    - `href` string, required: URL of the linked resource.
    - `rel` 'Approval Task' | 'Approvals' | 'Assignees' | 'Comment' | 'Data Set Records' | 'Data Sets' | 'Form Field Values' | 'Subject Task' | 'Task' | 'Tasks' | 'Users' | 'Webhook' | 'Workflow' | 'Workflow Run': Optional. The kind of resource this link points to (e.g. `Workflow`, `Task`, `Comment`).
    - `type` 'Api' | 'App', required: Whether this link targets an API endpoint or a Process Street app URL. `Api` — a callable API endpoint you can fetch directly. `App` — a browser-facing URL in the Process Street UI.

## Other responses

- `default`

---

[API](https://skmtc.dev/process/apis/process-street-public-api.md) - [All operations](https://skmtc.dev/process/apis/process-street-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/process/apis/process-street-public-api/revisions/78ea0b3f3b40?raw)
