Card Management

Overview

This skill enables AI agents and applications to manage cards linked to wallets using Eclipse APIs.

It supports:

  • Retrieving cards linked to a wallet
  • Viewing individual card details
  • Updating card status
  • Setting or changing card PIN
  • Issuing new virtual cards
  • Retrieving card transaction activity

All responses shown below use anonymised sample data.

1. Get Cards on Wallet

Retrieve all cards linked to a wallet.

Request

GET {baseUrl}/eclipse-conductor/rest/v1/tenants/{tenant_id}/wallets/{wallet_id}/cards

Example Response

[
  {
    "cardId": 10001,
    "customerId": 1234567,
    "created": "2026-01-01T10:00:00.000Z",
    "expires": "2031-01-31T23:59:59.999Z",
    "status": "ACTIVE",
    "pan": "123456******7890",
    "walletId": 20001,
    "walletIds": [20001],
    "cardRules": {
      "ecommerceTransactionsEnabled": true,
      "internationalTransactionsEnabled": true
    },
    "cardType": "VIRTUAL",
    "cardPackId": "PACK-REDACTED",
    "cardHolderName": "John Doe",
    "cardIdentifierType": "PRIMARY_CARD",
    "limitConfiguration": [],
    "programName": "Sample Program",
    "externalUniqueId": "uuid-redacted"
  }
]

2. Get Specific Card

Retrieve details for a specific card.

Request

GET {baseUrl}/eclipse-conductor/rest/v1/tenants/{tenant_id}/cards/{card_id}

Example Response

{
  "cardId": 10001,
  "customerId": 1234567,
  "created": "2026-01-01T10:00:00.000Z",
  "expires": "2031-01-31T23:59:59.999Z",
  "status": "ACTIVE",
  "pan": "123456******7890",
  "walletId": 20001,
  "walletIds": [20001],
  "cardRules": {
    "ecommerceTransactionsEnabled": true,
    "internationalTransactionsEnabled": true
  },
  "cardType": "VIRTUAL",
  "cardPackId": "PACK-REDACTED",
  "cardHolderName": "John Doe",
  "cardIdentifierType": "PRIMARY_CARD",
  "limitConfiguration": [],
  "programName": "Sample Program",
  "externalUniqueId": "uuid-redacted"
}

3. Change Card Status

Update the status of a card.

Request

PUT {baseUrl}/eclipse-conductor/rest/v1/tenants/{tenant_id}/cards/{card_id}

Example Request

{
  "status": "ACTIVE",
  "reason": "FOUND"
}

Common Status Values

  • ACTIVE
  • STOPPED
  • BLOCKED

4. Set or Change Card PIN

Update the PIN for a card.

Request

PUT {baseUrl}/eclipse-conductor/rest/v1/tenants/{tenant_id}/cards/{card_id}

Example Request

{
  "pin": "1234"
}

5. Issue a New Virtual Card

Create a new virtual card linked to a wallet.

Notes

  • walletTypeId must match a card-enabled wallet type configured for the tenant

Request

POST {baseUrl}/eclipse-conductor/rest/v1/tenants/{tenant_id}/wallets/{wallet_id}/cards

Example Request

{
  "externalUniqueId": "uuid-redacted",
  "status": "ACTIVE",
  "walletTypeId": 20000,
  "cardType": "VIRTUAL",
  "operationType": "PRIMARY_CARD",
  "cardRules": {
    "ecommerceTransactionsEnabled": true,
    "internationalTransactionsEnabled": true
  }
}

Example Response

{
  "cardId": 10002,
  "status": "ACTIVE",
  "cardType": "VIRTUAL",
  "externalUniqueId": "uuid-redacted"
}

6. Get Card Transactions (Activities)

Retrieve transaction activity for a card.

Request

GET {baseUrl}/eclipse-conductor/rest/v1/tenants/{tenant_id}/cards/{card_id}/activities?dateFromIncl={ISO_DATE}&dateToExcl={ISO_DATE}&limit={limit}&offset={offset}&dateFilterOn=transactionDate

Notes

  • Dates must be in ISO 8601 format: 2026-03-01T00:00:00.000Z

Example Response

[
  {
    "cardHistoryId": 50001,
    "mti": "0110",
    "transactionType": "00",
    "maskedPan": "123456******7890",
    "responseCode": "00",
    "terminalId": "TERM001",
    "rrn": "123456789012",
    "merchantLocation": "SAMPLE MERCHANT CITY ZA",
    "transactionAmount": 100.00,
    "transactionCurrencyCode": "710",
    "processingCode": "000000",
    "merchantId": "MERCHANT001",
    "transactionDate": "2026-03-20T10:00:00.000Z"
  },
  {
    "cardHistoryId": 50002,
    "mti": "0100",
    "transactionType": "00",
    "maskedPan": "123456******7890",
    "terminalId": "TERM001",
    "rrn": "123456789012",
    "merchantLocation": "SAMPLE MERCHANT CITY ZA",
    "transactionAmount": 100.00,
    "transactionCurrencyCode": "710",
    "processingCode": "000000",
    "merchantId": "MERCHANT001",
    "transactionDate": "2026-03-20T10:00:00.000Z"
  }
]

Error Handling

Typical responses include:

  • 400 – Invalid request
  • 401 – Authentication failure
  • 403 – Permissions error

Example Error Response

[
  {
    "type": "BUSINESS",
    "severity": "LOW",
    "description": "JWT has expired",
    "code": "ARCH014",
    "traceId": "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
    "spanId": "xxxxxxxxxxxxxxxx",
    "environment": "sandbox-environment"
  }
]

Best Practices

  • Always paginate results using limit and offset
  • Use date filters to limit transaction volumes
  • Mask PAN data when displaying to users