API reference · Getting paid

Offline collections

POST Upload a collection two devices agreed while offline

POST /collection/{reference}/offline/upload

Both signatures are checked before anything is recorded, and the collection reference is inside the payer's signature - so a signed pair cannot be re-pointed at a different request, which is the whole risk of a rail where the platform was not present. The receipt is value-dated at the moment the payer signed, not at the moment it reached us: everything downstream - expiry, the rate card version, the settlement window, the statement period - reads that date, which is the single rule that makes this rail fair to a payer who had no connectivity. Uploading the same pair twice produces one receipt.

Headers

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

Path parameters

Name
reference

Example

Request body: UploadOfflineCollectionRequest · Response: GenericResponseOfflineUploadResponse

curl -X POST "https://api.bridgemoni.com/collection/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/offline/upload" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "senderPayload": "string",
  "senderSignature": "string",
  "senderPublicKey": "string",
  "senderDeviceId": "string",
  "receiverPayload": "string",
  "receiverSignature": "string",
  "receiverPublicKey": "string",
  "receiverDeviceId": "string",
  "uploadedByRole": "string"
}'

Responses

StatusWhen
200Offline collection uploaded successfully

GET Read a collector's offline ceiling and remaining headroom

GET /collector/{reference}/offline/ceiling

Derived from what the collector actually settles over a trailing window, never accumulated in a column - so there is nothing to drift, nothing to reconcile and nothing an attacker can corrupt by replaying an upload. Money taken offline is a liability held on a handset until somebody uploads it, and this is what bounds it. The figure is stamped with the time it was computed, so a device holding a stale one refuses new offline collections rather than trusting it.

Headers

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

Path parameters

Name
reference

Query parameters

NameDefault
currencyCodeOptional

Example

Response: GenericResponseOfflineCeilingResponse

curl -X GET "https://api.bridgemoni.com/collector/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/offline/ceiling?currencyCode=value" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Offline ceiling retrieved successfully

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