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 docs
  • SDKs

    TypeScript and Python generated from the OpenAPI. Used from the repository for now.

    Read the docs
  • MCP

    Booking and admin tools for AI agents. Hosted server: coming soon.

    Read the docs
  • Webhooks

    HMAC-signed events, retries and a delivery log.

    Read the docs

Quickstart in four steps

  1. 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. 2

    Find slots

    GET /slots returns only real times that cross all the service resources.

  3. 3

    Book in two steps

    POST /holds holds for 10 minutes and POST /holds/id/confirm confirms. Use Idempotency-Key on every POST.

  4. 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