Developers
For developers: API, SDKs, MCP and webhooks
The dashboard uses the same API you do. Book from any system, receive signed events and let AI agents run the business.
REST API
Scopes per key, Idempotency-Key, cursor pagination and RFC 9457 errors.
Read the docsSDKs
TypeScript and Python generated from the OpenAPI. Used from the repository for now.
Read the docsMCP
Booking and admin tools for AI agents. Hosted server: coming soon.
Read the docsWebhooks
HMAC-signed events, retries and a delivery log.
Read the docs
Quickstart in four steps
- 1
Create a key
In the dashboard, under Settings, Developers: create a production key with the slots:read and bookings:write scopes. It is shown only once.
- 2
Find slots
GET /slots returns only real times that cross all the service resources.
- 3
Book in two steps
POST /holds holds for 10 minutes and POST /holds/id/confirm confirms. Use Idempotency-Key on every POST.
- 4
Listen to events
Register an endpoint at /webhook-endpoints and verify the signature of each delivery.
Examples
export WAGEND_KEY="wg_live_xxxxxxxx_xxxxxxxxxxxxxxxxxxxx"
# 1. Real slots for the service
curl -s "https://api.wagend.app/v1/slots?service_id=svc_corte&from=2026-10-15T09:00:00-03:00&to=2026-10-15T18:00:00-03:00" \
-H "Authorization: Bearer $WAGEND_KEY"
# 2. 10-minute hold
curl -X POST https://api.wagend.app/v1/holds \
-H "Authorization: Bearer $WAGEND_KEY" \
-H "Idempotency-Key: 8c1f2a9e-4b7d-4e0a-9d51-3a6f0c2b7e11" \
-H "Content-Type: application/json" \
-d '{
"service_id": "svc_corte",
"start": "2026-10-15T09:45:00-03:00",
"customer": { "name": "Carlos", "phone": "+5521999990000" }
}'
# 3. Confirm (use the id returned by step 2)
curl -X POST https://api.wagend.app/v1/holds/HOLD_ID/confirm \
-H "Authorization: Bearer $WAGEND_KEY" \
-H "Idempotency-Key: 5d0e7a31-91c4-4f6b-8a2e-7c1b9e4d2f60" \
-H "Content-Type: application/json" \
-d '{}'The keys in the examples are fictional. The SDKs are not yet published on npm or PyPI: see the docs to use them from the repository.
MCP server
The MCP server uses the same API key and never grants more permissions than it. Today you run it from the repository; the hosted version at mcp.wagend.app is coming soon.
Continue in the docs
Prefer to give the docs to an AI? Use llms.txt and llms-full.txt. llms.txt · llms-full.txt