Integrations API
Connect external systems to sync events, attendees, promo passes, and coupons with organization API keys
Integrations API
The Integrations API is an HTTP API for connecting external systems (CRM, data warehouse, custom dashboards, onsite tools) to your Quicket organization. Each key is scoped to one organization and can:
Read access: list events and export attendees.
Write access (optional per key): create and update events, generate promo passes, and create coupons.
This is separate from the Widget Integration embed, which lets visitors buy tickets on your website.
Where to manage keys
Organization admins create and revoke keys in the dashboard:
- Location: Organization dashboard → Settings → API keys
- Path:
/organizations/<org-slug>/settings
When you create a key, choose which scopes the integration needs. The full secret is shown once.
| Scope | Allows |
|---|---|
| Read events and attendees | Always included |
| Read event detail, categories, coupons | events:read |
| Create and update events | events:write |
| Generate promo passes | passes:write |
| Create coupons | coupons:write |
| Action | Who | Result |
|---|---|---|
| Create key | Org admin | One-time secret (qkt_live_...) with chosen scopes |
| List keys | Org admin | Name, prefix, scopes, dates, active/revoked |
| Revoke key | Org admin | Key stops working immediately |
You can have up to 10 active keys per organization.
:::warning Server-to-server only Use API keys only from your backend or trusted server jobs. Do not embed keys in browser JavaScript, mobile apps, or public repositories. :::
Authentication
Authorization: Bearer qkt_live_<prefix>_<secret>Base URL: https://api.quicket.me/v2/integrations
Read endpoints
List events
GET /v2/integrations/events — requires read.
List attendees
GET /v2/integrations/events/{event_slug}/attendees — requires read.
Event detail
GET /v2/integrations/events/{event_slug} — requires events:read.
Categories
GET /v2/integrations/events/{event_slug}/categories — requires events:read. Use category IDs for pass and coupon APIs.
Coupons list
GET /v2/integrations/events/{event_slug}/coupons — requires events:read.
Write endpoints
Create event
POST /v2/integrations/events — requires events:write. Always creates a draft (not published).
Update event
PATCH /v2/integrations/events/{event_slug}/information— title, dates, venuePATCH /v2/integrations/events/{event_slug}/settings— registration flags, publish
Publish an event
- Create the event (draft)
POST /v2/integrations/events/{slug}/accept-termswith the current terms version- Set
statustoapproved(when your org allows it) PATCH .../settingswith{"published": true}
Generate promo passes
POST /v2/integrations/events/{event_slug}/passes — requires passes:write.
Passes created through the API are always promo (complimentary). They appear in the attendee list with promo: true, consume ticket capacity, and do not count as paid revenue.
{
"passes": [
{
"name": "Guest",
"email": "guest@example.com",
"categoryId": 1,
"quantity": 1
}
],
"sendEmail": false
}Optional: POST .../passes/send-email to queue pass delivery emails.
Create coupon
POST /v2/integrations/events/{event_slug}/coupons — requires coupons:write.
{
"code": "VIP20",
"discountValue": 20,
"discountIsPercentage": true,
"categoryIds": [1],
"expirationDays": 60
}Rate limits
| Traffic | Limit per key |
|---|---|
| Event list (GET) | 60 / minute |
| Attendees (GET) | 30 / minute |
| Writes (POST/PATCH) | 20 / minute |
Errors
| Status | Meaning |
|---|---|
401 | Invalid or revoked key |
403 | Key missing scope for this endpoint |
404 | Event not in your organization |
429 | Rate limit; retry after 60 seconds |
Related docs
- AI Assistant (MCP) — read-only assistant tools (same API keys)
- Organization Settings — API key management
- Pass Generator — dashboard equivalent for promo passes
- Attendees & Passes — attendee list in the dashboard
Full technical reference: repo docs/INTEGRATIONS_API.md.