> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.todaytixgroup.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.todaytixgroup.com/_mcp/server.

# Look up the order a cart produced

GET https://stg.ttix.io/api/v3/orders

Recovery lookup for a client that lost its `Idempotency-Key` — after a timeout, a crash, or a closed tab — and needs to learn whether the cart it was checking out was charged.

Use the `cartId` returned when the cart was created and an API key for the retailer where the order was placed. No customer authentication is required. Keep the cart ID on your server.

`data` holds at most one order — the latest the cart produced for that retailer. If no order is found for that cart and retailer, `data` is empty, whether the cart never became an order, the `cartId` is unknown, or the order belongs to another retailer. An empty result does not confirm that no payment occurred under another retailer.

The order's `status` says what to do next. `PROCESSING` means the payment is still settling, so keep polling. `FAILED` means the payment did not complete. It is final, so stop polling and let the shopper pay again; their next attempt on the same cart becomes the order this lookup returns. Any other status is the order's outcome, and `GET /orders/{orderId}?cartId=` returns that order in full.

Reference: https://docs.todaytixgroup.com/api-reference/purchase/orders/get-orders-by-cart

## Authentication

- `X-TT-API-Key` header (required) — API Key authentication via header

## Servers

- `https://stg.ttix.io` (Staging Environment, default)
- `https://api.ttix.io` (Production Environment)

## Request

### Query parameters

- `cartId` (string, required) — Cart ID, from `POST /carts`. Returns only the order this cart produced. It also reads that order, so keep it on your server.
- `limit` (integer, optional, default: 50) — Maximum number of results to return.
- `offset` (integer, optional, default: 0) — Number of results to skip for pagination.

### Headers

- `X-TT-Platform` (enum, required) — Identifies the platform the request comes from.
  - Allowed values: `android`, `api`, `ios`, `web`
- `X-TT-Retailer` (string, required) — Your retailer identifier, provided during onboarding. It must be a retailer your API key was issued for.

## Response

### 200

A page holding the latest order for this cart and retailer, empty when none is found.

- `data` (list of OrderResponse, optional) — List of entities in the current page.
- `pagination` (PaginationInfo, optional) — Pagination metadata.

## Errors

### 400 Bad Request Error

Missing or malformed cartId

- `error` (ErrorResponse, required) — What went wrong: `type` and `code` for your code to act on, `message` to display.

### 401 Unauthorized Error

Unauthorized. Any request gets `UNAUTHORIZED` when the `X-TT-API-Key` header is missing, and `INVALID_API_KEY` when the key is not valid or was revoked, or when the `X-TT-Retailer` header is missing or names a retailer the key cannot be used for.

- `error` (ErrorResponse, required) — What went wrong: `type` and `code` for your code to act on, `message` to display.

### 403 Forbidden Error

The request is not allowed from where it was sent. Any request sent from a web page gets `ORIGIN_NOT_ALLOWED` when the page's origin is not one the API key allows. Add the origin to the key, or use a key that allows it. A request with no `Origin` header, such as one from your server, is never refused for this.

- `error` (ErrorResponse, required) — What went wrong: `type` and `code` for your code to act on, `message` to display.

### 429 Too Many Requests Error

Too many requests. Wait at most the number of seconds in the `Retry-After` header when it is present, then send the request again.

- `error` (ErrorResponse, required) — What went wrong: `type` and `code` for your code to act on, `message` to display.

### 500 Internal Server Error

Internal server error

- `error` (ErrorResponse, required) — What went wrong: `type` and `code` for your code to act on, `message` to display.

## Types

### OrderResponse

An order, with its items and tickets.

