Home Features Pricing Blog Docs
Log in Start for Free
English | Deutsch

Orders are completed ticket purchases. The API only returns orders that customers actually paid for — pending and abandoned orders are filtered out.

The status field reflects current state: paid, refund_pending, refunded, or partially_refunded.

GET /admin/orders

Returns paid orders in your account, with revenue stats for the period filter.

curl -H "Authorization: Bearer your-token-here" \
  -H "Accept: application/json" \
  https://app.usetix.io/admin/orders

Query parameters:

Parameter Description
period One of today, week, month, year, all. Defaults to month.
event_slug Filter to orders for a specific event.
query Free-text search across order code, order public ID, ticket check-in code, ticket public ID, customer email, and Stripe payment intent ID.
include_archived Set to 1 to include archived paid/refunded orders. Defaults to excluding archived orders.

Response:

{
  "orders": [
    {
      "public_id": "abcd1234efgh5678",
      "order_code": "7K3Q9D2A",
      "display_number": "7K3Q-9D2A",
      "status": "paid",
      "customer_name": "Jane Doe",
      "customer_email": "jane@example.com",
      "total": { "amount": "42.00", "currency": "EUR" },
      "payment_provider": "stripe",
      "paid_at": "2026-04-22T12:34:50Z",
      "created_at": "2026-04-22T12:34:00Z",
      "item_count": 2,
      "attribution": {
        "utm_source": "google",
        "utm_medium": "cpc",
        "utm_campaign": "spring-launch"
      }
    }
  ],
  "stats": {
    "order_count": 1,
    "revenue": { "amount": "42.00", "currency": "EUR" }
  }
}

GET /admin/orders/:public_id

Returns a single order with its line items.

curl -H "Authorization: Bearer your-token-here" \
  -H "Accept: application/json" \
  https://app.usetix.io/admin/orders/abcd1234efgh5678

Response:

{
  "public_id": "abcd1234efgh5678",
  "order_code": "7K3Q9D2A",
  "display_number": "7K3Q-9D2A",
  "status": "paid",
  "customer_name": "Jane Doe",
  "customer_email": "jane@example.com",
  "total": { "amount": "42.00", "currency": "EUR" },
  "payment_provider": "stripe",
  "paid_at": "2026-04-22T12:34:50Z",
  "created_at": "2026-04-22T12:34:00Z",
  "item_count": 2,
  "attribution": {
    "utm_source": "google",
    "utm_medium": "cpc",
    "utm_campaign": "spring-launch",
    "utm_term": "concert tickets berlin",
    "utm_content": "ad-variant-a",
    "ref": "partner:radiox"
  },
  "items": [
    {
      "public_id": "ord_item_xyz789",
      "check_in_code": "9M5V2H8C",
      "display_check_in_code": "9M5V-2H8C",
      "ticket_title": "General Admission",
      "event_id": 42,
      "event_slug": "spring-showcase",
      "redeemed": false,
      "redeemed_at": null
    }
  ]
}

Order fields

Field Type Notes
public_id string Public order ID. Stable; safe to store as your correlation key. URL-safe random token.
order_code string Human-readable order code. Safe to show in admin/customer-facing UI.
display_number string Formatted order code for display, typically grouped as XXXX-XXXX.
status string paid, refund_pending, refunded, or partially_refunded.
customer_name string Buyer’s name as entered at checkout.
customer_email string Buyer’s email.
total.amount string Order total as decimal string.
total.currency string ISO 4217 code.
payment_provider string stripe or paypal.
paid_at string | null ISO 8601 UTC. null if status is no longer paid.
created_at string ISO 8601 UTC. When the order was first opened.
item_count integer Number of tickets in the order.
attribution object Marketing attribution captured at checkout. Always present; {} if the buyer arrived with no tracking parameters. See Attribution.
items[].public_id string Public ID of the order item (one per ticket). Used in scanner URLs and as the canonical queued-sync identifier.
items[].check_in_code string Human-readable ticket check-in code. Safe to show to staff and customers.
items[].display_check_in_code string Formatted check-in code for UI, typically grouped as XXXX-XXXX.
items[].ticket_title string Title of the ticket type at time of purchase.
items[].event_id integer Internal ID of the event this ticket belongs to.
items[].event_slug string Slug of the event. Useful for linking.
items[].redeemed boolean true once the QR code has been scanned at the door.
items[].redeemed_at string | null ISO 8601 UTC. null if not yet redeemed.

Attribution

The attribution object captures where the buyer came from. UTM parameters and ref are read from the checkout page’s URL — and as a fallback the previous page’s URL via the Referer header — at the moment the buyer submits the order. There is no client-side persistence: the data only travels with the form submission itself. Practically this means last-click attribution — the source that delivered the buyer to the checkout page is what’s recorded.

Field Type Notes
utm_source string | omitted e.g. "google", "facebook", "newsletter".
utm_medium string | omitted e.g. "cpc", "email", "social".
utm_campaign string | omitted Campaign name as set in the URL.
utm_term string | omitted Paid keyword, when supplied.
utm_content string | omitted Ad / creative variant, when supplied.
ref string | omitted Free-form referral code. Usetix’s own shop footer links append ref=shop:<subdomain> when a buyer clicks through to the marketing site, so signups originating from a specific shop carry that source.

Only fields that were actually captured are included. Buyers who arrive with no tracking parameters get "attribution": {}.