Skip to help content
RightMessage

Publishing API reference

Publish the complete project draft and interpret publication success, conflicts, and failures.

Available on the Scale and Pro plans.

Updated

View as Markdown

Publication makes the current project draft available to the website runtime. It includes changes made through the dashboard, REST, or an assistant. The endpoint does not select individual resource changes.

Review the draft and publication boundaries before publishing. Configuration reads can include another editor's unpublished changes.

POST /{teamPid}/publish

The full URL is https://api.rightmessage.com/v1/{teamPid}/publish. Send Authorization: Bearer YOUR_API_TOKEN, Accept: application/json, and Content-Type: application/json.

The token needs publish or *. Neither read nor write alone grants publication. Project membership and suspension checks apply. The route limit is 120 requests per minute. Demo project mutations are forbidden.

Publish request body

FieldBehavior
messageOptional publish note. A truthy value replaces the draft's publish message. Send a string. The endpoint does not validate its type or length.
tabIdOptional originating dashboard tab identifier used for update notifications. Send a string or omit it. The endpoint does not validate this field.

An empty JSON object is accepted. There is no resource-ID filter, expected-checksum argument, dry-run option, or scheduled-publication parameter in this endpoint.

Success and side effects

A successful request returns 200 without a data envelope:

JSON
{
	"message": "Configuration published successfully.",
	"published_at": "2026-10-13T12:00:00+00:00"
}

Publication saves a snapshot, compiles the permitted configuration, and activates the website snippet. It updates the project's last-published timestamp and published CAPTCHA key, and clears the unpublished-change reminder. These steps are not one atomic transaction.

Publication can wait up to 45 seconds for another experiment-activation operation to finish. This endpoint does not send the normal dashboard publication-success notification.

Publication compiles the permitted runtime configuration. A successful publish is not a guarantee that every draft feature is entitled on the current plan. It is also not a start operation for a draft resource A/B test.

Hosted pages have a separate page publication endpoint. This v1 operation is not its replacement.

Errors

StatusBody and meaning
401Authentication failed.
403Missing project access, insufficient publish ability, suspended account/project, or a demo mutation.
404Unknown project.
409{"code":"experiment_activation_busy","message":"..."}. Another activation operation holds the lock.
422{"message":"No draft changes to publish. Make changes via the campaigns API first."}. No draft exists. The wording mentions campaigns, but other configuration CRUD operations can also create drafts.
429Project-route throttle exceeded.
500{"message":"Failed to publish configuration. Please try again or contact support."}. Compilation or publication failed.
503Maintenance response from shared middleware.

A failed publication does not always reset the draft's status, and a 500 does not mean that every side effect was rolled back. Inspect the draft and live state before publishing again.

An expired fixed-end project trial blocks publication until billing is activated. This endpoint returns the generic 500 publication response for that failure, not a field-level 422. A suspension detected after the initial access check can return the same error.

Illustrative request

This request and the success body above are illustrative and were not executed. They publish the fictional WorkForge project's whole draft, not just a named campaign.

HTTP
POST /v1/123456/publish HTTP/1.1
Host: api.rightmessage.com
Authorization: Bearer YOUR_API_TOKEN
Accept: application/json
Content-Type: application/json

{"message":"Publish the WorkForge welcome flow"}

See request conventions for the shared authentication and error contract.

Still need a hand?

Tell us what you’re trying to do and where you’re getting stuck.

support@rightmessage.com