- `id` (string, required) — Unique identifier for the order
- `confirmationNumber` (string, required) — Human-readable confirmation number for customer support and emails
- `customerId` (string, required) — Identifier for the customer who placed this order
- `contact` (OrderContactResponse, required) — Contact information for this order (pickup, delivery, confirmation)
- `items` (list of OrderItemResponse, required) — Items purchased in this order. By default, the purchaser sees all items in the order. An invited guest can access only the items to which they were invited.
- `receiptLines` (list of ReceiptLineResponse, required) — Server-ordered display lines for receipt rendering. Always includes SubtotalLine. Conditionally: VoucherLine, ProtectionLine.
- `total` (Money, required) — Total amount charged
- `status` (enum, required, nullable) — Current status of the order. PROCESSING means the payment is still settling; FAILED means the payment did not complete. Null when no payment status has been recorded for the order yet: treat it like PROCESSING and read the order again.
  - Allowed values: `COMPLETED`, `PROCESSING`, `FAILED`, `CANCELLED`, `REFUNDED`, `VOUCHER_ISSUED`
- `createdAt` (datetime, required) — When the order was created (UTC)
- `protection` (ProtectionResponse, optional, nullable) — Protection applied to this order. Null if not purchased.
- `totalTaxes` (Money, optional) — DISCLOSURE ONLY — taxes already included in total. Omitted when the order carries no tax.
- `cancellationVoucher` (CancellationVoucherResponse, optional) — Credit voucher issued when this order was canceled or exchanged. Omitted when the order has no such credit.

### PaginationInfo

Pagination information for paginated responses

- `limit` (integer, optional) — Maximum number of results per page
- `offset` (integer, optional) — Number of results skipped for pagination
- `total` (long, optional) — Total number of results available

### ErrorResponse

What went wrong: `type` and `code` for your code to act on, `message` to display.

- `type` (enum, required) — High-level error category.
  - Allowed values: `INVALID_REQUEST_ERROR`, `AUTHENTICATION_ERROR`, `PAYMENT_ERROR`, `PERMISSION_ERROR`, `NOT_FOUND_ERROR`, `CONFLICT_ERROR`, `RESOURCE_GONE_ERROR`, `RATE_LIMIT_ERROR`, `API_ERROR`, `SERVICE_UNAVAILABLE`
- `code` (enum, required) — Machine-readable error code.
  - Allowed values: `INVALID_FIELD_VALUE`, `ACCESS_CARD_NOT_VERIFIED`, `ACCESS_CARD_WRONG_SCHEME`, `ACCESS_VERIFICATION_NOT_SUPPORTED`, `ACCESS_VERIFICATION_UNAVAILABLE`, `TICKET_ALERT_SIGNUP_NOT_SUPPORTED`, `MIXED_ITEM_TYPES_NOT_SUPPORTED`, `INVALID_VOUCHER`, `CURRENCY_NOT_SUPPORTED`, `CURRENCY_TEMPORARILY_UNAVAILABLE`, `MISSING_REQUIRED_HEADER`, `MISSING_REQUIRED_FIELD`, `UNAUTHORIZED`, `INVALID_API_KEY`, `INVALID_ACCESS_TOKEN`, `PAYMENT_AUTHENTICATION_REQUIRED`, `PAYMENT_DECLINED`, `RISK_CHECK_FAILED`, `APPLE_PAY_NOT_AVAILABLE`, `APPLE_PAY_SESSION_UNAVAILABLE`, `INVALID_REQUEST`, `RESOURCE_NOT_FOUND`, `INSUFFICIENT_PERMISSIONS`, `ORIGIN_NOT_ALLOWED`, `RATE_LIMITED`, `INTERNAL_SERVER_ERROR`, `SERVICE_UNAVAILABLE`, `INVENTORY_EXHAUSTED`, `OCCURRENCE_NOT_AVAILABLE`, `OCCURRENCE_NOT_COMPATIBLE`, `ORPHANED_SEATS`, `INVALID_PRICE_OPTION`, `MIXED_OCCURRENCES_NOT_SUPPORTED`, `EVENT_NOT_SELLABLE`, `MIXED_PRODUCT_TYPES_NOT_SUPPORTED`, `MULTIPLE_GIFT_CARDS_NOT_SUPPORTED`, `GIFT_CARD_QUANTITY_NOT_SUPPORTED`, `MINIMUM_QUANTITY_NOT_MET`, `EVENT_MINIMUM_NOT_MET`, `VOUCHER_NOT_APPLICABLE_TO_GIFT_CARD`, `CART_EXPIRED`, `EXPECTED_TOTAL_MISMATCH`, `TICKET_LIMIT_EXCEEDED`, `PAYMENT_METHOD_NOT_AVAILABLE`, `CART_ALREADY_ORDERED`, `CART_ALREADY_CLAIMED`, `INVALID_IDEMPOTENCY_KEY`, `IDEMPOTENCY_KEY_ALREADY_PROCESSING`, `IDEMPOTENCY_KEY_CART_MISMATCH`, `IDEMPOTENCY_KEY_FAILED`, `GRANT_NOT_CLAIMABLE`, `GRANT_NOT_CANCELLABLE`, `ACTION_NOT_AVAILABLE`, `THIRD_PARTY_OUTAGE`
