API reference · Cards & gift cards

Card secure sessions

POST Redeem a secure session

POST /card/secure-session/redeem

Called by the provider before it renders anything. Allowed exactly once and within three minutes; a replay is refused, so a leaked link shows nothing.

Headers

NameNotes
AuthorizationBearer token
X-TenantYour tenant
X-Environmenttest or live
x-api-key
x-bridge-signature
Content-Typeapplication/json

Example

Request body: string · Response: GenericResponseCardSecureSessionRedeemResponse

curl -X POST "https://api.bridgemoni.com/card/secure-session/redeem" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '"string"'

Responses

StatusWhen
200Allowed
409Already used, or expired
401The signature, key or timestamp did not hold

POST Open a session to set the card PIN

POST /card/{reference}/pin-session

The PIN is typed into the provider's page and never reaches Bridge. Available on a physical card once the holder has confirmed receiving it.

Headers

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

Path parameters

Name
reference

Example

Request body: CreateCardSecureSessionRequest · Response: GenericResponseCardSecureSessionResponse

curl -X POST "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/pin-session" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "purpose": "HOLDER_VIEW",
  "returnUrl": "https://app.tenant.test/cards/b71e4c98"
}'

Responses

StatusWhen
200PIN session created
409A PIN cannot be set on this card yet

POST Open a session to see the card number

POST /card/{reference}/secure-session

The only way a holder sees their full card number and security code, and Bridge never sees either: the provider renders them. Needs a fresh PIN confirmation, lasts three minutes, works once, and is rate limited per card. Shows only the caller's own card; staff use the operator reveal endpoint.

Headers

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

Path parameters

Name
reference

Example

Request body: CreateCardSecureSessionRequest · Response: GenericResponseCardSecureSessionResponse

curl -X POST "https://api.bridgemoni.com/card/b3f1c2d4-5e6a-4b7c-8d9e-0f1a2b3c4d5e/secure-session" \
  -H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
  -H "X-Tenant: $BRIDGEMONI_TENANT" \
  -H "X-Environment: $BRIDGEMONI_ENV" \
  -H "Content-Type: application/json" \
  -d '{
  "purpose": "HOLDER_VIEW",
  "returnUrl": "https://app.tenant.test/cards/b71e4c98"
}'

Responses

StatusWhen
200Secure session created
403A fresh PIN confirmation is required, or an operator purpose was asked for here
404No such card, or not the caller's
409The card cannot show its details
429Too many reveals on this card

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