---
title: "List completed orders"
method: GET
path: "/orders"
tags: ["Orders"]
---

# List completed orders

`GET /orders`

## Request

- Base URL: `https://www.raceentry.com/restapi/v1`
- URL: `https://www.raceentry.com/restapi/v1/orders`
- Auth: OAuth 2
  - Authorization code: `/oauth2/authorize`
  - Token URL: `/oauth2/token`

Completed orders for an event year, newest first, with a full per-order price
breakdown. Mirrors the web Orders report.

Order-type reallocation is applied:
for ticket-style order types, paid answers move into `ticket_total`;
for photo order types `photos_total` folds into `registration_total`.

Required permissions: Sales Rep, Director, Reports, Financials, or Sponsors.

## Query parameters

- `event_id` integer, required
- `year` string
- `since` string, date-time
- `page` integer
- `per_page` integer

## Response `200`

Paginated order list

- PaginatedOrders
  - `page` integer, required
  - `per_page` integer, required
  - `count` integer, required: Number of records in this page
  - `next_page` integer, nullable, required: Next page number, or null when on the last page
  - `data` Order[], required
    - `billing_name` string, nullable
    - `billing_email` string, email, nullable
    - `billing_address` string, nullable
    - `billing_city` string, nullable
    - `billing_state` string, nullable: US state abbreviation
    - `billing_province` string, nullable: Province/region for non-US addresses
    - `billing_zip` string, nullable
    - `billing_country` string, nullable: ISO 3166-1 alpha-3 country code
    - `registration_total` string: Sum of registration prices + paid-answer charges (for non-ticket order types) + photo total (for photo order types).
    - `ticket_total` string: Sum of ticket prices + paid-answer charges (for ticket order types).
    - `merchandise_total` string
    - `photos_total` string
    - `photo_fee_total` string
    - `sponsor_total` string
    - `charity_total` string: Aggregated charity donation amounts for this order.
    - `tip_total` string
    - `tax_total` string
    - `marketplace_tax_total` string: Combined marketplace tax and marketplace shipping tax.
    - `discount_total` string: Promo-code, social, and referral discounts applied to the order.
    - `change_total` string: Registration-edit and transfer fees.
    - `fee_total` string: Processing fees including per-donation fees.
    - `bonus_fee_total` string: Event bonus fees (a subset of fee_total).
    - `gift_card_payment` string: Amount paid by gift card.
    - `order_total` string, required: Authoritative grand total stored on the order.
    - `id` integer, required
    - `finish_date` string, date-time, required: When the order was completed (payment captured)
    - `event_year_id` integer, required
    - `order_type` string, nullable: Order type name
    - `payment_type` string: One of: Credit/Debit, Cash, Check, Upload, Invoice, Split
    - `ccnumber` string, nullable: Masked card number (xxxx-xxxx-xxxx-1234)
    - `transaction_id` string, nullable: Processor transaction id

## Other responses

- `400`: Missing or invalid query parameter
- `401`: Missing, invalid, or expired bearer token
- `403`: Token not scoped to the event, or insufficient web permission
- `404`: Event, event year, or record not found

---

[API](https://skmtc.dev/raceentry/apis/rest-api-v1.md) - [All operations](https://skmtc.dev/raceentry/apis/rest-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/raceentry/apis/rest-api-v1/revisions/ee7bc17021a6?raw)
