Skip to main content

Get Order

Retrieve a specific order from your store.

By default the response contains only the order's base fields. Use the include query parameter to expand related sections — line items, customer, transactions (with refunds), and invoices — in the same call, so you don't have to stitch together several requests.

Request

GET /orders/{id}

Path Parameters

ParameterTypeRequiredDescription
idstringYesOrder UUID

Query Parameters

ParameterTypeRequiredDescription
includestringNoComma-separated list of sections to expand. Allowed values: line_items, customer, transactions, invoices. Unknown values are ignored.
note

A section that is not requested is returned as null — the key is always present, so the response shape stays stable. Requesting include=transactions therefore leaves line_items, customer, and invoices as null.

Example Request

curl -X GET "https://cart.easy.tools/api/v1/orders/550e8400-e29b-41d4-a716-446655440000?include=line_items,customer,transactions,invoices" \
-H "Authorization: Bearer YOUR_API_TOKEN"

Response

Success Response (200)

Returns a single order. The example below requests all sections.

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"amount": 11800,
"currency": "pln",
"quantity": 1,
"product_name": "Premium Course",
"customer_email": "buyer@example.com",
"created_at": "2026-05-27T10:15:30+00:00",
"line_items": [
{
"product_name": "Premium Course",
"variant_name": "Standard",
"amount": 7900,
"amount_total": 7900,
"currency": "pln",
"quantity": 1,
"is_order_bump": false,
"access": [
{
"type": "product",
"id": "9b2c8400-e29b-41d4-a716-446655440022"
}
]
},
{
"product_name": "Workbook",
"variant_name": null,
"amount": 3900,
"amount_total": 3900,
"currency": "pln",
"quantity": 1,
"is_order_bump": true,
"access": [
{
"type": "product",
"id": "9b2c8400-e29b-41d4-a716-446655440023"
}
]
}
],
"customer": {
"id": "550e8400-e29b-41d4-a716-446655440050",
"email": "buyer@example.com",
"name": "Jane Doe"
},
"transactions": [
{
"type": "stripe",
"payment_method": "card",
"amount": 11800,
"net_amount": 10486,
"tax_amount": 1314,
"currency": "pln",
"paid_at": "2026-05-27T10:16:00+00:00",
"refunds": [
{
"amount": 3900,
"refunded_at": "2026-05-28T09:00:00+00:00"
}
]
}
],
"invoices": [
{
"id": "5b2c0f2e-1d4a-4c8b-9f3a-7e1a2b3c4d5e",
"number": "EASY/2026/05/123",
"issued_at": "2026-05-27T10:20:00+00:00",
"type": "invoice"
}
]
}

A lean read (no include) returns the base fields with every section set to null:

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"status": "completed",
"amount": 11800,
"currency": "pln",
"quantity": 1,
"product_name": "Premium Course",
"customer_email": "buyer@example.com",
"created_at": "2026-05-27T10:15:30+00:00",
"line_items": null,
"customer": null,
"transactions": null,
"invoices": null
}

Response Fields

FieldTypeNullableDescription
idstringNoUnique identifier for the order (UUID)
statusstringYesOrder status: created, awaiting_payment, processing, completed, canceled, or refunded. Null for legacy orders without a status.
amountintegerNoOrder total in minor units (e.g. cents/grosze)
currencystringNoLowercase ISO currency code (e.g. "pln")
quantityintegerNoQuantity of the primary product
product_namestringNoPrimary product name, cached at purchase time
customer_emailstringYesCustomer email. Null when the customer account is missing.
created_atstringNoWhen the order was created (ISO 8601 format)
line_itemsarrayYesPurchased line items. null unless line_items is included.
customerobjectYesFull customer details. null unless customer is included.
transactionsarrayYesTransactions with their refunds. null unless transactions is included.
invoicesarrayYesTax documents issued for the order. null unless invoices is included.

line_items[]

An order always has at least one line item — its primary product. Orders with order bumps return one line per purchased product (the primary product plus each bump). For an order with no bumps, the single line reflects the order itself, so amount and amount_total both equal the order total.

FieldTypeNullableDescription
product_namestringNoProduct name
variant_namestringYesVariant name
amountintegerNoUnit price in minor units
amount_totalintegerNoLine total in minor units
currencystringNoLowercase ISO currency code
quantityintegerNoQuantity for this line
is_order_bumpbooleanNoWhether this line was added as an order bump
accessarrayNoWhat this line granted the customer. Empty ([]) when the line granted nothing trackable, and until the order completes. See below.

line_items[].access[]

Each line item carries an access array — handles to what the purchase granted on that line. Access is created once an order completes, so every line on an order that has not yet completed (for example created or awaiting_payment) returns access: []. A line that grants nothing trackable also returns []. A single line can grant more than one entry (for example a quantity greater than one), so always read access as a list.

Each entry's id is the same UUID the Get Customer endpoint returns for that access in its products[] / subscriptions[] sections, so you can join a line to the customer's access list to read its live expiry or status. Use the id to act on the access directly:

FieldTypeNullableDescription
typestringNoKind of access granted: product or subscription
idstringNoUUID of the granted access — a product access id for product, a subscription id for subscription

A line that granted a subscription returns an entry shaped like this:

{
"type": "subscription",
"id": "7c4a1e2f-1b3d-4c6a-9f02-2a5b6c7d8e90"
}

customer

FieldTypeNullableDescription
idstringNoCustomer identifier (UUID)
emailstringYesCustomer email
namestringYesCustomer full name

transactions[]

An order may have several transactions (for example subscription follow-ups); a one-time order returns a single-element array.

FieldTypeNullableDescription
typestringYesPayment provider (e.g. "stripe", "tpay", "paypo")
payment_methodstringYesPayment method used (e.g. "card")
amountintegerNoGross amount in minor units
net_amountintegerYesNet amount in minor units
tax_amountintegerYesTax amount in minor units
currencystringNoLowercase ISO currency code
paid_atstringYesWhen the transaction was settled (ISO 8601 format)
refundsarrayNoRefunds issued against this transaction (empty if none)
refunds[].amountintegerNoRefunded amount in minor units
refunds[].refunded_atstringYesWhen the refund was processed (ISO 8601 format)

invoices[]

FieldTypeNullableDescription
idstringNoInvoice identifier (UUID). Pass to Get Invoice to read the full document.
numberstringYesInvoice number
issued_atstringYesWhen the invoice was issued (ISO 8601 format)
typestringNoDocument type: invoice or correction.

Error Responses

Bad Request (400)

{
"message": "Invalid order ID"
}

Order Not Found (404)

{
"message": "Order with ID <UUID> not found"
}

Unauthorized (401)

{
"message": "Unauthenticated."
}