API reference
Public ticket status
Reads tenant-scoped public admission status without checking the guest in or exposing the purchased ticket QR.
https://api.sparkglim.net/api/white-label/v1/tickets/verifyAccess model
- Access model
- Verified domain and scoped public key
- Required scope
tickets:read- Documented availability
- Implemented in source
Availability is verified from source, not a live production guarantee.
Private signing stays on your server. API Version 1 uses signature format v2; it is not API v2.
Headers
| Name | Type | Validation |
|---|---|---|
x-white-label-domainRequiredVerified website hostname used to resolve the approved organization account and bind this request. | string | Validation: verified HTTPS hostname. |
x-white-label-keyRequiredComplete issued Public or Campaign Key for the endpoint’s permitted safe-read scope. | string | Validation: issued Public or Campaign keyId:secret. |
Request
| Name | Type | Validation |
|---|---|---|
campaignIdRequiredExisting campaign record within the caller’s account and any narrower campaign credential. | string | Validation: UUID required for scoped ticket lookup. |
ticketCodeRequiredExisting ticket credential within the authorized campaign, used for lookup or authorized admission. | string | Validation: ticket credential; 3–120. |
Request
Examples describe the contract and are not executed. Use authorized test records; never paste a real secret into these pages.
POST /api/white-label/v1/tickets/verify HTTP/1.1
Host: api.sparkglim.net
x-white-label-domain: events.example.com
x-white-label-key: <ISSUED_PUBLIC_OR_CAMPAIGN_KEY>
Content-Type: application/json
{
"campaignId": "11111111-1111-4111-8111-111111111111",
"ticketCode": "<EXISTING_TICKET_CODE>"
}Response
{
"success": true,
"data": {
"status": "invalid",
"message": "This ticket code is invalid."
},
"requestId": "wlapi_example"
}{
"success": false,
"error": "<ERROR_MESSAGE>",
"requestId": "wlapi_example"
}Validation, permissions, unavailable records and temporary service failures use the handler’s HTTP status and error payload.
Limits & retries
Organization limiter: 120 requests per key and 300 per IP per window; honor Retry-After and X-RateLimit headers.
Source compatibility
Authorized operations require account-specific testing.
server/src/api/router.tsserver/src/api/routes/white-label.tsserver/src/white-label/auth.tsserver/src/white-label/schemas.tsserver/src/white-label/organization-service.tsserver/src/white-label/service.ts