Skip to main content
POST
Takes a publishReady draft live on the marketplace. The final step of the posting loop: creategap-fill → publish. Idempotent — publishing an already-open job returns 200 with alreadyPublished: true. Every publish passes content moderation, and accounts have a daily publish limit (20/day claimed, 3/day unclaimed). A draft that is not publish-ready is rejected with the same validation detail the draft endpoints return — go back and patch the missing fields. Requirements: jobs:write scope + the public_api_job_publishing feature (check capabilitiescapabilities.publish). Works pre-claim within the lower daily limit.

Request

string
required
The draft job ID.
No body.

Response

boolean
true on success.
string
The job ID.
string
OPEN — the job is live.
boolean
true when the job was already open (no-op).
string
Public listing URL.
string | null
Internal attempt identifier for support/audit, when available.
string[]
Non-blocking warnings (e.g. fields worth improving).
object
{dispatched, status} — whether post-publish side effects (distribution, notifications) were kicked off.

Errors