- `message` (string, required) — Human-readable description of the error.
- `param` (string, optional, nullable) — The request field that caused the error, if applicable.
- `details` (map from string to ErrorResponseDetails, optional, nullable) — Additional structured data for client recovery logic.

### OrderContactResponse

Contact information for order fulfillment

- `name` (string, required) — Full name for ticket pickup and order confirmation
- `email` (string, required) — Email address for order confirmation and tickets
- `phone` (string, optional, nullable) — Phone number in E.164 format

### OrderItemResponse

A purchased unit of inventory within the order

- `id` (string, required) — Unique identifier for this order item
- `event` (EventSimpleResponse, required) — Event details for this order item
- `occurrence` (OccurrenceSimpleResponse, required) — Occurrence details for this order item
- `venue` (VenueResponse, required) — The venue where this occurrence takes place
- `inventoryVariant` (InventoryVariantResponse, required) — What was bought: a seat, general admission area, extra or gift card
- `priceOption` (PriceOptionResponse, required) — The selected price option
- `quantity` (integer, required) — Number of units purchased
- `delivery` (DeliveryResponse, optional, nullable) — How tickets for this item are delivered. Null when delivery details are unavailable.
- `tickets` (list of TicketResponse, optional, nullable) — Tickets that admit the customer. Omitted on a gift-card item, which admits nobody.
- `giftCards` (list of GiftCardResponse, optional, nullable) — Gift cards this item issued, one per card bought. Present only on a gift-card item, which carries no tickets. Show the code to the buyer and nobody else — it is what they paid for, and anyone who has it can spend the card.

### ReceiptLineResponse

Server-ordered display lines for receipt rendering. Iterate in sequence. Always includes SubtotalLine. Conditionally: VoucherLine, ProtectionLine, CreditLine. Fees are never a receipt line — they are disclosed per item on priceOption.fees.

- `label` (string, required) — Server-provided display text.
- `total` (Money, required) — Amount for this line. Never negative; `sign` gives the direction.
- `sign` (enum, required) — Display direction (positive = charge, negative = credit/discount).
  - Allowed values: `positive`, `negative`
- `_type` (enum, required) — Discriminator for the line type.
  - Allowed values: `SubtotalLine`, `VoucherLine`, `ProtectionLine`, `CreditLine`

### Money

Monetary amount in minor units (cents for USD). Never uses floating point to avoid precision errors.

- `amount` (long, required) — Amount in minor units (cents for USD, pence for GBP, etc.)
- `currency` (string, required) — ISO 4217 currency code

### ProtectionResponse

Protection covering all items. Null if not added.

- `id` (string, required) — Unique identifier for this protection.
- `pricePerItem` (Money, required) — Per-ticket protection rate.
- `total` (Money, required) — Total protection cost (pricePerItem × number of tickets).
- `status` (enum, optional, nullable) — Protection redemption status (Order only, omitted in Cart). ELIGIBLE — protection purchased, redemption window open. REDEEMED — user claimed the protection (terminal). EXPIRED — redemption window closed (terminal).
  - Allowed values: `ELIGIBLE`, `REDEEMED`, `EXPIRED`

