List all tickets

Returns a paginated list of tickets across your event bookings, sorted with the most recent tickets appearing first.

GET/v1/tickets/

Authorization

api_key_auth
AuthorizationBearer <token>

API key authentication. Use "Bearer YOUR_API_KEY" format.

In: header

Query Parameters

limit?string

The number of results per page. Minimum value is 1 and maximum is 100. Defaults to 20.

starting_after?string

A cursor value specifying the id of a resource to start before. Retrieves items that appear after this cursor in the list. Cannot be used together with ending_before.

Match^[0-9a-fA-F]{24}$
ending_before?string

A cursor value specifying the id of a resource to end after. Retrieves items that appear before this cursor in the list. Cannot be used together with starting_after.

Match^[0-9a-fA-F]{24}$
search?string

Case-insensitive search matched against attendeeEmail, attendeeName, ticketShortId and orderId. The query is routed based on input shape: email-like inputs (jane@example.com) match attendeeEmail only; an 8-digit input (64819115) is treated as a whole order reference and matched exactly against orderId; other identifier-like inputs containing a digit, underscore or hyphen match ticketShortId and orderId; multi-word inputs match attendeeName and ticketShortId; any other single bare word falls back to a broad substring match across attendeeName, attendeeEmail and ticketShortId. Best default when the guest is identified by name, email, or the code on their ticket. A booking produces one ticket per attendee - always review all matches, not just the first.

pageId?string

Return only tickets for a single event page. Use this to build a guest list for one event.

Match^[0-9a-fA-F]{24}$
bookingId?string

Return the tickets created by one booking. Use when you already have the booking from the bookings endpoint and want the individual attendee tickets.

Match^[0-9a-fA-F]{24}$
orderId?string

Exact match on the order reference shared by every ticket in a booking. Partial values do not match — use search for that.

customerId?string

Return every ticket booked by one customer, across events. Useful when you already have the customer record.

Match^[0-9a-fA-F]{24}$
ticketTypeId?string

Return only tickets of one ticket type (e.g. VIP). Combine with pageId when the same type name exists on several events.

Match^[0-9a-fA-F]{24}$
status?string

Filter by ticket status. Valid values: PAID, CANCELED. Use "PAID" for tickets valid for admission and "CANCELED" for voided ones. An unfiltered list includes both.

Value in"PAID" | "CANCELED"
checkInStatus?string

Filter by check-in state. Valid values: UNCHECKEDIN, CHECKEDIN. "CHECKEDIN" returns guests currently admitted; "UNCHECKEDIN" returns both guests who were checked back out and guests who have never been checked in.

Value in"UNCHECKEDIN" | "CHECKEDIN"
createdAfter?string

Inclusive lower bound on ticket createdAt. ISO-8601 UTC datetime with the Z suffix (e.g. 2026-01-01T00:00:00Z). Never use a local timezone offset — tickets are stored and compared in UTC.

Formatdate-time
createdBefore?string

Inclusive upper bound on ticket createdAt. ISO-8601 UTC datetime with the Z suffix (e.g. 2026-12-31T23:59:59Z). Never use a local timezone offset — tickets are stored and compared in UTC.

Formatdate-time

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X GET "https://api.checkoutpage.com/v1/tickets/"
{
  "data": [
    {
      "id": "65f4a1c2e4a9f3d2b1c0a9e8",
      "seller": "string",
      "sellerId": "string",
      "charge": "string",
      "bookingId": "string",
      "orderId": "string",
      "page": "string",
      "pageId": "string",
      "ticketType": "string",
      "ticketTypeId": "string",
      "originalPrice": 0,
      "pricing": "paid",
      "discountAmount": 0,
      "feeAmount": 0,
      "taxAmount": 0,
      "couponAmount": 0,
      "revenue": 0,
      "currency": "string",
      "customer": "string",
      "customerId": "string",
      "ticketShortId": "string",
      "checkInCode": "string",
      "status": "PAID",
      "checkIns": [
        {
          "status": "UNCHECKEDIN",
          "method": "QRSCAN",
          "checkedInBy": "string",
          "checkedInAt": "2019-08-24T14:15:22Z"
        }
      ],
      "latestCheckIn": {
        "status": "UNCHECKEDIN",
        "method": "QRSCAN",
        "checkedInBy": "string",
        "checkedInAt": "2019-08-24T14:15:22Z"
      },
      "customerName": "string",
      "attendeeName": "string",
      "customerEmail": "string",
      "attendeeEmail": "string",
      "livemode": true,
      "orderedAt": "2019-08-24T14:15:22Z",
      "canceledAt": "2019-08-24T14:15:22Z",
      "metadata": [
        {
          "key": "string",
          "value": "string",
          "addedAt": "2019-08-24T14:15:22Z"
        }
      ],
      "createdAt": "2019-08-24T14:15:22Z",
      "updatedAt": "2019-08-24T14:15:22Z"
    }
  ],
  "total": 0,
  "has_more": true
}
{
  "status": "error",
  "type": "error",
  "message": "Not Found",
  "errors": [
    {
      "param": "string",
      "message": "string",
      "value": null
    }
  ],
  "property1": null,
  "property2": null
}
{
  "status": "error",
  "type": "error",
  "message": "Not Found",
  "errors": [
    {
      "param": "string",
      "message": "string",
      "value": null
    }
  ],
  "property1": null,
  "property2": null
}
{
  "status": "error",
  "type": "error",
  "message": "Not Found",
  "errors": [
    {
      "param": "string",
      "message": "string",
      "value": null
    }
  ],
  "property1": null,
  "property2": null
}
{
  "status": "error",
  "type": "error",
  "message": "Not Found",
  "errors": [
    {
      "param": "string",
      "message": "string",
      "value": null
    }
  ],
  "property1": null,
  "property2": null
}
{
  "status": "error",
  "type": "error",
  "message": "Not Found",
  "errors": [
    {
      "param": "string",
      "message": "string",
      "value": null
    }
  ],
  "property1": null,
  "property2": null
}