Developer platform

Build on Zunaro

Read and write your events, orders, and tickets over a REST API, and get signed webhooks the moment something sells, refunds, or checks in. It is the same engine your dashboard runs on.

Keys are minted in Dashboard → Settings → Developers.

Terminal
curl https://api.zunaro.ai/v1/events \
  -H "Authorization: Bearer zun_live_..."
{
  "object": "list",
  "data": [
    {
      "id": "3f0e2c4a-9d1b-4c6e-8a2f-5b7d9e1c3a50",
      "object": "event",
      "title": "API Demo Night",
      "admission_type": "general_admission",
      "timezone": "America/New_York",
      "is_archived": false,
      "created_at": "2026-07-01T18:00:00.000Z"
    }
  ],
  "has_more": false
}

Boring where it should be boring.

Predictable conventions, documented limits, no surprises. Field names are snake_case, money is integer minor units, timestamps are ISO 8601.

Bearer API keys

Authorization: Bearer zun_live_… — your organizer is resolved from the key, and read/write scopes gate every operation. Keys live in Dashboard → Settings → Developers.

One error shape

Every failure is an RFC 9457 problem+json body, and every response carries an x-request-id header you can quote to support.

Cursor pagination

Lists take ?limit= (1–100) and ?starting_after=<last id> and answer {"object": "list", "data": [...], "has_more": true}.

Safe retries

Send an Idempotency-Key header on POST/PATCH — the response is memoized for 24 hours and retries replay it instead of re-executing.

Honest rate limits

600/min per IP before auth; 300/min read and 60/min write per key. Exceeding any limit answers 429 with retry-after: 60.

Signed webhooks

Standard Webhooks HMAC-SHA256 signatures, retries backing off from 30 seconds to 24 hours, and a 410 response to unsubscribe an endpoint.

Sell a ticket from your own code today.