frequentix
Developer docs

Build on the same API the product runs on.

The storefront, console and scanner are all clients of the frequentix API. These pages document the surface you can use too — OAuth clients, REST reads and signed webhooks — with worked examples our test suite verifies.

Documentation menu

API reference

The integration surface is deliberately read-only: three GET endpoints over your events, ticket types and orders. Field lists here mirror the API’s serializers exactly, and every example is schema-true.

Conventions

Base URL and versioning

Every endpoint lives under https://api.frequentix.com/v1. Requests carry Authorization: Bearer <token> — see Authentication.

Stability

Within /v1, documented fields are never removed or renamed, and their meaning doesn’t change. Evolution is additive: new fields, new endpoints and new webhook event names may appear at any time, so build clients that tolerate unknown keys. The webhook envelope and signature scheme are stable, and every delivery declares the api_version its payload was rendered under. If a breaking change is ever genuinely needed, it would ship opt-in, pinned per integration client — never as a surprise to existing integrations.

Responses and pagination

Responses wrap their result in a top-level data key. List endpoints return a paginator at a fixed 25 per page — page through with ?page=N and follow next_page_url until it is null:

dataarray

The page of results.

current_pageinteger

This page's number.

per_pageinteger

Page size — fixed at 25 on this surface.

totalinteger

Total results across all pages.

next_page_urlstring | null

Absolute URL of the next page — null on the last. Follow it until null to read everything.

prev_page_urlstring | null

Absolute URL of the previous page — null on the first.

frominteger | null

1-based index of the first result on this page.

tointeger | null

1-based index of the last result on this page.

last_pageinteger

Number of the final page.

first_page_urlstring

Absolute URL of the first page.

last_page_urlstring

Absolute URL of the final page.

pathstring

The endpoint URL without paging.

linksarray

Prev/number/next link objects, for building a pager UI.

Object references

Every object is identified by a prefixed reference — a lowercase ULID like evt_01k0zqj4d8v6snb2x9e7g3m5cr. Treat references as opaque strings: match on the prefix if you must, never parse the tail.

evt_Event
tt_Ticket type
adn_Add-on
ord_Order
tkt_Ticket
ref_Refund
ses_Event session
loc_Scanner location
wle_Waitlist entry
whk_Webhook subscription
whd_Webhook delivery

Money and dates

  • Monetary amounts are integers in minor units (pence, cents) with an uppercase ISO 4217 currency alongside — 8250 is £82.50.
  • REST timestamps are UTC in the form 2026-10-02T18:30:00.000000Z. Webhook payloads use offset ISO 8601 (2026-08-14T19:04:11+01:00) instead.

List events

GET/v1/integration/eventsevents:read

Your organiser's events, newest first. An event-scoped client sees only the events it was granted.

Query parameters

pageinteger

Page number, starting at 1.

Event object

referencestring

Event reference (evt_…).

slugstring

URL slug — accepted interchangeably with the reference in paths.

namestring

Event name.

statusstring

draft or published.

starts_atstring | null

Event start, UTC.

ends_atstring | null

Event end, UTC.

timezonestring

IANA timezone the event runs in, e.g. Europe/London.

currencystring

Uppercase ISO 4217 currency code.

Example

Request
curl "https://api.frequentix.com/v1/integration/events" \
  -H "Authorization: Bearer $FREQUENTIX_TOKEN"
Response · 200
{
  "data": {
    "current_page": 1,
    "data": [
      {
        "reference": "evt_01k2h6vcwj1ya3z8r1k7g5f0nd",
        "slug": "northlight-sessions-winter-special",
        "name": "Northlight Sessions — Winter Special",
        "status": "draft",
        "starts_at": "2027-01-22T19:00:00.000000Z",
        "ends_at": "2027-01-22T23:00:00.000000Z",
        "timezone": "Europe/London",
        "currency": "GBP"
      },
      {
        "reference": "evt_01k0zqj4d8v6snb2x9e7g3m5cr",
        "slug": "northlight-sessions-autumn-run",
        "name": "Northlight Sessions — Autumn Run",
        "status": "published",
        "starts_at": "2026-10-02T18:30:00.000000Z",
        "ends_at": "2026-12-19T22:30:00.000000Z",
        "timezone": "Europe/London",
        "currency": "GBP"
      }
    ],
    "first_page_url": "https://api.frequentix.com/v1/integration/events?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://api.frequentix.com/v1/integration/events?page=1",
    "links": [
      {
        "url": null,
        "label": "&laquo; Previous",
        "active": false
      },
      {
        "url": "https://api.frequentix.com/v1/integration/events?page=1",
        "label": "1",
        "active": true
      },
      {
        "url": null,
        "label": "Next &raquo;",
        "active": false
      }
    ],
    "next_page_url": null,
    "path": "https://api.frequentix.com/v1/integration/events",
    "per_page": 25,
    "prev_page_url": null,
    "to": 2,
    "total": 2
  }
}

Draft events are included — check status before treating an event as live.

Retrieve an event

GET/v1/integration/events/{eventKey}events:read

One event with its ticket types, including live availability counters.

Path parameters

eventKeystring

The event's reference (evt_…) or its slug — both are accepted.

Event object

referencestring

Event reference (evt_…).

slugstring

