API documentation and quickstart
Human- and agent-readable setup guides for the first public /v1 contract.
Official developer resources
Create and publish Pages, buttons, forms, booking types, callback flows, knowledge, and agent-ready contact experiences from code or a coding-agent conversation.
These are the canonical, predictable entry points. Agents should follow the live OpenAPI contract instead of relying on remembered endpoint shapes.
Human- and agent-readable setup guides for the first public /v1 contract.
The complete REST contract, request schemas, response schemas, operation IDs, and security definition.
Downloadopenapi.yamlCreate a least-privilege bearer key, store it outside model context, and send it in the Authorization header.
Connect an MCP-capable client to the shared server and discover tools through the live protocol.
Read the MCP setup guideReceive signed form.submission.created events with stable event and delivery identifiers.
Portable operating instructions, product boundaries, confirmation rules, and Telnyx prerequisites.
Open the Contact Button agent skillContact Button currently authenticates the REST API with scoped bearer keys. Every protected route checks the required token ability, and tenant access is still limited to workspaces the represented user may access.
workspaces:readRead workspaces, teams, domains, settings, and connections.
workspaces:writeCreate and manage workspaces, teams, domains, settings, and connections.
content:readRead buttons, forms, lists, pages, booking types, and knowledge.
content:writeCreate, update, publish, and remove content.
engagements:readRead submissions, subscribers, bookings, callbacks, calls, reviews, and conversations.
engagements:manageReply to and manage engagement records.
actions:requestRequest protected actions that can still require human confirmation.
Put the secret in CONTACTBUTTON_TOKEN on the agent host. Never paste it into a prompt, transcript, public file, or repository.
curl https://api.contactbutton.com/v1/workspaces \ --header "Authorization: Bearer $CONTACTBUTTON_TOKEN" \ --header "Accept: application/json"
Contact Button does not yet offer a separate public sandbox host. Use read endpoints first, create draft resources, preview before publishing, use a unique Idempotency-Key for mutations, and delete test drafts when verification is complete. Publishing, DNS changes, phone-number purchases, payments, and outbound contact require explicit human approval.