Skip to content

See what Publish would change

GET/v1/organization/{orgId}/sites/{siteId}/diff

US Region: https://public-api.sessionboard.com · EU Region: https://public-api-eu.sessionboard.com

The draft against what is live, in pages, blocks and settings, with one plain sentence per change in summary — show it to the person before they approve a publish. Also at GET /v1/sites/{siteId}/diff.

Request example

Terminal window
curl --request GET \
--url 'https://public-api.sessionboard.com/v1/organization/{orgId}/sites/{siteId}/diff' \
--header 'x-access-token: <api-token>'

Try it

Authorization

Your token stays in this page. It is sent only to the region above and is never saved; it is gone when you leave or reload the page.

Path parameters
GET

Authorizations

  • x-access-tokenstringheader

    Organization API token. Generate from Organization Settings → API Tokens.

  • AuthorizationBearer <token>headeror

    OAuth 2.1 access token. Obtained via the OAuth PKCE flow at /oauth/token.

Send one of these. See Authentication.

Path parameters

  • orgIdstringpathrequired

    Your organization ID. Any other organization returns 404.

  • siteIdstring<uuid>pathrequired

    The Site's id from List Sites.

Responses

200application/json

OK

  • payloadobject
    Show child attributes
    • changedboolean
    • pagesobject[]
    • blocksobject[]
    • settingsobject[]
      Show child attributes
      • keystring
      • labelstring
    • summarystring[]

      One plain sentence per change, for the person to read.

    • revisionstring
    • has_unpublished_changesboolean

403

  • SCOPE_REQUIRED — the token lacks read:sites (or read:marketing, read:learning, read:awards) for reads, or the matching write: scope for writes.
  • FORBIDDEN — the token's user cannot edit this Site.

Response examples

{
"payload": {
"changed": true,
"pages": [
{}
],
"blocks": [
{}
],
"settings": [
{
"key": "<string>",
"label": "<string>"
}
],
"summary": [
"<string>"
],
"revision": "<string>",
"has_unpublished_changes": true
}
}