List a card's 3DS verifications

Time Status User Agent
Make a request to see history.

URL Expired

The URL for this request expired after 30 days.

cardId

uuid

required

state

string

enum

Optional filter to retrieve only verifications in the given state.

completedfailedin-progress

Allowed:

completed``failed``in-progress

accept

string

enum

Defaults to application/hal+json

Generated from available response content types

application/hal+jsonapplication/problem+json

Allowed:

application/hal+json``application/problem+json

``200 Successful operation

object

_links

object

required

self

object

required

self object

_embedded

object

required

cardVerifications

array of objects

required

cardVerifications*

object

_links

object

required

_links object

id

uuid

required

The unique identifier of the Verification entity.

subaccountId

uuid

required

The unique identifier of the subaccount related to this entity.

cardId

uuid

required

The unique identifier of the card related to this entity.

type

string

enum

required

Verification Step Type

3DS

currentStepId

string | null

enum

The identifier of the next step the client should execute. null when

the verification has no follow-up step — typically because the issuer

supports frictionless authentication, or because the card did not

require interactive 3DS. When null, state will be completed on the

creation response and clients should not call any /steps/... endpoint.

On retrieved/listed verifications, currentStepId is also null with

state: failed when the card was declined synchronously at creation

(the creation call returned 400, and the attempt is persisted as a

failed verification with its failureReason).

For the HIGHEST tier, a frictionless 3DS outcome does NOT complete the verification: it returns stripe-holds-pending (the cardholder must

initiate two small verification holds via /steps/place-holds), which

then advances to stripe-amount-confirm (the cardholder reads the two

amounts back via /steps/amount-confirm).

fingerprint``challenge``stripe-3ds``stripe-holds-pending``stripe-amount-confirm``null

state

string

enum

required

Current Verification state

completed``failed``in-progress

clientSecret

string

Stripe SetupIntent or PaymentIntent client secret, used by the client to run stripe.handleNextAction. Returned whenever the verification is on the Stripe 3DS step — on the creation response (POST /card-verifications/3ds) and on the retrieve response (GET /card-verifications/3ds/{verificationId}) while currentStepId is stripe-3ds.

stripePublishableKey

string

Stripe publishable key to initialize Stripe.js on the client. Returned alongside clientSecret (creation response and retrieve response while currentStepId is stripe-3ds).

authenticationFlow

string | null

enum

The 3DS authentication flow attested by the issuer, surfaced at the terminal state.

challenge = the cardholder actively authenticated; frictionless = the issuer approved

without interaction; null = 3DS was not engaged (e.g. a low-risk automatic skip).

challenge``frictionless``null

failureReason

object

Normalized, customer-facing reason the verification failed. Present only when

state is failed — read it to triage the failure (category, retryability,

and the issuer's message). See the FailureReason schema.

failureReason object

createdAt

date-time

required

Date and time when this resource was created, in UTC, following ISO 8601 format.

updatedAt

date-time

required

Date and time when this resource was last updated, in UTC, following ISO 8601 format.

totalItems

integer

required

``401 Authentication credentials were either missing or incorrect

``403 Authentication credentials used do not have permissions to perform the request

``500 The server encountered an unexpected condition that prevented it from fulfilling the request

Updated 18 days ago


ShellNodeRubyPHPPython

Bearer


xxxxxxxxxx

curl --request GET \

--url https://api.astrada.co/card-verifications/3ds \

--header 'accept: application/hal+json'

xxxxxxxxxx

{

"_links": {

"self": {

"href": "/card-verifications/3ds?cardId=8309b5f8-d5d8-49bb-9001-38bf1bb0f1e4&state=failed"

}

},

"_embedded": {

"cardVerifications": [\
\
      {\
\
        "_links": {\
\
          "self": {\
\
            "href": "/card-verifications/3ds/9fab1bea-bc1e-4757-bd47-479422e5983b"\
\
          },\
\
          "steps": {\
\
            "href": "/card-verifications/3ds/9fab1bea-bc1e-4757-bd47-479422e5983b/steps"\
\
          }\
\
        },\
\
        "id": "9fab1bea-bc1e-4757-bd47-479422e5983b",\
\
        "subaccountId": "f297d659-c13d-4219-aeaa-e10a845140a5",\
\
        "cardId": "8309b5f8-d5d8-49bb-9001-38bf1bb0f1e4",\
\
        "type": "3DS",\
\
        "state": "failed",\
\
        "authenticationFlow": "frictionless",\
\
        "failureReason": {\
\
          "category": "authentication_declined",\
\
          "description": "The card issuer declined the 3-D Secure authentication.",\
\
          "retryable": true,\
\
          "code": "05",\
\
          "providerMessage": "The card issuer declined this authentication attempt."\
\
        },\
\
        "createdAt": "2024-01-04T18:53:32.000Z",\
\
        "updatedAt": "2024-01-04T18:55:12.000Z"\
\
      }\
\
    ]

},

"totalItems": 1

}

Updated18 days ago