URL slug — accepted interchangeably with the reference in paths.

namestring

Event name.

statusstring

draft or published.

starts_atstring | null

Event start, UTC.

ends_atstring | null

Event end, UTC.

timezonestring

IANA timezone the event runs in, e.g. Europe/London.

currencystring

Uppercase ISO 4217 currency code.

ticket_types[] — Ticket type object

referencestring

Ticket type reference (tt_…).

namestring

Ticket type name.

priceinteger

Price in minor units (pence, cents).

currencystring

Uppercase ISO 4217 currency code.

is_activeboolean

Whether it is on sale.

totalinteger | null

Capacity — null when inventory is unlimited.

soldinteger | null

Tickets sold so far.

Example

Request
curl "https://api.frequentix.com/v1/integration/events/evt_01k0zqj4d8v6snb2x9e7g3m5cr" \
  -H "Authorization: Bearer $FREQUENTIX_TOKEN"
Response · 200
{
  "data": {
    "reference": "evt_01k0zqj4d8v6snb2x9e7g3m5cr",
    "slug": "northlight-sessions-autumn-run",
    "name": "Northlight Sessions — Autumn Run",
    "status": "published",
    "starts_at": "2026-10-02T18:30:00.000000Z",
    "ends_at": "2026-12-19T22:30:00.000000Z",
    "timezone": "Europe/London",
    "currency": "GBP",
    "ticket_types": [
      {
        "reference": "tt_01k0zqj5ae8txcv3m7d9e2b4hs",
        "name": "General admission",
        "price": 2750,
        "currency": "GBP",
        "is_active": true,
        "total": 350,
        "sold": 214
      },
      {
        "reference": "tt_01k0zqj5famz3w8p6t2v0c9d4e",
        "name": "Front row",
        "price": 4500,
        "currency": "GBP",
        "is_active": true,
        "total": 40,
        "sold": 40
      }
    ]
  }
}

An unknown key, another organiser's event, or an event outside your client's scope all return the same 404 — existence is never revealed.

List an event's orders

GET/v1/integration/events/{eventKey}/ordersorders:read

The event's orders, newest first, with buyer contact details.

Path parameters

eventKeystring

The event's reference (evt_…) or its slug — both are accepted.

Query parameters

pageinteger

Page number, starting at 1.

Order object

referencestring

Order reference (ord_…).

statusstring

draft, pending_payment, awaiting_approval, paid, free_confirmed, cancelled or refunded.

currencystring

Uppercase ISO 4217 currency code.

subtotalinteger

Line-item total before discounts and tax, in minor units.

discount_totalinteger

Discounts applied, in minor units.

tax_totalinteger

Tax charged, in minor units.

totalinteger

Amount paid, in minor units.

contactobject | null

Buyer contact — {email, first_name, last_name} — or null when none is attached.

confirmed_atstring | null

When the order confirmed, UTC.

created_atstring

When the order was created, UTC.

Example

Request
curl "https://api.frequentix.com/v1/integration/events/northlight-sessions-autumn-run/orders?page=1" \
  -H "Authorization: Bearer $FREQUENTIX_TOKEN"
Response · 200
{
  "data": {
    "current_page": 1,
    "data": [
      {
        "reference": "ord_01k2f1rdth8wz1y6p9h5f0d3ka",
        "status": "paid",
        "currency": "GBP",
        "subtotal": 9000,
        "discount_total": 0,
        "tax_total": 0,
        "total": 9000,
        "contact": {
          "email": "theo.marsh@example.com",
          "first_name": "Theo",
          "last_name": "Marsh"
        },
        "confirmed_at": "2026-08-21T10:02:33.000000Z",
        "created_at": "2026-08-21T09:58:12.000000Z"
      },
      {
        "reference": "ord_01k1p3v9qe6rwyx0m5h8t2c4nf",
        "status": "paid",
        "currency": "GBP",
        "subtotal": 8250,
        "discount_total": 0,
        "tax_total": 0,
        "total": 8250,
        "contact": {
          "email": "amelia.hart@example.com",
          "first_name": "Amelia",
          "last_name": "Hart"
        },
        "confirmed_at": "2026-08-14T18:04:11.000000Z",
        "created_at": "2026-08-14T18:01:47.000000Z"
      }
    ],
    "first_page_url": "https://api.frequentix.com/v1/integration/events/northlight-sessions-autumn-run/orders?page=1",
    "from": 1,
    "last_page": 1,
    "last_page_url": "https://api.frequentix.com/v1/integration/events/northlight-sessions-autumn-run/orders?page=1",
    "links": [
      {
        "url": null,
        "label": "&laquo; Previous",
        "active": false
      },
      {
        "url": "https://api.frequentix.com/v1/integration/events/northlight-sessions-autumn-run/orders?page=1",
        "label": "1",
        "active": true
      },
      {
        "url": null,
        "label": "Next &raquo;",
        "active": false
      }
    ],
    "next_page_url": null,
    "path": "https://api.frequentix.com/v1/integration/events/northlight-sessions-autumn-run/orders",
    "per_page": 25,
    "prev_page_url": null,
    "to": 2,
    "total": 2
  }
}

Orders of every status are returned — filter on status (paid, free_confirmed, refunded, …) for settled revenue.