Skip to content

Rest API

Get help center publish status

GET
/api/v1/help-center/publish-status

Retrieve the publish state of the help center for a website: whether a publish is currently running, plus the most recent publish jobs, newest first.

Use cases

  • Progress polling: After starting a publish, poll this endpoint until the job status is terminal
  • Account investigation: Check when the help center was last published and whether recent publishes succeeded

Notes

  • state.runningJobId is set while a publish is in flight, null when the website is idle
  • Up to 25 recent jobs are returned
x-api-key
required
string

Your API key from account settings.

x-user-email
required
string

The email address of your user.

x-account-id
required
string

The ID of your account. You can find this in the account settings.

x-website-id
required
string

The ID of the workspace you want to use.

The publish state and recent jobs.

object
jobs
Array<object>
object
jobId

Unique identifier for this publish job.

string
accountId
string
websiteId
string
status

Current status of the job, e.g. queued, running, succeeded or failed.

string
scope

What was published, see the publish endpoint for the scope shape.

object
triggeredBy

Email address of the user (or API caller) that started the publish.

string
createdAt

Unix timestamp (ms) when the job was created.

number
startedAt

Unix timestamp (ms) when the job started.

number
finishedAt

Unix timestamp (ms) when the job finished, absent while running.

number
nullable
error

Error message when the job failed.

string
nullable
failedFaqIds

FAQ IDs that failed to publish, if any.

Array<string>
state

The per-website publish coordinator, null when the website has never been published.

object
runningJobId

ID of the currently running job, null when idle.

string
nullable
leaseExpiresAt
number
nullable
Example
{
"jobs": [
{
"jobId": "20260101T120000-abcd",
"accountId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"websiteId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"status": "succeeded",
"scope": {
"type": "full"
},
"triggeredBy": "user@example.com",
"createdAt": 1641081600000,
"startedAt": 1641081600000,
"finishedAt": 1641081900000,
"failedFaqIds": []
}
],
"state": {
"runningJobId": null,
"leaseExpiresAt": null
}
}

Bad request - missing websiteId.

Unauthorized - invalid API key.