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