Headless Board API
Public Board API endpoints and the @cavuno/board SDK for building a custom job-posting flow on a headless board.
A
JThe Board API endpoints under /v1/boards/:identifier/ require no authentication and are designed for headless boards that implement their own posting UI. The :identifier is your board slug.
List job-posting plans
Returns the board's available plans. Pass the chosen plan's id as selectedPlan when submitting a job.
Submit a job posting
Creates the job and returns a status-discriminated result. Branch on .status: checkout (redirect to .checkoutUrl), published, pending_approval, or invoice_sent.
Check billing status
Body: { email }. Returns { hasActiveBilling } — whether this email already has billing credit on the board.
Send a billing-verification token
Body: { email }. Sends a verification token to the address. Pass the token to the billing-options endpoint.
Get billing options
Body: { verificationToken }. Returns the credit options for the verified email. Use one option as selectedBilling in the job submission.
Check subscription entitlements
Body: { email, planId }. Returns the featured slots and active entitlements the email's subscription grants for the given plan.
Use the @cavuno/board SDK
Install @cavuno/board and call the board.jobPosting namespace:
The namespace also exposes plans() and create(input) for the full posting flow. See the SDK job-posting guide and job-posting reference for the complete flow.
Next steps
Implement the status branches described in the SDK job-posting guide, then submit a test posting and confirm the result is handled as checkout, published, pending_approval, or invoice_sent rather than assuming every submission redirects to checkout.