Cards

Respond to 3DS challenge

POSThttps://api.firstleeward.com/v0/card-3ds-challenges/:challengeId/respond

Approves or rejects a 3DS authentication challenge. Must respond within 5 minutes of the challenge being created.

Authorizations

Authorizationstring · headerrequired

API key as Bearer token, e.g. Bearer YOUR_API_KEY

Headers

Leeward-Versionenum<string>required

API version (YYYY-MM-DD). Available option: 2026-09-18

Path Parameters

challengeIdstring<uuid>required

Body

application/json

approvebooleanrequired

Whether to approve or reject the 3DS challenge

Response

2003DS challenge response
idstring<uuid>required

Unique 3DS challenge identifier

cardIdstring<uuid>required

ID of the card this challenge is for

statusstringrequired

Challenge status

Available options:PENDINGAPPROVEDREJECTEDEXPIRED
merchantobjectrequired

Merchant details

Show child attributes
namestringrequired

Merchant name

countryCodestringrequired

Merchant country code (ISO numeric)

transactionobjectrequired

Transaction details

Show child attributes
amountstringrequired

Transaction amount

currencystringrequired

Transaction currency (ISO alpha-3)

timestampstringrequired

ISO 8601 timestamp of the transaction

expiresAtstringrequired

ISO 8601 timestamp when this challenge expires

400The card or account is not in a valid state to complete this 3DS challenge
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
404Response for status 404
Option 1 · ThreeDsChallengeNotFoundError
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
Option 2 · CardNotFoundError
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
4093DS challenge has already been responded to
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired
4103DS challenge has expired
errorobjectrequired
Show child attributes
codestringrequired
messagestringrequired
detailobject | nullrequired