Skip to main content

Create Order

Converting a quote into an order is the final step of the purchase flow. Ticket Buyback confirms the ticket assignment, records the order under your partner account, and returns a ticket transfer email address that your customer uses to accept the tickets.

Authentication Required

This endpoint requires a valid Bearer token and a configured Routable payment method on your TBB account. See Authentication and Routable Setup.


Endpoint​

POST /v1/orders

Request​

Headers​

Authorization: Bearer <token>
Content-Type: application/json

Body​

{
"quote_id": "qt_9f3a2b1c",
"delivery_type": "mobile_transfer",
"delivery_deadline": "2026-09-12T18:00:00Z"
}

Field Definitions​

FieldTypeRequiredDescription
quote_idstringYesQuote ID from the Create Quote response
delivery_typeenumYesTicket delivery method β€” see options below
delivery_deadlinedatetime (UTC)YesWhen your customer must complete the ticket transfer by. Must be before the event start time

Delivery Types​

ValueDescription
mobile_transferTBB initiates a mobile ticket transfer β€” most common for Ticketmaster and AXS events
mobile_qrQR code-based ticket delivery
pdfPDF ticket file delivery
tip

mobile_transfer is the recommended delivery type for the majority of events. Use mobile_qr or pdf only if the event platform does not support mobile transfers.


cURL Example​

cURL
curl -X POST https://api.ticketbuyback.com/partner/v1/orders \
-H "Authorization: Bearer <token>" \
-H "Content-Type: application/json" \
-d '{
"quote_id": "qt_9f3a2b1c",
"delivery_type": "mobile_transfer",
"delivery_deadline": "2026-09-12T18:00:00Z"
}'

JavaScript Example​

JavaScript
const response = await fetch(
"https://api.ticketbuyback.com/partner/v1/orders",
{
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
quote_id: "qt_9f3a2b1c",
delivery_type: "mobile_transfer",
delivery_deadline: "2026-09-12T18:00:00Z",
}),
}
);

const { data } = await response.json();
const transferEmail = data.delivery.transfer_email;

Response β€” 201 Created​

{
"success": true,
"data": {
"order_id": "TBB-20260226-X7K9",
"status": "awaiting_transfer",
"quote_id": "qt_9f3a2b1c",
"event": {
"event_id": "5496123",
"event_name": "New England Patriots vs. Buffalo Bills",
"event_datetime_local": "2026-09-13T13:00:00",
"event_timezone": "America/New_York"
},
"seats": {
"section_name_display": "Section 101",
"row_name_display": "Row A",
"quantity": 2,
"seat_range": "12-13"
},
"pricing": {
"unit_price": 175.00,
"subtotal": 350.00
},
"delivery": {
"delivery_type": "mobile_transfer",
"delivery_deadline": "2026-09-12T18:00:00Z",
"transfer_email": "transfer-inbox-abc123@ticketbuyback.com"
},
"created_at": "2026-02-26T10:32:00Z",
"updated_at": "2026-02-26T10:32:00Z"
},
"meta": {
"request_id": "abc123",
"timestamp": "2026-02-26T10:32:00Z"
}
}

Response Fields​

FieldDescription
order_idUnique order identifier β€” save this for your records
statusOrder status β€” see status values below
quote_idThe quote this order was created from
eventEvent details for this order
seats.section_name_displayHuman-readable section name
seats.row_name_displayHuman-readable row name
seats.quantityNumber of tickets in this order
seats.seat_rangeSpecific seat numbers assigned (e.g. 12-13)
pricing.unit_pricePrice per ticket in USD
pricing.subtotalTotal charged for this order
delivery.delivery_typeDelivery method used
delivery.delivery_deadlineTransfer acceptance deadline
delivery.transfer_emailThe email address your customer must accept the ticket transfer from

Order Statuses​

StatusDescription
awaiting_transferOrder confirmed β€” waiting for your customer to accept the ticket transfer
transfer_completeCustomer has accepted the ticket transfer successfully
transfer_expiredCustomer did not accept the transfer before the deadline
cancelledOrder was cancelled

Ticket Transfer​

After a successful order, your customer must accept the ticket transfer from the transfer_email address returned in the response.

Important

Make sure your customer accepts the transfer before the delivery_deadline. If the deadline passes without acceptance, the order status moves to transfer_expired.

Here is a suggested message to send your customer:

Your tickets are on the way!

You will receive a ticket transfer from:
transfer-inbox-abc123@ticketbuyback.com

Please accept the transfer before September 12, 2026 at 6:00 PM UTC.
Check your inbox (and spam folder) for the transfer email.

Error Scenarios​

ScenarioHTTP StatusError Code
Missing or invalid Bearer token401UNAUTHORIZED
Token expired401TOKEN_EXPIRED
Routable payment not configured403PAYMENT_NOT_CONFIGURED
Quote not found404QUOTE_NOT_FOUND
Quote belongs to a different partner403FORBIDDEN
Quote has expired422QUOTE_EXPIRED
Quote already used422QUOTE_ALREADY_CONSUMED
Invalid delivery_type value400VALIDATION_ERROR
delivery_deadline is after event time422INVALID_DELIVERY_DEADLINE

Full Order Creation Flow​

JavaScript β€” Full order creation
async function createOrder({ quoteId, deliveryDeadline }) {
// Check quote expiry before submitting
const response = await fetch(
"https://api.ticketbuyback.com/partner/v1/orders",
{
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
quote_id: quoteId,
delivery_type: "mobile_transfer",
delivery_deadline: deliveryDeadline,
}),
}
);

if (!response.ok) {
const { error } = await response.json();
throw new Error(`Order failed: ${error.code} β€” ${error.message}`);
}

const { data } = await response.json();

// Save these for your records and to instruct your customer
return {
orderId: data.order_id,
status: data.status,
transferEmail: data.delivery.transfer_email,
deliveryDeadline: data.delivery.delivery_deadline,
seats: data.seats,
pricing: data.pricing,
};
}

End-to-End Flow Summary​

1. POST /auth/token          β†’  Get access token
2. GET /events β†’ Find the event
3. GET /events/{id}/sections β†’ Browse sections
4. GET /events/{id}/sections/{name}/rows β†’ Browse rows
5. POST /quotes β†’ Lock in a price
6. POST /orders β†’ Confirm the order ← You are here
β†’ Share transfer_email with your customer

Next Step​

Understand how billing and payouts work between you and Ticket Buyback:

β†’ Payout & Ownership