{"openapi":"3.0.0","paths":{"/api/public/v1/checkouts":{"post":{"operationId":"PublicCheckoutController_checkout","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"8–128 safe characters. Identical semantic input replays the original result.","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicCheckoutDto"}}}},"responses":{"201":{"description":"Immutable confirmed order; identical retries return the same order","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrderEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"409":{"description":"Stable conflict code identifies idempotency, company verification, inventory, pricing, commission, float, or checkout-balance refusal","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicCheckoutConflictEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Fund an immediate sale from company prepaid float","tags":["Public API v1 — checkout"]}},"/api/public/v1/orders":{"get":{"operationId":"PublicOrderController_list","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"number"}},{"name":"cursor","required":false,"in":"query","description":"Opaque cursor returned by the prior page","schema":{"maxLength":512,"type":"string"}},{"name":"eventId","required":false,"in":"query","description":"Restrict orders to one company event","schema":{"format":"uuid","type":"string"}},{"name":"status","required":false,"in":"query","description":"Comma-separated unique statuses: CONFIRMED, CANCELLED, REFUNDED","schema":{"pattern":"^(?:CONFIRMED|CANCELLED|REFUNDED)(?:,(?:CONFIRMED|CANCELLED|REFUNDED))*$","example":"CONFIRMED,REFUNDED","type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrderListEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"List immutable company orders","tags":["Public API v1 — orders"]}},"/api/public/v1/orders/{orderId}":{"get":{"operationId":"PublicOrderController_get","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"orderId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicOrderEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Retrieve one immutable company order","tags":["Public API v1 — orders"]}},"/api/public/v1/pricing/quote":{"post":{"operationId":"PublicPricingController_quote","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicPricingQuoteDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicPricingQuoteEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"409":{"description":"The requested quantity is unavailable at one exact unit price","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Quote current company inventory without a commission fallback","tags":["Public API v1 — pricing"]}},"/api/public/v1/events/{eventId}/admissions/{admissionId}/validate":{"post":{"operationId":"PublicTicketValidationController_validate","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}},{"name":"admissionId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"8–128 safe characters. Identical semantic input replays the original result.","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidatePublicTicketDto"}}}},"responses":{"200":{"description":"ADMITTED once; later validations return ALREADY_VALIDATED","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicTicketValidationEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"409":{"description":"Idempotency key was already used with different input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Atomically admit one company order admission","tags":["Public API v1 — ticket validation"]}},"/api/public/v1/events":{"post":{"operationId":"PublicEventController_create","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"8–128 safe characters. Identical semantic input replays the original result.","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicEventDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEventEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"409":{"description":"Idempotency key was already used with different input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Create an idempotent company event","tags":["Public API v1 — events"]},"get":{"operationId":"PublicEventController_list","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"limit","required":false,"in":"query","schema":{"minimum":1,"maximum":100,"default":25,"type":"number"}},{"name":"cursor","required":false,"in":"query","description":"Opaque cursor returned by the prior page","schema":{"type":"string"}},{"name":"status","required":false,"in":"query","schema":{"type":"string","enum":["DRAFT","PUBLISHED","ENDED","CANCELLED"]}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEventListEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"List this company’s events","tags":["Public API v1 — events"]}},"/api/public/v1/events/{eventId}/inventory":{"get":{"operationId":"PublicEventController_inventory","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicInventoryListEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Read live inventory and pricing by tier","tags":["Public API v1 — events"]},"post":{"operationId":"PublicEventController_createInventory","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}},{"name":"Idempotency-Key","in":"header","description":"8–128 safe characters. Identical semantic input replays the original result.","required":true,"schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreatePublicInventoryDto"}}}},"responses":{"201":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicInventoryEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"409":{"description":"Idempotency key was already used with different input","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Create one credentialed admission row per unit","tags":["Public API v1 — events"]}},"/api/public/v1/events/{eventId}/inventory/{tier}":{"patch":{"operationId":"PublicEventController_updateInventory","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}},{"name":"tier","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePublicInventoryDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicInventoryEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Update unsold admission pricing or availability","tags":["Public API v1 — events"]},"delete":{"operationId":"PublicEventController_cancelInventory","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}},{"name":"tier","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicInventoryEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Cancel every unsold admission in a tier","tags":["Public API v1 — events"]}},"/api/public/v1/events/{eventId}":{"get":{"operationId":"PublicEventController_get","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEventEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Retrieve one company event","tags":["Public API v1 — events"]},"patch":{"operationId":"PublicEventController_update","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePublicEventDto"}}}},"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEventEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Update a company event","tags":["Public API v1 — events"]},"delete":{"operationId":"PublicEventController_cancel","parameters":[{"name":"X-Request-Id","in":"header","description":"Optional caller correlation id; echoed in response meta","required":false,"schema":{"type":"string"}},{"name":"eventId","required":true,"in":"path","schema":{"type":"string"}}],"responses":{"200":{"description":"","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicEventEnvelopeDto"}}}},"400":{"description":"Invalid request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"401":{"description":"Missing, malformed, or inactive Bearer API key","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"403":{"description":"API key lacks the exact COMPANY grant","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"404":{"description":"Resource is absent from this company scope","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"429":{"description":"Public API rate limit exceeded","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}},"500":{"description":"Unexpected server error with a stable non-sensitive body","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicApiErrorEnvelopeDto"}}}}},"security":[{"publicApiKey":[]}],"summary":"Cancel an event without deleting order history","tags":["Public API v1 — events"]}}},"info":{"title":"Zentry Public API","description":"Stable Business Suite integration API. All money values are decimal strings.","version":"1","contact":{}},"tags":[],"servers":[],"components":{"securitySchemes":{"publicApiKey":{"scheme":"bearer","bearerFormat":"Zentry API key","type":"http"}},"schemas":{"PublicApiErrorBodyDto":{"type":"object","properties":{"code":{"type":"string","example":"INVALID_REQUEST"},"message":{"type":"string","example":"Validation failed: eventId must be a UUID"},"details":{"type":"object"}},"required":["code","message"]},"PublicApiMetaDto":{"type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","example":"partner.checkout.0182"}},"required":["requestId"]},"PublicApiErrorEnvelopeDto":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/PublicApiErrorBodyDto"},"meta":{"$ref":"#/components/schemas/PublicApiMetaDto"}},"required":["error","meta"]},"PublicCheckoutBuyerDto":{"type":"object","properties":{"email":{"type":"string","example":"buyer@example.test","format":"email","maxLength":320},"fullname":{"type":"object","example":"Ada Buyer","nullable":true,"maxLength":200},"phone":{"type":"object","example":"+2348012345678","nullable":true,"maxLength":50}},"required":["email"]},"PublicCheckoutLineDto":{"type":"object","properties":{"tier":{"type":"string","example":"VIP"},"quantity":{"type":"number","minimum":1,"maximum":50,"example":2},"expectedUnitPrice":{"type":"string","example":"25000.00","pattern":"^(?:0|[1-9]\\d{0,11})(?:\\.\\d{1,2})?$","description":"Price obtained from the pricing quote"},"currency":{"type":"string","enum":["NGN"],"example":"NGN"}},"required":["tier","quantity","expectedUnitPrice","currency"]},"CreatePublicCheckoutDto":{"type":"object","properties":{"eventId":{"type":"string","format":"uuid","example":"8e40c61b-f27c-48b0-9cf2-f9c324a4992c"},"buyer":{"$ref":"#/components/schemas/PublicCheckoutBuyerDto"},"lines":{"minItems":1,"maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/PublicCheckoutLineDto"}}},"required":["eventId","buyer","lines"]},"PublicMoneyDto":{"type":"object","properties":{"amount":{"type":"string","example":"25000.00","description":"Base-10 major-unit amount"},"currency":{"type":"string","example":"NGN"}},"required":["amount","currency"]},"PublicOrderCommissionRateDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"value":{"type":"string","example":"250","description":"Decimal rate value; interpret only with unit"},"unit":{"type":"string","enum":["BASIS_POINTS","PERCENT","FRACTION"]}},"required":["id","value","unit"]},"PublicOrderCommissionDto":{"type":"object","properties":{"amount":{"$ref":"#/components/schemas/PublicMoneyDto"},"rate":{"$ref":"#/components/schemas/PublicOrderCommissionRateDto"}},"required":["amount","rate"]},"PublicOrderBalancesDto":{"type":"object","properties":{"floatBefore":{"$ref":"#/components/schemas/PublicMoneyDto"},"floatAfter":{"$ref":"#/components/schemas/PublicMoneyDto"},"earningsBefore":{"$ref":"#/components/schemas/PublicMoneyDto"},"earningsAfter":{"$ref":"#/components/schemas/PublicMoneyDto"}},"required":["floatBefore","floatAfter","earningsBefore","earningsAfter"]},"PublicOrderBuyerDto":{"type":"object","properties":{"email":{"type":"string","format":"email"},"fullname":{"type":"object","nullable":true},"phone":{"type":"object","nullable":true}},"required":["email","fullname","phone"]},"PublicOrderBrandingDto":{"type":"object","properties":{"brandName":{"type":"string"},"logoUrl":{"type":"object","format":"uri","nullable":true},"primaryColor":{"type":"string","example":"#111827"},"accentColor":{"type":"string","example":"#2563EB"},"checkoutFooter":{"type":"object","nullable":true},"ticketFooter":{"type":"object","nullable":true},"emailFooter":{"type":"object","nullable":true},"supportEmail":{"type":"object","format":"email","nullable":true},"emailMode":{"type":"string","enum":["ZENTRY_SENDER"]}},"required":["brandName","logoUrl","primaryColor","accentColor","checkoutFooter","ticketFooter","emailFooter","supportEmail","emailMode"]},"PublicOrderLineViewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"admissionId":{"type":"string","format":"uuid"},"title":{"type":"string"},"tier":{"type":"string","example":"VIP"},"unitPrice":{"$ref":"#/components/schemas/PublicMoneyDto"}},"required":["id","admissionId","title","tier","unitPrice"]},"PublicOrderViewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"object":{"type":"string","enum":["order"]},"eventId":{"type":"string","format":"uuid"},"status":{"type":"string","enum":["CONFIRMED","CANCELLED","REFUNDED"]},"gross":{"$ref":"#/components/schemas/PublicMoneyDto"},"floatDebited":{"$ref":"#/components/schemas/PublicMoneyDto"},"commission":{"$ref":"#/components/schemas/PublicOrderCommissionDto"},"balances":{"$ref":"#/components/schemas/PublicOrderBalancesDto"},"buyer":{"$ref":"#/components/schemas/PublicOrderBuyerDto"},"branding":{"$ref":"#/components/schemas/PublicOrderBrandingDto"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/PublicOrderLineViewDto"}},"confirmedAt":{"type":"string","format":"date-time"},"createdAt":{"type":"string","format":"date-time"}},"required":["id","object","eventId","status","gross","floatDebited","commission","balances","buyer","branding","lines","confirmedAt","createdAt"]},"PublicOrderEnvelopeDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PublicOrderViewDto"},"meta":{"$ref":"#/components/schemas/PublicApiMetaDto"}},"required":["data","meta"]},"PublicCheckoutConflictErrorBodyDto":{"type":"object","properties":{"code":{"type":"string","enum":["CONFLICT","INVENTORY_UNAVAILABLE","PRICING_UNAVAILABLE","COMMISSION_RATE_UNAVAILABLE","INSUFFICIENT_FLOAT","CHECKOUT_UNAVAILABLE","COMPANY_VERIFICATION_REQUIRED"]},"message":{"type":"string"},"details":{"type":"object"}},"required":["code","message"]},"PublicCheckoutConflictEnvelopeDto":{"type":"object","properties":{"error":{"$ref":"#/components/schemas/PublicCheckoutConflictErrorBodyDto"},"meta":{"$ref":"#/components/schemas/PublicApiMetaDto"}},"required":["error","meta"]},"PublicApiPageMetaDto":{"type":"object","properties":{"hasMore":{"type":"boolean"},"nextCursor":{"type":"object","nullable":true}},"required":["hasMore","nextCursor"]},"PublicApiPagedMetaDto":{"type":"object","properties":{"requestId":{"type":"string","minLength":1,"maxLength":128,"pattern":"^[A-Za-z0-9][A-Za-z0-9._:-]{0,127}$","example":"partner.checkout.0182"},"page":{"$ref":"#/components/schemas/PublicApiPageMetaDto"}},"required":["requestId","page"]},"PublicOrderListEnvelopeDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicOrderViewDto"}},"meta":{"$ref":"#/components/schemas/PublicApiPagedMetaDto"}},"required":["data","meta"]},"PublicPricingLineDto":{"type":"object","properties":{"tier":{"type":"string","example":"VIP"},"quantity":{"type":"number","minimum":1,"maximum":50,"example":2}},"required":["tier","quantity"]},"CreatePublicPricingQuoteDto":{"type":"object","properties":{"eventId":{"type":"string","format":"uuid","example":"8e40c61b-f27c-48b0-9cf2-f9c324a4992c"},"lines":{"minItems":1,"maxItems":50,"type":"array","items":{"$ref":"#/components/schemas/PublicPricingLineDto"}}},"required":["eventId","lines"]},"PublicPricingQuoteLineViewDto":{"type":"object","properties":{"tier":{"type":"string","example":"VIP"},"quantity":{"type":"number","minimum":1},"unitPrice":{"$ref":"#/components/schemas/PublicMoneyDto"},"subtotal":{"$ref":"#/components/schemas/PublicMoneyDto"},"availableAtPrice":{"type":"number","minimum":1}},"required":["tier","quantity","unitPrice","subtotal","availableAtPrice"]},"PublicPricingQuoteViewDto":{"type":"object","properties":{"object":{"type":"string","enum":["pricing_quote"]},"eventId":{"type":"string","format":"uuid"},"currency":{"type":"string","example":"NGN"},"lines":{"type":"array","items":{"$ref":"#/components/schemas/PublicPricingQuoteLineViewDto"}},"total":{"$ref":"#/components/schemas/PublicMoneyDto"},"quotedAt":{"type":"string","format":"date-time"}},"required":["object","eventId","currency","lines","total","quotedAt"]},"PublicPricingQuoteEnvelopeDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PublicPricingQuoteViewDto"},"meta":{"$ref":"#/components/schemas/PublicApiMetaDto"}},"required":["data","meta"]},"ValidatePublicTicketDto":{"type":"object","properties":{"location":{"type":"object","example":"North gate","maxLength":200,"nullable":true}}},"PublicValidatedTicketSnapshotDto":{"type":"object","properties":{"title":{"type":"string"},"tier":{"type":"string","example":"VIP"},"branding":{"$ref":"#/components/schemas/PublicOrderBrandingDto"}},"required":["title","tier","branding"]},"PublicTicketValidationViewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"object":{"type":"string","enum":["ticket_validation"]},"outcome":{"type":"string","enum":["ADMITTED","ALREADY_VALIDATED"]},"admissionId":{"type":"string","format":"uuid"},"eventId":{"type":"string","format":"uuid"},"orderId":{"type":"string","format":"uuid"},"location":{"type":"object","nullable":true},"ticket":{"$ref":"#/components/schemas/PublicValidatedTicketSnapshotDto"},"validatedAt":{"type":"string","format":"date-time"}},"required":["id","object","outcome","admissionId","eventId","orderId","location","ticket","validatedAt"]},"PublicTicketValidationEnvelopeDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PublicTicketValidationViewDto"},"meta":{"$ref":"#/components/schemas/PublicApiMetaDto"}},"required":["data","meta"]},"CreatePublicEventDto":{"type":"object","properties":{"title":{"type":"string","example":"Zentry Partner Summit","maxLength":200},"description":{"type":"string","example":"A one-day industry summit.","maxLength":5000},"date":{"type":"string","example":"2026-10-15","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"startsAt":{"type":"string","example":"09:00","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"endsAt":{"type":"string","example":"17:30","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"timezone":{"type":"string","example":"Africa/Lagos","description":"IANA time zone"},"location":{"type":"string","example":"Victoria Island, Lagos","maxLength":500},"venue":{"type":"string","example":"Civic Centre","maxLength":500},"imageUrl":{"type":"string","example":"https://cdn.example.test/summit.jpg","format":"uri"},"organizerName":{"type":"string","example":"Acme Events","maxLength":200},"categoryId":{"type":"string","format":"uuid","example":"5be046c8-49cf-420b-a840-2e1749afe837"},"ticketCategories":{"description":"Additional ticket categories for this event. Existing categories are retained.","maxItems":50,"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["DRAFT","PUBLISHED"],"example":"PUBLISHED"}},"required":["title","date","startsAt","endsAt","timezone","imageUrl","status"]},"PublicEventScheduleDto":{"type":"object","properties":{"date":{"type":"object","nullable":true,"example":"2026-10-15"},"startsAt":{"type":"object","nullable":true,"example":"09:00"},"endsAt":{"type":"object","nullable":true,"example":"17:30"},"timezone":{"type":"object","nullable":true,"example":"Africa/Lagos"}},"required":["date","startsAt","endsAt","timezone"]},"PublicEventLocationDto":{"type":"object","properties":{"name":{"type":"object","nullable":true},"venue":{"type":"object","nullable":true}},"required":["name","venue"]},"PublicEventCategoryDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"slug":{"type":"string"}},"required":["id","name","slug"]},"PublicEventViewDto":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"object":{"type":"string","enum":["event"]},"title":{"type":"string"},"description":{"type":"object","nullable":true},"status":{"type":"string","enum":["DRAFT","PUBLISHED","ENDED","CANCELLED"]},"schedule":{"$ref":"#/components/schemas/PublicEventScheduleDto"},"location":{"$ref":"#/components/schemas/PublicEventLocationDto"},"imageUrl":{"type":"string","format":"uri"},"organizerName":{"type":"object","nullable":true},"ticketCategories":{"example":["GENERAL_ADMISSION","VIP","Backstage"],"type":"array","items":{"type":"string"}},"category":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicEventCategoryDto"}]},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"}},"required":["id","object","title","description","status","schedule","location","imageUrl","organizerName","ticketCategories","category","createdAt","updatedAt"]},"PublicEventEnvelopeDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PublicEventViewDto"},"meta":{"$ref":"#/components/schemas/PublicApiMetaDto"}},"required":["data","meta"]},"PublicEventListEnvelopeDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicEventViewDto"}},"meta":{"$ref":"#/components/schemas/PublicApiPagedMetaDto"}},"required":["data","meta"]},"PublicInventoryTierViewDto":{"type":"object","properties":{"object":{"type":"string","enum":["inventory_tier"]},"tier":{"type":"string","example":"VIP"},"status":{"type":"string","enum":["AVAILABLE","PAUSED","SOLD_OUT","CANCELLED"]},"availableQuantity":{"type":"number","minimum":0},"totalAdmissions":{"type":"number","minimum":0},"unitPrice":{"nullable":true,"allOf":[{"$ref":"#/components/schemas/PublicMoneyDto"}]}},"required":["object","tier","status","availableQuantity","totalAdmissions","unitPrice"]},"PublicInventoryListEnvelopeDto":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/PublicInventoryTierViewDto"}},"meta":{"$ref":"#/components/schemas/PublicApiMetaDto"}},"required":["data","meta"]},"CreatePublicInventoryDto":{"type":"object","properties":{"tier":{"type":"string","example":"VIP"},"title":{"type":"string","example":"VIP admission","maxLength":200},"description":{"type":"string","example":"Includes lounge access.","maxLength":2000},"unitPrice":{"type":"string","example":"25000.00","pattern":"^(?:0|[1-9]\\d{0,11})(?:\\.\\d{1,2})?$","description":"Base-10 major-unit amount"},"currency":{"type":"string","enum":["NGN"],"example":"NGN"},"isFree":{"type":"boolean","example":false},"quantity":{"type":"number","minimum":1,"maximum":1000,"example":25},"status":{"type":"string","enum":["AVAILABLE","PAUSED"],"example":"AVAILABLE"}},"required":["tier","title","unitPrice","currency","isFree","quantity","status"]},"PublicInventoryEnvelopeDto":{"type":"object","properties":{"data":{"$ref":"#/components/schemas/PublicInventoryTierViewDto"},"meta":{"$ref":"#/components/schemas/PublicApiMetaDto"}},"required":["data","meta"]},"UpdatePublicInventoryDto":{"type":"object","properties":{"unitPrice":{"type":"string","example":"27500.00","pattern":"^(?:0|[1-9]\\d{0,11})(?:\\.\\d{1,2})?$"},"currency":{"type":"string","enum":["NGN"],"example":"NGN"},"isFree":{"type":"boolean","example":false},"status":{"type":"string","enum":["AVAILABLE","PAUSED"]}}},"UpdatePublicEventDto":{"type":"object","properties":{"title":{"type":"string","example":"Zentry Partner Summit","maxLength":200},"description":{"type":"string","example":"A one-day industry summit.","maxLength":5000},"date":{"type":"string","example":"2026-10-15","pattern":"^\\d{4}-\\d{2}-\\d{2}$"},"startsAt":{"type":"string","example":"09:00","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"endsAt":{"type":"string","example":"17:30","pattern":"^(?:[01]\\d|2[0-3]):[0-5]\\d$"},"timezone":{"type":"string","example":"Africa/Lagos","description":"IANA time zone"},"location":{"type":"string","example":"Victoria Island, Lagos","maxLength":500},"venue":{"type":"string","example":"Civic Centre","maxLength":500},"imageUrl":{"type":"string","example":"https://cdn.example.test/summit.jpg","format":"uri"},"organizerName":{"type":"string","example":"Acme Events","maxLength":200},"categoryId":{"type":"string","format":"uuid","example":"5be046c8-49cf-420b-a840-2e1749afe837"},"ticketCategories":{"description":"Additional ticket categories for this event. Existing categories are retained.","maxItems":50,"type":"array","items":{"type":"string"}},"status":{"type":"string","enum":["DRAFT","PUBLISHED"],"example":"PUBLISHED"}}}}}}