Skip to main content

Create Order

Use this endpoint to create an order from a valid quote.

Authentication Required

This endpoint requires a valid Bearer token and a configured Payout method on your TBB account. See Authentication and Payout Method.


Endpoint​

POST /partner/v1/orders

Request​

Headers​

Authorization: Bearer <token>
Content-Type: multipart/form-data
note

This endpoint uses multipart/form-data to support PDF file uploads. Do not set Content-Type: application/json.

Fields​

FieldTypeRequiredDescription
quote_idstringYesEncrypted quote ID from the Create Quote response
delivery_typeenumYesTicket delivery method — see options below
is_ready_to_deliverbooleanYestrue if tickets are ready to deliver now. false if you will deliver on a future date
in_hand_datedate (YYYY-MM-DD)ConditionalDate TBB will receive the tickets. Required when is_ready_to_deliver is false. Must be at least 2 days before the event
filefile (PDF)ConditionalPDF ticket file. Required when delivery_type is pdf Max 10MB

Delivery Types​

ValueDescription
mobile_transferTBB initiates a mobile ticket transfer
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 Examples​

Ready to deliver now (mobile transfer)​

cURL
curl -X POST https://api.ticketbuyback.com/partner/v1/orders \
-H "Authorization: Bearer <token>" \
-F "quote_id=qt_9f3a2b1c" \
-F "delivery_type=mobile_transfer" \
-F "is_ready_to_deliver=true"

Delayed delivery (will deliver on a future date)​

cURL — Delayed
curl -X POST https://api.ticketbuyback.com/partner/v1/orders \
-H "Authorization: Bearer <token>" \
-F "quote_id=qt_9f3a2b1c" \
-F "delivery_type=mobile_transfer" \
-F "is_ready_to_deliver=false" \
-F "in_hand_date=2026-09-10"

PDF delivery with file upload​

cURL — PDF
curl -X POST https://api.ticketbuyback.com/partner/v1/orders \
-H "Authorization: Bearer <token>" \
-F "quote_id=qt_9f3a2b1c" \
-F "delivery_type=pdf" \
-F "is_ready_to_deliver=true" \
-F "file=@/path/to/ticket.pdf"

JavaScript Examples​

Ready to deliver now​

JavaScript
const formData = new FormData();
formData.append("quote_id", "qt_9f3a2b1c");
formData.append("delivery_type", "mobile_transfer");
formData.append("is_ready_to_deliver", "true");

const response = await fetch(
"https://api.ticketbuyback.com/partner/v1/orders",
{
method: "POST",
headers: { Authorization: `Bearer ${token}` },
body: formData,
}
);

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

Delayed delivery​

JavaScript — Delayed
const formData = new FormData();
formData.append("quote_id", "qt_9f3a2b1c");
formData.append("delivery_type", "mobile_transfer");
formData.append("is_ready_to_deliver", "false");
formData.append("in_hand_date", "2026-09-10");

const response = await fetch(
"https://api.ticketbuyback.com/partner/v1/orders",
{
method: "POST",
headers: { Authorization: `Bearer ${token}` },
body: formData,
}
);

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

PDF delivery with file upload​

JavaScript — PDF
const formData = new FormData();
formData.append("quote_id", "qt_9f3a2b1c");
formData.append("delivery_type", "pdf");
formData.append("is_ready_to_deliver", "true");
formData.append("file", pdfFileObject); // File object from input or fs

const response = await fetch(
"https://api.ticketbuyback.com/partner/v1/orders",
{
method: "POST",
headers: { Authorization: `Bearer ${token}` },
body: formData,
}
);

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

Response — 201 Created​

{
"success": true,
"data": {
"order_id": "3224729029",
"event_id": "a3cc13227263f69a5de2d14a34613600",
"section_name": "110",
"row_name": "16",
"section_name_display": "110",
"row_name_display": "16",
"quantity": 1,
"general_admission": false,
"face_value": "1.00",
"total_price": 9.62,
"status": "accepted",
"quotes": [
{
"offer_price": 9.62,
"exp_dt": "2026-03-15T03:49:01.198107",
"quote_id": "FicWEHz9cTJ+0SuY7ywn7Q=="
}
],
"restrictions": [],
"restriction_detail": null,
"primary_site": "AXS"
},
"meta": {
"request_id": "70e6c01f-12f3-4dda-bffc-1c1ccd824f09",
"timestamp": "2026-03-15T02:49:13Z"
}
}

Response Fields​

FieldDescription
order_idUnique order identifier — save this for your records
event_idEvent ID for this order
section_nameSection name for the order
section_name_displayHuman-readable section label
row_nameRow assigned for the order
row_name_displayHuman-readable row label
quantityNumber of tickets in this order
general_admissiontrue if the section is General Admission
face_valueFace value of the tickets in USD
total_priceTotal charged for this order
statusOrder status — see status values below
quotesArray of associated quote pricing snapshots
quotes[].offer_pricePrice per ticket at time of quote
quotes[].exp_dtExpiry datetime of the quote
quotes[].quote_idEncrypted quote ID
restrictionsList of restriction labels that apply to the seats, or empty array if none
restriction_detailShort restriction note, or null if none
primary_siteTicketing platform

note

After a successful order is created, a confirmation email is automatically sent to the seller containing the transfer address, and event details.

Order Statuses​

StatusDescription
awaiting_transferOrder confirmed — waiting for your customer to transfer the ticket
ticket_receivedCustomer has transferred the ticket successfully
payout_in_processTicket received — payout to the partner is being processed
scheduledPayout has been scheduled for disbursement
paidPayout has been completed successfully
expiredOrder expired
canceledOrder was canceled

Error Scenarios​

Error Scenarios​

ScenarioHTTP StatusError Code
Missing or invalid Bearer token401UNAUTHORIZED
Token expired401TOKEN_EXPIRED
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
is_ready_to_deliver=false but no in_hand_date provided400IN_HAND_DATE_REQUIRED
delivery_type=pdf but no file attached400FILE_REQUIRED
PDF file exceeds 10MB400VALIDATION_ERROR
in_hand_date is after the event date422INVALID_DELIVERY_DEADLINE
in_hand_date is less than 2 days before the event422INVALID_DELIVERY_DEADLINE

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

Next Step​

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

→ Payout Setup