### CancellationVoucherResponse

Credit voucher issued when the order was canceled or exchanged

- `code` (string, required) — Voucher code the customer redeems at checkout
- `value` (Money, required) — Face value of the credit when it was issued
- `type` (enum, required) — The order action that issued the credit
  - Allowed values: `CANCELLATION`, `EXCHANGE`
- `isExpired` (boolean, required) — Whether the voucher can no longer be used. A voucher can expire before its expiry date, so do not derive this from expiresOn.
- `balance` (Money, optional, nullable) — Amount still left to spend. Omitted for voucher types that do not track a remaining balance.
- `expiresOn` (date, optional, nullable) — Last day the voucher can be used. Omitted when the voucher never expires.

### ErrorResponseDetails

Additional structured data for client recovery logic.

### EventSimpleResponse

Lightweight event reference for cart and order items

- `id` (string, required) — Event ID
- `name` (string, required) — Display name of the event

### OccurrenceSimpleResponse

Lightweight occurrence reference for cart and order items

- `id` (string, required) — Occurrence ID
- `startsAt` (datetime, required) — Start date/time in venue local timezone (ISO 8601 with offset)

### VenueResponse

Venue where the occurrence takes place

- `id` (string, optional, nullable) — Stable venue identifier.
- `name` (string, optional, nullable) — Display name of the venue
- `address` (AddressResponse, optional, nullable) — Structured postal address. Null when address data is unavailable.
- `timezone` (string, optional, nullable) — IANA timezone identifier for the venue. Used for datetime display and calendar integration.

### InventoryVariantResponse

A seat, general admission area, extra or gift card. `_type` says which.

- `_type`: `AssignedSeat` (AssignedSeat)
  - `attributes` (list of InventoryAttributeResponse, required) — Attributes describing characteristics of this inventory variant (e.g. legroom, accessibility, VIP perks).
  - `id` (string, required) — Stable identifier for this inventory variant. The same variant has the same id on every occurrence of the event, so a seat can be matched to the seating chart.
  - `name` (string, required) — Human-readable label for this inventory variant. Stable across occurrences and safe for display in UI.
  - `row` (string, required) — Row identifier within the section.
  - `seat` (string, required) — Seat number within the row.
  - `section` (string, required) — Section name within the venue.
  - `description` (string, optional, nullable) — Short plain-text copy about this variant, shown next to the name at seat selection and on the ticket. Omitted when the seller has not written any.
  - `entrance` (string, optional, nullable) — Where the ticket holder enters the venue, such as a door or gate. Omitted when the venue does not assign one.
  - `extendedDescription` (string, optional, nullable) — Longer copy about this variant as rich text, which may contain HTML or Markdown markup. Sanitize before rendering it as HTML. Shown in place of description where the client supports rich text. Omitted when the seller has not written any.
  - `images` (list of ViewFromSeatImage, optional) — Views of the stage from this seat, in the order the venue lists them. Present only on inventory items requested with `include=IMAGES`, and empty for a seat with no images.
- `_type`: `GeneralAdmission` (GeneralAdmission)
  - `attributes` (list of InventoryAttributeResponse, required) — Attributes describing characteristics of this inventory variant (e.g. legroom, accessibility, VIP perks).
  - `id` (string, required) — Stable identifier for this inventory variant. The same variant has the same id on every occurrence of the event, so a seat can be matched to the seating chart.
  - `name` (string, required) — Human-readable label for this inventory variant. Stable across occurrences and safe for display in UI.
  - `description` (string, optional, nullable) — Short plain-text copy about this variant, shown next to the name at seat selection and on the ticket. Omitted when the seller has not written any.
  - `extendedDescription` (string, optional, nullable) — Longer copy about this variant as rich text, which may contain HTML or Markdown markup. Sanitize before rendering it as HTML. Shown in place of description where the client supports rich text. Omitted when the seller has not written any.
  - `venueAreaIds` (list of string, optional, nullable) — Ids of the seating-chart areas this variant sells into, matching the area ids on the venue seating chart so a client can highlight them. Omitted when the variant is not tied to chart areas.
