Getting started
Welcome to Vauchflow — the Voucher & Promotions API built for developers.
Prerequisites
Section titled “Prerequisites”- A Vauchflow account (sign up free)
curlor any HTTP client
Quickstart
Section titled “Quickstart”-
Get your API key
From your dashboard, navigate to Settings → API Keys and create a secret key (
vf_sk_...). -
Create a campaign
Terminal window curl -X POST https://api.vauchflow.com/v1/campaigns \-H "Authorization: Bearer vf_sk_YOUR_KEY" \-H "Content-Type: application/json" \-d '{"name": "Summer Sale","type": "DISCOUNT","rules": {"discount_type": "PERCENT","discount_value": 20,"max_redemptions": 500,"expires_at": "2026-08-31T23:59:59Z"}}' -
Issue a voucher
Terminal window curl -X POST https://api.vauchflow.com/v1/vouchers \-H "Authorization: Bearer vf_sk_YOUR_KEY" \-H "Content-Type: application/json" \-H "Idempotency-Key: create-save20-001" \-d '{"code": "SAVE20","campaign_id": "cmp_01HX..."}' -
Redeem atomically
Terminal window curl -X POST https://api.vauchflow.com/v1/vouchers/SAVE20/redeem \-H "Authorization: Bearer vf_sk_YOUR_KEY" \-H "Content-Type: application/json" \-d '{"customer_id": "cust_external_123","order_value": 89.99}'# Response# { "discount_applied": 17.998, "status": "redeemed", "remaining": 499 }
API key types
Section titled “API key types”| Type | Prefix | TTL | Scopes | Use case |
|---|---|---|---|---|
| Secret | vf_sk_ | Indefinite | Full | Server-side only |
| Publishable | vf_pk_ | Indefinite | Validate-only | Client-side |
| Agent | vf_ak_ | 1–90 days (configurable) | Per-tool grants | AI agents (MCP, Custom GPT) |
Agent keys are available on Starter plans and above.
Free plan limits
Section titled “Free plan limits”The Free plan is great for prototyping and integration testing, with the following limits:
| Limit | Value |
|---|---|
| Active campaigns | 1 |
| API requests | 10/min for general endpoints |
| Voucher redemptions | 3/min |
| Webhook delivery | Disabled (paid plans only) |
| Analytics endpoints | Disabled (returns 402 analytics_not_available with an upgrade_url) |
When a Free-plan tenant hits a limit, the API returns a structured envelope:
{ "error": { "code": "rate_limit_exceeded", "message": "Rate limit exceeded for Free plan", "meta": { "upgrade_url": "https://app.vauchflow.com/billing/upgrade" } }}Upgrade to Starter or higher for production-scale campaigns, webhooks, analytics, agent keys, and MCP integration. See pricing.
Idempotency
Section titled “Idempotency”All write endpoints accept an Idempotency-Key header. Use a unique key per request to safely retry on network failures — you’ll get the same response without double-creating resources.
Next steps
Section titled “Next steps”- API Reference — full endpoint docs
- Webhook events — get notified on redemptions
- SDKs — official client libraries
- AI agents overview — integrate Claude, Custom GPT, and your own MCP clients
- MCP server — Model Context Protocol endpoint for AI agents
- Approval queue — operator review for high-risk agent actions