GET/cards/{userId}

List Debit Cards

Returns Debit Card summaries for a broker-owned managed customer.

Never returns full PAN, CVV, or PIN.

If the customer exists and the broker has access but no cards exist, returns HTTP 200 with ResponseData as the string "Card not available" (not 404).

Access: Broker profile must have financial transactions enabled and must own the customer via brokerings.

bash
curl -X GET "{{baseUrl}}/cards/{{userId}}" \
  -H "session-token: {{sessionToken}}" \
  -H "Accept: application/json"

Path variables

FieldTypeRequiredPossible valuesDescription
userIdstringRequired-8202289338547523753

Masked customer ID (same masking pattern as other partner APIs). Must match `/^-?\d+$/`.

Headers

FieldTypeRequiredPossible valuesDescription
session-tokenstringRequired

SessionToken obtained from the Create GMA Session endpoint. All secured endpoints require this header.

Additional info

FieldTypeRequiredPossible valuesDescription
200 — Card not availableobjectOptional

Customer exists and broker has access, but no cards are on file.

404 — Customer not foundobjectOptional

Masked userId does not resolve to a customer.

403 — No accessobjectOptional

Broker does not own this customer via brokerings.

Example200 — Card not available

{
  "ResponseCode": 200,
  "ResponseMessage": "Success",
  "ResponseData": "Card not available"
}

Example404 — Customer not found

{
  "ResponseCode": 404,
  "ResponseMessage": "Customer not found",
  "ResponseData": null
}

Example403 — No access

{
  "ResponseCode": 403,
  "ResponseMessage": "Broker does not have access to this customer",
  "ResponseData": null
}

Header on all calls: `session-token: {SessionToken}`. Path param stays camelCase (`userId`).

Response

FieldTypePossible valuesDescription
ResponseCodeinteger200 | 201 | 204 | 301 | 400 | 401 | 403 | 404 | 410 | 422 | 500 | 503

API result code in the response envelope. Indicates success or the error category (e.g. 200 success, 400 bad request, 401 unauthorized).

ResponseMessagestringSuccess | Created | NoContent | BadRequest | Unauthorized | Forbidden | NotFound | Gone | UnprocessableContent | ServerError | ResourceMoved | ServiceUnAvailable | UnProcessableEntity

Human-readable label paired with ResponseCode (e.g. Success, BadRequest, Unauthorized). Use with ResponseCode to interpret the outcome.

ResponseDataarrayPlease refer to below example for response body

Array of card summaries. When no cards exist: the string `"Card not available"`.

ResponseData[].CardIdstring

Card reference ID. Use this as `{cardId}` on other Cards endpoints.

ResponseData[].MaskedPanstring

Masked PAN. Full PAN is never returned.

ResponseData[].CardholderNamestring

Cardholder display name.

ResponseData[].CardTypestring

Product/type name (e.g. FV Bank Visa Debit).

ResponseData[].CardNetworkstring

Brand/network from card type config (typically Visa).

ResponseData[].CardStatusstringActive | Ordered | Expired

Card lifecycle status. Additional processor values may appear.

ResponseData[].DeliveryStatusstring | nullDelivered | Pending | null

Delivery status, or null when unknown.

ResponseData[].ActivationStatusstringActivated | PendingActivation | NotActivated

Activation state. Activation itself is outside this API.

ResponseData[].ExpiryMonthstring | null

Expiry month (MM).

ResponseData[].ExpiryYearstring | null

Expiry year (20YY).

ResponseData[].Binstring | null

BIN number/title.

ResponseData[].Last4Digitsstring

Last 4 digits of the card.

ResponseData[].IssueDatestring

Activated date or record creation date (YYYY-MM-DD).

ResponseData[].ShippingTypestringPriorityDelivery | RegularDelivery

Shipping method used for the physical card.

ResponseData[].AtmEnabledboolean

Whether ATM usage is enabled.

ResponseData[].TransactionSuspendedboolean

True if FV/org suspension is in effect or card transactions are disabled.

ResponseData[].InternationalUsageboolean

International usage flag. Currently always true.

ResponseData[].DailyPurchaseLimitnumber | null

Daily purchase limit snapshot.

ResponseData[].DailyAtmLimitnumber | null

Daily ATM limit snapshot.

ResponseData[].ContactlessEnabledboolean

Contactless flag. Currently always true.

Example response

{
  "ResponseCode": 200,
  "ResponseMessage": "Success",
  "ResponseData": [
    {
      "CardId": "55d0c52f-79ee-4d38-acf4-a16c07957898",
      "MaskedPan": "************1234",
      "CardholderName": "Jane Doe",
      "CardType": "FV Bank Visa Debit",
      "CardNetwork": "Visa",
      "CardStatus": "Active",
      "DeliveryStatus": "Delivered",
      "ActivationStatus": "Activated",
      "ExpiryMonth": "12",
      "ExpiryYear": "2028",
      "Bin": "4xxxxx",
      "Last4Digits": "1234",
      "IssueDate": "2026-01-15",
      "ShippingType": "RegularDelivery",
      "AtmEnabled": true,
      "TransactionSuspended": false,
      "InternationalUsage": true,
      "DailyPurchaseLimit": 5000,
      "DailyAtmLimit": 500,
      "ContactlessEnabled": true
    },
    {
      "CardId": "7c9e6679-7425-40de-944b-e07fc1f90ae7",
      "MaskedPan": "************9876",
      "CardholderName": "Jane Doe",
      "CardType": "FV Bank Visa Debit",
      "CardNetwork": "Visa",
      "CardStatus": "Ordered",
      "DeliveryStatus": "Pending",
      "ActivationStatus": "PendingActivation",
      "ExpiryMonth": "12",
      "ExpiryYear": "2028",
      "Bin": "4xxxxx",
      "Last4Digits": "9876",
      "IssueDate": "2026-01-15",
      "ShippingType": "RegularDelivery",
      "AtmEnabled": false,
      "TransactionSuspended": false,
      "InternationalUsage": true,
      "DailyPurchaseLimit": 5000,
      "DailyAtmLimit": 500,
      "ContactlessEnabled": true
    }
  ]
}

No pagination.

Requires `session-token: {SessionToken}` from Create GMA Session. Use the same client IP as authentication.

Search guide books, endpoints, paths, or parameters

↑↓navigateopenEscclose