API reference
The live request and response contracts, generated from the same schemas used by REST and MCP.
Base URL
https://api.benjiads.com/v1Choose an operation in the sidebar to inspect its parameters, request body, response schema, and generated code examples. The interactive request panel sends only when you explicitly use its send control.
Download OpenAPI to generate a client in your preferred language. Each operation's operationId is also its MCP tool name.
Set up and run a business
- Set up a business
- List businesses
- Overview
- Launch the ads
- Pause the ads
- Set the cities
- Add money for ads
Discovery and requirements
Sites and leads
Advertising
Receipts and reporting
Limits, retries & errors
Make retries predictable across REST and MCP without repeating side effects.
Set up a business POST
Create the owner's business from what they already said: puts its website live and starts making its first 5 ads. Free; nothing is charged or launched. Pass what you know: the trade (a list_verticals slug) when you know it, the owner's own words about what they do in what (always, verbatim: "soccer coach", "we clean pools"; a specialty inside the trade adapts the page's words and header photo while the trade stays the closest one offered), the cities ("City, ST"), the website if they have one. Call right away: never ask for services (all of the trade's services are included), prices, photos, phone or budget, and don't ask anything else up front. If the owner hasn't said their own name or the business name, setup_business asks them (one question at a time): pass first_name and last_name, and name exactly as the owner gave it. status needs_answer carries exactly one question: ask it, then call again with the same arguments plus the answer. status needs_details lists the trade's required questions (a licence number in some states): ask them, then call again with the answers in facts. ready carries the website and a preview link (their ads and page) to show the owner, and focus ("Your page is set up for soccer coaching.") when the page was adapted: tell the owner. Calling again with the same name resumes; it never creates a duplicate.