- `_type`: `Extra` (Extra)
  - `attributes` (list of InventoryAttributeResponse, required) — Attributes describing characteristics of this inventory variant (e.g. legroom, accessibility, VIP perks).
  - `id` (string, required) — Stable identifier for this inventory variant. The same variant has the same id on every occurrence of the event, so a seat can be matched to the seating chart.
  - `name` (string, required) — Human-readable label for this inventory variant. Stable across occurrences and safe for display in UI.
  - `admissionType` (enum, optional, nullable) — How admission works for this extra when it is its own event with its own schedule. TIMED means entry on a specific day at a specific time. DATED means entry on a specific day, any time between open and close. OPEN means entry on any day at any time. SLOT means entry at any time between the start and end times. Omitted when the extra belongs to the same event as the cart or order.
    - Allowed values: `TIMED`, `DATED`, `OPEN`, `SLOT`, `TIMED`, `DATED`, `OPEN`, `SLOT`
  - `caption` (string, optional, nullable) — Short label for this extra, typically a serving size. Omitted when the seller has not written one.
  - `description` (string, optional, nullable) — Short plain-text copy about this variant, shown next to the name at seat selection and on the ticket. Omitted when the seller has not written any.
  - `extendedDescription` (string, optional, nullable) — Longer copy about this variant as rich text, which may contain HTML or Markdown markup. Sanitize before rendering it as HTML. Shown in place of description where the client supports rich text. Omitted when the seller has not written any.
  - `imageUrl` (string, optional, nullable) — Image shown for this extra. Omitted when the seller has not uploaded one.
- `_type`: `GiftCard` (GiftCard)
  - `attributes` (list of InventoryAttributeResponse, required) — Attributes describing characteristics of this inventory variant (e.g. legroom, accessibility, VIP perks).
  - `id` (string, required) — Stable identifier for this inventory variant. The same variant has the same id on every occurrence of the event, so a seat can be matched to the seating chart.
  - `name` (string, required) — Human-readable label for this inventory variant. Stable across occurrences and safe for display in UI.
  - `value` (Money, required) — The balance the card is issued with. Independent of `priceOptions[].sellPrice`, which is what the customer is charged: a card sold at a discount is worth its full value. Always in the currency the card can be spent in, which is the event's own currency and not the one the shopper is browsing in — a card redeems only in the currency it was issued in.
  - `description` (string, optional, nullable) — Short plain-text copy about this variant, shown next to the name at seat selection and on the ticket. Omitted when the seller has not written any.
  - `extendedDescription` (string, optional, nullable) — Longer copy about this variant as rich text, which may contain HTML or Markdown markup. Sanitize before rendering it as HTML. Shown in place of description where the client supports rich text. Omitted when the seller has not written any.

### PriceOptionResponse

A single purchasable price option for an inventory item.

- `category` (PriceCategoryResponse, required) — Pricing category for this option (e.g., Adult, Child).
- `sellPrice` (Money, required) — Per-unit price charged to the customer, including fees and tax.
- `id` (string, optional, nullable) — Unique identifier for this price option.
- `constraints` (PriceOptionConstraintsResponse, optional, nullable) — Selection rules for this option, such as a category it must be bought alongside. Omitted when the option can be bought on its own, and on items whose source reports no selection rules.
- `listPrice` (Money, optional) — Original face value before discounts. Omitted when the option is not discounted or the saving may not be shown, and on the price option of a cart or order item.
- `discountPercentage` (integer, optional, nullable) — Whole-number percentage saved, for a "Save 30%" style label (30 means 30%). Worked out on the server, not from listPrice and sellPrice, which can be priced on a different fee basis. Omitted when the option is not discounted or the saving may not be shown. Never sent together with discountAmount.
- `discountAmount` (Money, optional, nullable) — Amount saved, for a "Save $20" style label. Sent only when the saving may be shown as an amount but not as a percentage, so never together with discountPercentage. Omitted when the option is not discounted or the saving may not be shown.
- `fees` (list of FeeResponse, optional, nullable) — Itemized fee disclosure. Every entry is a component of sellPrice — never add it to a price. Empty when the option carries no fees. Omitted entirely when the retailer or market does not require fee disclosure.
- `maxQuantityPerOrder` (integer, optional, nullable) — Maximum number of units allowed in one order at this price option. The effective limit combines this with the item-level cap and quantityAvailable — use the lowest. Omitted when this price option has no cap.
- `promotion` (PromotionResponse, optional, nullable) — Active promotion for this price option. Omitted when no promotion applies.
- `isDefault` (boolean, optional, nullable) — True for the option a client should pre-select when the item is first shown. Omitted when false.

