API reference · Credit

Buy now pay later origination

POST Apply for a plan

POST /bnpl/application

Runs the gates cheapest first, so a refusal at the merchant gate never consumes a credit enquiry. Every terminal, approve or refuse, writes its own decision record on a separate transaction: a declined credit application is a regulated record, and one written on the caller's transaction would be rolled back by the very refusal it exists to explain.

Headers

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

Example

Request body: CreateApplicationRequest · Response: GenericResponseApplicationResponse

curl -X POST "https://api.bridgemoni.com/bnpl/application" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "merchantReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "productReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "accountHolderReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "basketAmount": 0,
  "currencyCode": "string",
  "items": [
    {
      "sku": "string",
      "description": "string",
      "quantity": 0,
      "unitAmount": 0,
      "categoryCode": "string"
    }
  ],
  "channel": "SELF_SERVICE",
  "agentReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "idempotencyKey": "string"
}'

Responses

StatusWhen
200Application assessed successfully

POST Accept an offer

POST /bnpl/offer/{reference}/accept

The client echoes a digest of every disclosure it actually displayed, and acceptance is refused if the set does not match what was issued. Without that, saying the customer was shown the cost of credit is an assumption about a front end nobody controls rather than a fact the record can carry.

Headers

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

Path parameters

Name
reference

Example

Request body: AcceptOfferRequest · Response: GenericResponsePlanResponse

curl -X POST "https://api.bridgemoni.com/bnpl/offer/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/accept" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "acceptedDisclosureDigests": [
    "string"
  ],
  "signatureKind": "string",
  "signatureEvidenceReference": "b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e",
  "idempotencyKey": "string"
}'

Responses

StatusWhen
200Plan activated successfully

POST Decline an offer

POST /bnpl/offer/{reference}/decline

An expired or declined offer is applied for again rather than revived.

Headers

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

Path parameters

Name
reference

Example

Response: GenericResponseApplicationResponse

curl -X POST "https://api.bridgemoni.com/bnpl/offer/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/decline" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV"

Responses

StatusWhen
200Offer declined successfully

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