API reference · Platform & integration
Ticketing public GET Ticket verification keys (JWKS form) for third-party scanners GET /ticketing/public/{tenantId}/credential/keys
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For
Path parameters Example Response: GenericResponseVerificationKeySet
curl Response
Copy curl -X GET "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/credential/keys" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"keys": [
{
"kid": "string",
"kty": "string",
"crv": "string",
"x": "string",
"y": "string",
"alg": "string",
"use": "string",
"status": "PENDING"
}
]
},
"description": "OK"
} Responses GET Browse events (no session; tenant from the path) GET /ticketing/public/{tenantId}/event
One row per event with its next occurrence. Filters: q, city, category, from/to, currency with minPrice/maxPrice (all-in), free, near=lat,lon with radiusKm (at most 100), paymentMethod; sort START_ASC, PRICE_ASC, DISTANCE or RELEVANCE.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For
Path parameters Query parameters Name Default qOptional cityOptional categoryOptional fromOptional toOptional currencyOptional minPriceOptional maxPriceOptional freeOptional nearOptional radiusKmOptional paymentMethodOptional sortOptional page0 size20
Example Response: GenericResponseDiscoveryPageResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/event?page=value&size=20" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"page": 0,
"size": 0,
"items": [
{
"eventReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"title": "string",
"category": "string",
"organiserName": "string",
"venue": {
"name": "string",
"city": "string",
"distanceKm": 0
},
"nextOccurrence": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"startsAt": "2026-09-25T10:00:00Z",
"endsAt": "2026-09-25T10:00:00Z",
"timezone": "string",
"status": "DRAFT",
"availability": "AVAILABLE"
},
"occurrenceCount": 0,
"priceFrom": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"paymentMethods": [
"BRIDGE_WALLET"
],
"onSaleAt": "2026-09-25T10:00:00Z"
}
]
},
"description": "OK"
} Responses GET An event page (no session; tenant from the path) GET /ticketing/public/{tenantId}/event/{reference}
Occurrences, public tiers with all-in prices, payment methods and the account name a bank-transfer payer should expect. Never the account number.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For
Path parameters Example Response: GenericResponseEventResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/event/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organiserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"organiserName": "string",
"title": "string",
"description": "string",
"category": "string",
"ageRestriction": 0,
"visibility": "PUBLIC",
"bannerDocumentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "DRAFT",
"publishedAt": "2026-09-25T10:00:00Z",
"virtualAccountName": "string",
"occurrences": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"venueReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"venueName": "string",
"timezone": "string",
"startsAt": "2026-09-25T10:00:00Z",
"endsAt": "2026-09-25T10:00:00Z",
"doorsAt": "2026-09-25T10:00:00Z",
"startsAtUtc": "2026-09-25T10:00:00Z",
"endsAtUtc": "2026-09-25T10:00:00Z",
"doorsAtUtc": "2026-09-25T10:00:00Z",
"capacity": 0,
"sold": 0,
"held": 0,
"status": "DRAFT",
"credentialMode": "STATIC",
"highDemand": true,
"paymentMethods": [
"BRIDGE_WALLET"
],
"tiers": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tierLevel": 1,
"tierDateTime": "2026-09-25T10:00:00Z",
"upgradeEligible": "true",
"pendingUpgrade": "1",
"missingUpgrades": [
"string"
],
"restrictions": [
"string"
]
}
]
}
],
"wallets": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"currencyCode": "string",
"accountNumber": "string",
"status": "OPEN"
}
]
},
"description": "OK"
} Responses POST Hold tickets as a guest with the code sent to your phone POST /ticketing/public/{tenantId}/guest/hold
The response carries a guestSession for paying and checking this one hold.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For Content-Typeapplication/json
Path parameters Example Request body: GuestHoldRequest · Response: GenericResponseHoldResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/guest/hold" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"phone": "+2348000000000",
"otp": "string",
"displayName": "string",
"email": "ada@example.com",
"occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"lines": [
{
"tierReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tierCode": "string",
"quantity": 0,
"seatReferences": [
"b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
]
}
],
"promoCode": "string"
}' Copy {
"phone": "+2348000000000",
"otp": "string",
"displayName": "string",
"email": "ada@example.com",
"occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"lines": [
{
"tierReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tierCode": "string",
"quantity": 0,
"seatReferences": [
"b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
]
}
],
"promoCode": "string"
} Copy {
"data": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"eventReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "ACTIVE",
"expiresAt": "2026-09-25T10:00:00Z",
"lines": [
{
"tierReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tierCode": "string",
"quantity": 0,
"unitFace": "string",
"unitFee": "string",
"unitDiscount": "string",
"unitTotal": "string"
}
],
"charges": [
{
"type": "string",
"code": "string",
"amount": "string"
}
],
"subtotal": "string",
"total": "string",
"currency": "string",
"termsHash": "string",
"paymentMethods": [
"BRIDGE_WALLET"
],
"guestSession": "string"
},
"description": "OK"
} Responses POST Bank-transfer instructions for a guest hold (X-Guest-Session) POST /ticketing/public/{tenantId}/guest/order/{hold}/pay/bank-transfer
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Guest-SessionX-Forwarded-For Content-Typeapplication/json
Path parameters Example Request body: BankTransferRequest · Response: GenericResponseBankTransferInstructions
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/guest/order/value/pay/bank-transfer" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"termsHash": "string"
}' Copy {
"termsHash": "string"
} Copy {
"data": {
"orderReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "AWAITING_PAYMENT",
"amount": "string",
"currencyCode": "string",
"paymentCode": "string",
"expiresAt": "2026-09-25T10:00:00Z",
"accounts": [
{
"bankName": "string",
"accountNumber": "string",
"accountName": "ADA OKAFOR"
}
],
"instructions": [
"string"
],
"statusUrl": "string"
},
"description": "OK"
} Responses GET A guest order's status (X-Guest-Session) GET /ticketing/public/{tenantId}/guest/order/{reference}
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Guest-SessionX-Forwarded-For
Path parameters Example Response: GenericResponseGuestOrderStatusResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/guest/order/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"orderReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "AWAITING_PAYMENT",
"amount": "string",
"currencyCode": "string",
"paymentCode": "string",
"passUrl": "string",
"messages": [
"string"
]
},
"description": "OK"
} Responses POST Send a checkout code to a guest's phone POST /ticketing/public/{tenantId}/guest/otp
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For Content-Typeapplication/json
Path parameters Example Request body: GuestOtpRequest · Response: GenericResponseGuestOtpResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/guest/otp" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"phone": "+2348000000000",
"occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}' Copy {
"phone": "+2348000000000",
"occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
} Copy {
"data": {
"maskedPhone": "string",
"expiresAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses GET What's on: one row per occurrence (no session; tenant from the path) GET /ticketing/public/{tenantId}/occurrence
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For
Path parameters Query parameters Name Default qOptional cityOptional categoryOptional fromOptional toOptional currencyOptional nearOptional radiusKmOptional sortOptional page0 size20
Example Response: GenericResponseDiscoveryPageResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/occurrence?page=value&size=20" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"page": 0,
"size": 0,
"items": [
{
"eventReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"title": "string",
"category": "string",
"organiserName": "string",
"venue": {
"name": "string",
"city": "string",
"distanceKm": 0
},
"nextOccurrence": {
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"startsAt": "2026-09-25T10:00:00Z",
"endsAt": "2026-09-25T10:00:00Z",
"timezone": "string",
"status": "DRAFT",
"availability": "AVAILABLE"
},
"occurrenceCount": 0,
"priceFrom": {
"amount": "10000.00",
"currencyCode": "NGN"
},
"paymentMethods": [
"BRIDGE_WALLET"
],
"onSaleAt": "2026-09-25T10:00:00Z"
}
]
},
"description": "OK"
} Responses GET Tier availability bands for an occurrence; never exact counts GET /ticketing/public/{tenantId}/occurrence/{reference}/availability
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For
Path parameters Example Response: GenericResponseAvailabilityResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/occurrence/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/availability" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"status": "DRAFT",
"availability": "AVAILABLE",
"tiers": [
{
"tierReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"code": "string",
"availability": "AVAILABLE"
}
]
},
"description": "OK"
} Responses GET Seats of a seated occurrence; held seats show as unavailable GET /ticketing/public/{tenantId}/occurrence/{reference}/seats
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For
Path parameters Example Response: GenericResponseListSeatResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/occurrence/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/seats" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tierCode": "string",
"section": "string",
"row": "string",
"seat": "string",
"label": "string",
"status": "AVAILABLE",
"accessible": true,
"x": 0,
"y": 0
}
],
"description": "OK"
} Responses POST Resend your pass links; the old links stop working POST /ticketing/public/{tenantId}/pass/resend
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For Content-Typeapplication/json
Path parameters Example Request body: PassResendRequest · Response: GenericResponsePassResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pass/resend" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"phone": "+2348000000000",
"otp": "string"
}' Copy {
"phone": "+2348000000000",
"otp": "string"
} Copy {
"data": {
"status": "ACTIVE",
"event": {
"title": "string",
"venue": "string",
"startsAt": "2026-09-25T10:00:00Z",
"doorsAt": "2026-09-25T10:00:00Z",
"timezone": "string"
},
"holderName": "Ada Okafor",
"tickets": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tier": "string",
"status": "ISSUED",
"credentialAvailable": true,
"credential": "string"
}
],
"unlock": {
"required": true,
"channel": "string",
"maskedPhone": "string"
},
"calendarUrl": "string",
"claimIntoAccount": true
},
"description": "OK"
} Responses POST Send a code to resend your passes POST /ticketing/public/{tenantId}/pass/resend/otp
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For Content-Typeapplication/json
Path parameters Example Request body: GuestOtpRequest · Response: GenericResponseGuestOtpResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pass/resend/otp" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"phone": "+2348000000000",
"occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}' Copy {
"phone": "+2348000000000",
"occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
} Copy {
"data": {
"maskedPhone": "string",
"expiresAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses GET Open a guest pass GET /ticketing/public/{tenantId}/pass/{token}
Shows the tickets; the QR codes appear only with an unlock session (X-Pass-Session).
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Pass-SessionX-Forwarded-For
Path parameters Example Response: GenericResponsePassResponse
curl Response
Copy curl -X GET "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pass/value" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"status": "ACTIVE",
"event": {
"title": "string",
"venue": "string",
"startsAt": "2026-09-25T10:00:00Z",
"doorsAt": "2026-09-25T10:00:00Z",
"timezone": "string"
},
"holderName": "Ada Okafor",
"tickets": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tier": "string",
"status": "ISSUED",
"credentialAvailable": true,
"credential": "string"
}
],
"unlock": {
"required": true,
"channel": "string",
"maskedPhone": "string"
},
"calendarUrl": "string",
"claimIntoAccount": true
},
"description": "OK"
} Responses POST Report a pass lost or stolen POST /ticketing/public/{tenantId}/pass/{token}/lost
Revokes the link and reissues every ticket at the next generation; a new link is sent by SMS.
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Pass-SessionX-Forwarded-For
Path parameters Example Response: GenericResponsePassResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pass/value/lost" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"status": "ACTIVE",
"event": {
"title": "string",
"venue": "string",
"startsAt": "2026-09-25T10:00:00Z",
"doorsAt": "2026-09-25T10:00:00Z",
"timezone": "string"
},
"holderName": "Ada Okafor",
"tickets": [
{
"reference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
"tier": "string",
"status": "ISSUED",
"credentialAvailable": true,
"credential": "string"
}
],
"unlock": {
"required": true,
"channel": "string",
"maskedPhone": "string"
},
"calendarUrl": "string",
"claimIntoAccount": true
},
"description": "OK"
} Responses POST Unlock a pass on this browser with the code sent to its phone POST /ticketing/public/{tenantId}/pass/{token}/unlock
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For Content-Typeapplication/json
Path parameters Example Request body: PassUnlockRequest · Response: GenericResponsePassUnlockResponse
curl Request Response
Copy curl -X POST "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pass/value/unlock" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" \
-H "Content-Type: application/json" \
-d '{
"otp": "string"
}' Copy {
"data": {
"unlockSession": "string",
"expiresAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses POST Send an unlock code to the pass's phone POST /ticketing/public/{tenantId}/pass/{token}/unlock/otp
Headers Name Notes AuthorizationBearer token X-TenantYour tenant X-Environmenttest or live X-Forwarded-For
Path parameters Example Response: GenericResponseGuestOtpResponse
curl Response
Copy curl -X POST "https://api.bridgemoni.com/ticketing/public/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pass/value/unlock/otp" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: $BRIDGEMONI_ENV" Copy {
"data": {
"maskedPhone": "string",
"expiresAt": "2026-09-25T10:00:00Z"
},
"description": "OK"
} Responses