Skip to documentation
SparkGlimSparkGlim Developer
Search all documentation

Try a topic in your language or an exact API path.

    API reference

    Public ticket status

    Reads tenant-scoped public admission status without checking the guest in or exposing the purchased ticket QR.

    POSThttps://api.sparkglim.net/api/white-label/v1/tickets/verify

    Access 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

    NameTypeValidation
    x-white-label-domainRequired

    Verified website hostname used to resolve the approved organization account and bind this request.

    stringValidation: verified HTTPS hostname.
    x-white-label-keyRequired

    Complete issued Public or Campaign Key for the endpoint’s permitted safe-read scope.

    stringValidation: issued Public or Campaign keyId:secret.

    Request

    NameTypeValidation
    campaignIdRequired

    Existing campaign record within the caller’s account and any narrower campaign credential.

    stringValidation: UUID required for scoped ticket lookup.
    ticketCodeRequired

    Existing ticket credential within the authorized campaign, used for lookup or authorized admission.

    stringValidation: 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
    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 response · HTTP 200
    json
    {
      "success": true,
      "data": {
        "status": "invalid",
        "message": "This ticket code is invalid."
      },
      "requestId": "wlapi_example"
    }
    Error response · HTTP 400
    json
    {
      "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.ts
    • server/src/api/routes/white-label.ts
    • server/src/white-label/auth.ts
    • server/src/white-label/schemas.ts
    • server/src/white-label/organization-service.ts
    • server/src/white-label/service.ts