### DeliveryResponse

How tickets for this item are delivered

- `method` (DeliveryMethodResponse, required) — The delivery method
- `instructions` (string, optional, nullable) — Instructions explaining how the customer will receive or collect their tickets. Null when none are configured.

### TicketResponse

Admission ticket for venue entry or redemption

- `id` (string, required) — Unique identifier for the ticket
- `status` (enum, required) — Current status of the ticket
  - Allowed values: `CONFIRMED`
- `assignedCustomer` (AssignedCustomerResponse, optional, nullable) — The customer this ticket was given to. Omitted when the ticket was never given away.
- `barcode` (BarcodeResponse, optional, nullable) — Barcode for venue entry. Null when not yet available.

### GiftCardResponse

A gift card the customer bought on this order

- `code` (string, required) — Code the recipient redeems at checkout
- `value` (Money, required) — Face value of the card when it was issued. Always in the currency the card can be spent in, which may differ from the currency the order was paid in.
- `balance` (Money, optional, nullable) — Amount still left to spend, in the same currency as the face value. Omitted when the card tracks no remaining balance.
- `expiresOn` (date, optional, nullable) — Last day the card can be used, including any balance left on it. The card works until the end of this day in the time zone of the show it was sold on. Omitted when the card never expires.

### AddressResponse

Structured postal address for venue display

- `line1` (string, optional, nullable) — First line of the street address
- `line2` (string, optional, nullable) — Second line of the street address (suite, floor, etc.)
- `city` (string, optional, nullable) — City name
- `state` (string, optional, nullable) — State, province, or region
- `postalCode` (string, optional, nullable) — Postal or ZIP code
- `country` (string, optional, nullable) — ISO 3166-1 alpha-2 country code
- `latitude` (double, optional, nullable) — Latitude coordinate
- `longitude` (double, optional, nullable) — Longitude coordinate

### InventoryAttributeResponse

Attributes describing characteristics of this inventory variant (e.g. legroom, accessibility, VIP perks).

- `name` (string, required) — Short human-readable label for display in badges or tags.
- `category` (enum, required) — Signals how clients should present this attribute: POSITIVE (perk), NEGATIVE (drawback), NEUTRAL (informational), FEATURED (highlight), ACCESSIBILITY (a11y feature).
  - Allowed values: `POSITIVE`, `NEGATIVE`, `NEUTRAL`, `FEATURED`, `ACCESSIBILITY`
- `description` (string, optional, nullable) — Additional context about the attribute, shown in tooltips or detail views.

### ViewFromSeatImage

A view of the stage from a seat.

- `url` (string, required) — Absolute URL of the image.

### PriceCategoryResponse

Category a price option is sold under (e.g. Adult, Child, Senior).

- `name` (string, required) — Display name for the pricing category
- `id` (string, optional, nullable) — Identifier for the category. Consistent for every option in the same response, so constraints.requiresCategory always resolves to a sibling option. Stable across occurrences for inventory managed in TodayTix; for inventory sourced from an external ticketing system, treat it as scoped to the response. Omitted when the item has a single, uncategorized price.
- `description` (string, optional, nullable) — Longer descriptive text shown alongside the name. Omitted when the category has none.

### PriceOptionConstraintsResponse

