Retrieve an offer
Retrieves a single offer by its identifier — the same object `GET /catalog/offers` lists, discriminated on `type` the same way. This route accepts no filter, so its `pricing[]` is always complete: it is the view that makes an offer's catalog authoritative, and the one to fall back to after a filtered list. Returns 404 when the offer does not exist or does not belong to your organization.
Preview release
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.Retrieves a single offer by its identifier — the same object GET /catalog/offers lists, discriminated on type the same way. This route accepts no filter, so its pricing[] is always complete: it is the view that makes an offer's catalog authoritative, and the one to fall back to after a filtered list.
Returns 404 when the offer does not exist or does not belong to your organization.
Authorization
HTTPBearer API key authentication. Format: Bearer billy:o:<organization_id>:<api_key>
Example: Bearer billy:o:yyyyyyyyyyyyyyyy:xxxxxxxxxxxxxxxxx
In: header
Path Parameters
Header Parameters
Requested API version. Current context: preview.
"preview"Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/catalog/offers/string" \ -H "Billy-API-Version: preview"{ "offerId": "331704d8-50bf-4e99-8d82-95c4974b1a2b", "type": "TICKET", "name": "Pass 2 jours", "description": "<p>Accès aux deux journées</p>", "eventId": "168c36ec-2e28-4312-be93-8893f0cc4d5e", "currency": "EUR", "images": [], "tags": [ "pass" ], "minQuantityPerOrder": 1, "maxQuantityPerOrder": 10, "compareAtPrice": 55, "createdAt": "2026-08-01T10:00:00+00:00", "vatRate": 0.2, "defaultMaximumCapacity": 500, "attendeeFormId": "5d6e7f80-9a0b-4c1d-8e2f-3a4b5c6d7e8f", "pricing": [ { "pricingId": "9f2c1b44-77aa-4f10-9c3e-0d1b2e3f4a5b", "name": "Tarif plein", "price": 45, "bundleOfferId": null, "resaleEnabled": true }, { "pricingId": "b3e7d901-1c22-4a55-8f6d-7e8f9a0b1c2d", "name": "Tarif étudiant", "price": 32, "bundleOfferId": null, "resaleEnabled": false }, { "pricingId": "c4f8ea12-2d33-4b66-9a7e-8f9a0b1c2d3e", "name": "Pass festival 3 dates", "price": 36, "bundleOfferId": "7a1b2c3d-4e5f-4061-8172-93a4b5c6d7e8", "resaleEnabled": true } ], "inventory": [ { "inventoryId": "e1f2a3b4-c5d6-4e7f-8091-a2b3c4d5e6f7", "sessionId": "11223344-5566-4778-899a-bbccddeeff00", "totalStock": 500, "availableStock": 412 } ]}