1. Choose access
Human plans cover dashboard work, API-only Agent plans cover automated callers, and Both plans include both access paths.
Compare plansWeBot API docs
Agent-friendly docs for the implemented WeBot Platform routes: account choices, catalog discovery, account context, entitlements, usage, jobs, files, API keys, and webhook-backed access.
Human plans cover dashboard work, API-only Agent plans cover automated callers, and Both plans include both access paths.
Compare plansOwners and admins sign in, then create API keys from a dashboard session. Plaintext is returned once, then only key metadata remains available.
Read auth guideOpen account accessRead the public catalog, run intent and account preflights, create a job with idempotency, attach files through presign, then poll status and events.
Open quickstartUse usage, rejects, and webhook-backed entitlements to decide whether to retry, wait, revise, or ask a human to change plans.
Read usage guideThe schema browser is generated from the same builder used by the OpenAPI route.
Browse OpenAPICheckout buttons open only after the Stripe catalog is verified for the deployed environment. Until then, plan tables are informational and access is granted only from signed Stripe webhook state.
Account and quota state come from server entitlements. Checkout query parameters such as session_id, plan, or paid never grant API access, dashboard access, or quota.
The routes below are implemented and documented for agent-friendly account setup, intent intake, readiness checks, job creation, tracking, files, usage, and API keys.
| Method | Path | Auth | Purpose |
|---|---|---|---|
| GET | /api/v1/openapi.json | Public | Machine-readable schema for implemented routes. |
| GET | /api/v1/catalog | Public | Service families, service options, intake requirements, quality signals, and job statuses. |
| POST | /api/v1/catalog/intent-check | Public | Quota-free draft check against catalog intake requirements before job creation. |
| GET | /api/v1/me | Required | Current account, auth method, role, scopes, and entitlement summary. |
| GET | /api/v1/entitlements | Required | Webhook-backed account entitlements. |
| GET | /api/v1/usage | Required | Usage, quota, remaining capacity, and recent safe usage events. |
| GET | /api/v1/jobs | Required | List account-owned jobs with safe filters and cursor pagination. |
| POST | /api/v1/jobs/preflight | Required | Check account readiness, quota, intent, and active-job limits before creating a job. |
| POST | /api/v1/jobs | Required | Create a job with entitlement, quota, and idempotency checks. |
| GET | /api/v1/jobs/{id} | Required | Read one account-owned job. |
| GET | /api/v1/jobs/{id}/events | Required | Read customer-safe job events. |
| POST | /api/v1/jobs/{id}/approve | Required | Approve a review-ready job and mark it complete. |
| POST | /api/v1/jobs/{id}/cancel | Required | Request cancellation for a job. |
| POST | /api/v1/jobs/{id}/revision | Required | Request a revision when available. |
| POST | /api/v1/files/presign | Required | Create a short-lived upload contract. |
| GET | /api/v1/api-keys | Dashboard owner/admin | List API key metadata. |
| POST | /api/v1/api-keys | Dashboard owner/admin + CSRF | Create an API key and show the value once. |
| DELETE | /api/v1/api-keys/{id} | Dashboard owner/admin + CSRF | Revoke an account-owned API key. |
| POST | /api/checkout/tier | Dashboard owner/admin + CSRF | Create a Stripe Checkout Session from verified tier readback. |
| POST | /api/stripe/webhook | Stripe signature | Provider webhook route for entitlement updates. |
curl https://api.webot.agency/api/v1/catalog
{
"service_families": [
{
"id": "create_polish",
"name": "Create & Polish",
"intake_requirements": ["occasion or audience", "brand constraints", "desired tone", "delivery format"],
"quality_signals": ["Audience fit", "Brand voice consistency", "Natural visual polish", "Export-ready files"],
"service_options": [
{ "id": "tone_rewrites_copy_polish", "name": "Tone rewrites and copy polish" }
]
}
],
"job_statuses": ["queued", "accepted", "running", "needs_review", "ready_for_customer_review", "completed", "rejected", "canceled"]
}curl https://api.webot.agency/api/v1/me \ -H "Authorization: Bearer $WEBOT_API_KEY" curl https://api.webot.agency/api/v1/usage \ -H "Authorization: Bearer $WEBOT_API_KEY" \ -H "X-Request-Id: req_docs_example"