BillyDocumentation

Download a ticket's PDF

Returns a temporary link to the ticket's PDF. **The link is not authenticated.** For as long as it is valid, anyone holding it can download the ticket, so do not store it and do not pass it through anything that keeps a copy. **Ask again after every transfer.** A link issued before a transfer keeps serving the old PDF until it expires — the file is immutable, it is the ticket that changed. **A 202 is not a failure.** The PDF is rebuilt when the ticket changes, and that happens out of band, so a call made just after a transfer finds the stored document out of date. Rather than hand you a PDF whose QR code no longer opens the door, this endpoint asks for the rebuild and answers 202. Loop until you get a 200.

Preview release

This operation is only available on the preview release target — send Billy-API-Version: preview to reach it. Preview has no stability promise: its routes and payloads can change without notice, so pin a dated release before you depend on one.
GET
/v1/tickets/{ticket_id}/pdf

Returns a temporary link to the ticket's PDF.

The link is not authenticated. For as long as it is valid, anyone holding it can download the ticket, so do not store it and do not pass it through anything that keeps a copy.

Ask again after every transfer. A link issued before a transfer keeps serving the old PDF until it expires — the file is immutable, it is the ticket that changed.

A 202 is not a failure. The PDF is rebuilt when the ticket changes, and that happens out of band, so a call made just after a transfer finds the stored document out of date. Rather than hand you a PDF whose QR code no longer opens the door, this endpoint asks for the rebuild and answers 202. Loop until you get a 200.

Authorization

HTTPBearer
AuthorizationBearer <token>

API key authentication. Format: Bearer billy:o:<organization_id>:<api_key>

Example: Bearer billy:o:yyyyyyyyyyyyyyyy:xxxxxxxxxxxxxxxxx

In: header

Path Parameters

ticket_id*Ticket Id

Header Parameters

Billy-API-Version*string

Requested API version. Current context: preview.

Default"preview"

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/tickets/string/pdf" \  -H "Billy-API-Version: preview"
{  "url": "https://billy-ticket-pdfs.s3.eu-west-3.amazonaws.com/ticket_pdfs/ticket_9f2k_a1b2c3d4.pdf?X-Amz-Signature=...",  "expiresAt": "2026-09-07T14:32:00Z"}