API reference · Platform & integration

Ticketing gate

POST Link a gate device and register its P-256 public key (GATE_STAFF, MANAGER or OWNER)

POST /ticketing/gate/device

The device signs every scan batch with the matching private key.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Example

Request body: GateDeviceRequest · Response: GenericResponseGateDeviceResponse

curl -X POST "https://api.bridgemoni.com/ticketing/gate/device" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "organiserReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "deviceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "label": "string",
  "publicKeyX": "string",
  "publicKeyY": "string"
}'

Responses

StatusWhen
200OK

POST Assign a gate device to an occurrence (MANAGER or OWNER)

POST /ticketing/gate/device/{reference}/assign

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: GateAssignRequest · Response: GenericResponseGateDeviceResponse

curl -X POST "https://api.bridgemoni.com/ticketing/gate/device/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/assign" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e"
}'

Responses

StatusWhen
200OK

POST Revoke a gate device; it can no longer sync or scan (MANAGER or OWNER)

POST /ticketing/gate/device/{reference}/revoke

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Path parameters

Name
reference

Example

Request body: GateRevokeRequest · Response: GenericResponseGateDeviceResponse

curl -X POST "https://api.bridgemoni.com/ticketing/gate/device/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/revoke" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "string"
}'

Responses

StatusWhen
200OK

GET Gate findings for an occurrence (any organiser member)

GET /ticketing/gate/occurrence/{reference}/findings

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live

Path parameters

Name
reference

Example

Response: GenericResponseListGateFindingResponse

curl -X GET "https://api.bridgemoni.com/ticketing/gate/occurrence/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/findings" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200OK

GET The gate manifest for an occurrence: keys, policy and ticket changes since a version

GET /ticketing/gate/occurrence/{reference}/manifest

Paged at 100, ordered by change version then ticket. Keep paging while complete is false.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
X-Gate-Device

Path parameters

Name
reference

Query parameters

NameDefault
sinceOptional
afterOptional

Example

Response: GenericResponseManifestResponse

curl -X GET "https://api.bridgemoni.com/ticketing/gate/occurrence/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/manifest" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200OK

POST Online scan: the server decides and records admission atomically

POST /ticketing/gate/scan

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
X-Gate-Device
Content-Typeapplication/json

Example

Request body: ScanRequest · Response: GenericResponseScanResponse

curl -X POST "https://api.bridgemoni.com/ticketing/gate/scan" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "credential": "string",
  "direction": "string",
  "localId": "string"
}'

Responses

StatusWhen
200OK

POST Upload a signed batch of offline scans

POST /ticketing/gate/scan-batch

Sequenced per device; a gap is recorded and the batch still accepted. Two devices admitting one single-entry ticket raise a duplicate-entry finding.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
Content-Typeapplication/json

Example

Request body: ScanBatchRequest · Response: GenericResponseScanBatchResponse

curl -X POST "https://api.bridgemoni.com/ticketing/gate/scan-batch" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "deviceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "occurrenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "sequence": 0,
  "manifestVersionAtScan": 0,
  "scans": [
    {
      "localId": "string",
      "ticketRef": "string",
      "generation": 0,
      "result": "ADMITTED",
      "direction": "string",
      "scannedAtEpoch": 0
    }
  ],
  "signature": "string"
}'

Responses

StatusWhen
200OK

Generated from the OpenAPI document. Branch on the HTTP status: there is no machine-readable error code on the wire. Errors