Selection rules for a price option. Advisory: apply them when the customer builds the order — the server does not guarantee to reject an order that breaks them.

- `requiresCategory` (list of string, required) — Category ids, at least one of which must also be in the order for this option to be purchased (e.g. a Child ticket must be bought with an Adult ticket). Each id matches the category.id of another option on the same item.

### FeeResponse

One itemized fee included in sellPrice. Disclosure only — never an additional charge.

- `type` (enum, required) — The kind of fee disclosed. New fee types may be added over time — treat an unknown value as a new fee type, not an error.
  - Allowed values: `SERVICE_FEE`
- `value` (Money, required) — Per-unit fee amount. Already included in sellPrice — never add it to a price.

### PromotionResponse

A promotion applied to a price option.

- `id` (string, required) — Stable promotion identifier.
- `name` (string, required) — Promotion display name.
- `description` (string, optional, nullable) — Optional plain-text description of the promotion.

### DeliveryMethodResponse

The way tickets are delivered to the customer

- `name` (string, required) — Display name of the delivery method

### AssignedCustomerResponse

The customer a ticket was given to

- `firstName` (string, required) — First name
- `lastName` (string, required) — Last name

### BarcodeResponse

Barcode for venue entry

- `value` (string, required) — Raw barcode value for wallet pass integrations
- `format` (enum, optional, nullable) — Barcode symbology
  - Allowed values: `CODE39`, `CODE128`, `EAN13`, `IMAGE`, `INTERLEAVED2OF5`, `PDF417`, `QR`
- `imageUrl` (string, optional, nullable) — Pre-rendered barcode image URL for display

## Examples

### The cart became an order

**Response**

```json
{
  "data": [
    {
      "id": "12345",
      "confirmationNumber": "T123456789012",
      "customerId": "c.pm2fiairy2y6a6rpbf5",
      "contact": {
        "name": "John Smith",
        "email": "john.smith@example.com"
      },
      "items": [
        {
          "id": "67890",
          "event": {
            "id": "123",
            "name": "Hamilton"
          },
          "occurrence": {
            "id": "456",
            "startsAt": "2026-03-15T19:30:00-04:00"
          },
          "venue": {
            "id": "UmljaGFyZCBSb2RnZXJzIFRoZWF0cmU",
            "name": "Richard Rodgers Theatre"
          },
          "inventoryVariant": {
            "_type": "AssignedSeat",
            "attributes": [],
            "id": "ORCHESTRA-A-101",
            "name": "Orchestra A 101",
            "row": "A",
            "seat": "101",
            "section": "Orchestra"
          },
          "priceOption": {
            "category": {
              "name": "Adult"
            },
            "sellPrice": {
              "amount": 18500,
              "currency": "USD"
            }
          },
          "quantity": 1
        }
      ],
      "receiptLines": [
        {
          "label": "Subtotal",
          "total": {
            "amount": 18500,
            "currency": "USD"
          },
          "sign": "positive",
          "_type": "SubtotalLine"
        }
      ],
      "total": {
        "amount": 18500,
        "currency": "USD"
      },
      "status": "COMPLETED",
      "createdAt": "2026-03-10T14:32:00Z"
    }
  ],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "total": 1
  }
}
```

**SDK Code**

```python The cart became an order
import requests

url = "https://stg.ttix.io/api/v3/orders"

querystring = {"cartId":"6aac14d3-5826-4da8-98b6-9e68c28629d6","limit":"50","offset":"0"}

headers = {
    "X-TT-Platform": "android",
    "X-TT-Retailer": "YOUR_RETAILER_ID",
    "X-TT-API-Key": "<apiKey>"
}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript The cart became an order
const url = 'https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0';
const options = {
  method: 'GET',
  headers: {
    'X-TT-Platform': 'android',
    'X-TT-Retailer': 'YOUR_RETAILER_ID',
    'X-TT-API-Key': '<apiKey>'
  }
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go The cart became an order
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-TT-Platform", "android")
	req.Header.Add("X-TT-Retailer", "YOUR_RETAILER_ID")
	req.Header.Add("X-TT-API-Key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby The cart became an order
require 'uri'
require 'net/http'

url = URI("https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-TT-Platform"] = 'android'
request["X-TT-Retailer"] = 'YOUR_RETAILER_ID'
request["X-TT-API-Key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java The cart became an order
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0")
  .header("X-TT-Platform", "android")
  .header("X-TT-Retailer", "YOUR_RETAILER_ID")
  .header("X-TT-API-Key", "<apiKey>")
  .asString();
```

```php The cart became an order
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0', [
  'headers' => [
    'X-TT-API-Key' => '<apiKey>',
    'X-TT-Platform' => 'android',
    'X-TT-Retailer' => 'YOUR_RETAILER_ID',
  ],
]);

echo $response->getBody();
```

```csharp The cart became an order
using RestSharp;

var client = new RestClient("https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0");
var request = new RestRequest(Method.GET);
request.AddHeader("X-TT-Platform", "android");
request.AddHeader("X-TT-Retailer", "YOUR_RETAILER_ID");
request.AddHeader("X-TT-API-Key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift The cart became an order
import Foundation

let headers = [
  "X-TT-Platform": "android",
  "X-TT-Retailer": "YOUR_RETAILER_ID",
  "X-TT-API-Key": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```

### The cart never became an order

**Response**

```json
{
  "data": [],
  "pagination": {
    "limit": 50,
    "offset": 0,
    "total": 0
  }
}
```

**SDK Code**

```python The cart never became an order
import requests

url = "https://stg.ttix.io/api/v3/orders"

querystring = {"cartId":"6aac14d3-5826-4da8-98b6-9e68c28629d6","limit":"50","offset":"0"}

headers = {
    "X-TT-Platform": "android",
    "X-TT-Retailer": "YOUR_RETAILER_ID",
    "X-TT-API-Key": "<apiKey>"
}

response = requests.get(url, headers=headers, params=querystring)

print(response.json())
```

```javascript The cart never became an order
const url = 'https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0';
const options = {
  method: 'GET',
  headers: {
    'X-TT-Platform': 'android',
    'X-TT-Retailer': 'YOUR_RETAILER_ID',
    'X-TT-API-Key': '<apiKey>'
  }
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go The cart never became an order
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("X-TT-Platform", "android")
	req.Header.Add("X-TT-Retailer", "YOUR_RETAILER_ID")
	req.Header.Add("X-TT-API-Key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby The cart never became an order
require 'uri'
require 'net/http'

url = URI("https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["X-TT-Platform"] = 'android'
request["X-TT-Retailer"] = 'YOUR_RETAILER_ID'
request["X-TT-API-Key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java The cart never became an order
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0")
  .header("X-TT-Platform", "android")
  .header("X-TT-Retailer", "YOUR_RETAILER_ID")
  .header("X-TT-API-Key", "<apiKey>")
  .asString();
```

```php The cart never became an order
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0', [
  'headers' => [
    'X-TT-API-Key' => '<apiKey>',
    'X-TT-Platform' => 'android',
    'X-TT-Retailer' => 'YOUR_RETAILER_ID',
  ],
]);

echo $response->getBody();
```

```csharp The cart never became an order
using RestSharp;

var client = new RestClient("https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0");
var request = new RestRequest(Method.GET);
request.AddHeader("X-TT-Platform", "android");
request.AddHeader("X-TT-Retailer", "YOUR_RETAILER_ID");
request.AddHeader("X-TT-API-Key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift The cart never became an order
import Foundation

let headers = [
  "X-TT-Platform": "android",
  "X-TT-Retailer": "YOUR_RETAILER_ID",
  "X-TT-API-Key": "<apiKey>"
]

let request = NSMutableURLRequest(url: NSURL(string: "https://stg.ttix.io/api/v3/orders?cartId=6aac14d3-5826-4da8-98b6-9e68c28629d6&limit=50&offset=0")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```