Ibanera Customer API
Customer Portal
  • Overview
  • Terminology
    • Exchanges of Assets
    • Payees
    • Personal Customers
    • Business Customers
      • Managees
    • Enumerations, Codes and Definitions
      • Source of Funds Types
      • Transfer Purpose Codes Reference
  • Getting Started
    • Access the API
    • API Principal Account
    • Common Response Format
    • First API Call
    • Authentication & Authorization
      • Generating a Time-Based One-Time Password (TOTP) with a Shared Secret
  • API Endpoints
    • Accounts
    • Business Onboarding
    • Cards
    • Crypto Exchanges
    • Foreign Currency Exchange
    • Payees (Beneficiaries)
    • Transfers
    • Transaction Cancellation
    • Managees
    • Information Requests (RFIs)
    • Quick Buy
    • Simulated Testing
  • Callbacks
    • Managee Jumio Completed
    • Cryptocurrency Transfers
    • Exchange Status Updated
    • Fiat Deposit Received
    • Managee Card Approval Updated
    • Managee KYC Updated
    • Transaction Status Updated
    • Information Requests
  • QuickBuy
    • QuickBuy Callback
    • QuickBuy Front End Implementation
    • Validating the Webhook Signature
    • QuickBuy Pro
      • Visual Customization
      • Getting Started / Authentication
      • API Endpoints
        • Create Payment
        • Retrieve Payments
        • Delete Payment
      • Callbacks
        • Payment Captured
        • Cryptocurrency Transferred
Powered by GitBook
On this page
  1. API Endpoints

Cards

PreviousBusiness OnboardingNextCrypto Exchanges

Last updated 9 months ago

Overview

The Cards module in the customer API provides essential functionalities related to the financial cards of the customers. It offers two primary endpoints that facilitate the retrieval of card balances and transaction histories.

Here is an overview of the endpoints available within the Cards module:

1. : Enables users to create a new card for a customer. This is usually the first step in providing a customer with transactional capabilities.

2. : Retrieves a list of all cards issued under the customer's account, offering a consolidated view of the card inventory.

3. - This GET endpoint allows users to retrieve a list of all the cards available on the customer's account, providing details such as card ID, currency, total balance, available balance, and the status of any pending transactions. Users can also obtain information on whether a card is currently enabled or disabled.

4. - A GET request where users can access a detailed list of transactions for a specific card over a defined time period. This endpoint supplies information like transaction ID, card ID, amount, currency, description, transaction date and time, as well as the pending status of the transaction. It is crucial for customers who need to track their spending or review their transaction history for accounting or budgeting purposes.

Together, these endpoints empower customers with the ability to track their financial card activities closely, ensuring they stay informed about their balances and transactions at all times. The module's focus is on giving users full transparency into their financial status, thereby enabling better money management and financial planning.


Create Customer Card

The Create Card endpoint is used to issue a new card to a customer's account. The user must specify the customer's account ID, the currency for the card, and various compliance-related fields such as customer subtype, business activity, occupation, and source of funds. With this information, a new card can be created and linked to the customer's account. Once the card is issued, it's initially suppressed (deactivated) until it's activated by the customer or manager.

  • Endpoint: /api/v1/customer/cards/create

  • Method: POST

  • Request Format: application/json

Request Body Parameters:

  • customersID (Integer): The customer's ID for which the new card will be issued—required.

  • currency (String): The currency to use on the card, e.g., "USD"—required.

  • cardReferenceId (String, Optional): Reference Id of the card that is to be assigned to a customer, required for batch card distribution mode.

Request Example:

{
  "customersId": 11079,
  "currency": "USD",
  "cardReferenceId": "123456",
  "customerSubtype": "0",
  "businessActivityType": "800",
  "occupationType": "50",
  "sourceOfFundsType": "1900"
}

Response Body Parameters:

  • id (Integer): Not used.

  • details (Object):

    • customersId (Integer): The ID of the customer card owner.

    • customersReference (String): The reference given when creating the customer.

    • card (Object):

      • id (Integer): The ID of the new customer card.

      • currency (String): The currency of the customer card.

      • cardNumber (String): Masked card number.

      • totalBalance (Decimal): The total balance on the card.

      • availableBalance (Decimal): The available balance on the card.

      • pendingBalance (Decimal): The sum of all pending transaction amounts.

      • bSuppressed (Boolean): True if the card is deactivated.

  • status (String): The status of the API call.

  • errors (Array): Any error messages.

Success Response Example:

{
  "id": 0,
  "details": {
    "customersId": 11057,
    "customersReference": "34233rqcpomrkvqd",
    "card": {
      "id": 1005,
      "currency": "USD",
      "cardNumber": "XXXX XXXX XXXX 6451",
      "totalBalance": 0.00,
      "availableBalance": 0.00,
      "pendingBalance": 0.00,
      "bSuppressed": true
    }
  },
  "status": "1",
  "errors": []
}

Get Customer Cards

Retrieves a list of card details for a given customer.

The "Get Customer Cards" feature is a way for users to view all the cards and card details associated with their customers. This list provides essential information such as the card's balance, pending transactions, and whether the card is currently active or disabled. This is particularly helpful for keeping an overview of all customer activity and ensuring that their cards are properly managed.

  • Endpoint: /api/v1/customer/cards/byuser

  • Method: GET

Query Parameters:

  • customersId(Integer, Optional): The customer's ID for which the card details will be retrieved.

Request Example:

To request the list of managed cards using pagination:

GET /api/v1/customer/cards/byuser?customersId=11057

Response Body Parameters:

  • id (Integer): Not used.

  • details (Array of Objects):

    • customersId (Integer): ID of the customer.

    • customersReference (String): The customer reference used when creating the customer.

    • cards (Array of Objects):

      • id (Integer): ID of the customer's card.

      • currency (String): Currency of the card.

      • totalBalance (Decimal): Total balance on the card.

      • availableBalance (Decimal): The available balance on the card.

      • pendingBalance (Decimal): Sum of all pending transaction amounts.

      • bSuppressed (Boolean): True if use of this card is disabled.

Success Response Example:

{
  "id": 0,
  "details": [
    {
      "customersId": 0,
      "customersReference": "string",
      "cards": [
        {
          "id": 0,
          "currency": "usd",
          "totalBalance": 0,
          "availableBalance": 0,
          "pendingBalance": 0,
          "bSuppressed": true
        }
      ]
    }
  ],
  "pageSize": 10,
  "pageNumber": 1,
  "status": "1",
  "errors": []
}

Get Card Balances

Allows customers to retrieve a summary of their card balances, which can be useful for managing and topping up cards associated with the customer’s account. This feature helps customers see what funds they have available, what is pending, and if any cards are not in use. It's beneficial for keeping track of finances and planning for top-ups or other card management actions.

  • Endpoint: /api/v1/customer/cards/balances

  • Method: GET

Query Parameters:

  • pageNumber (Integer): Specifies the page number of the results.

  • pageSize (Integer): Specifies the number of results per page.

Request Example:

GET /api/v1/customer/cards/balances?pageNumber=1&pageSize=10

Response Body Parameters:

  • id (Integer): A placeholder ID not actively used in the response.

  • details (Array):

    • id (Integer): The unique identifier for the card.

    • cardNumber (String): The masked number of the card.

    • currency (String): The currency code for the balance on the card.

    • totalBalance (Decimal): The total balance amount on the card.

    • availableBalance (Decimal): The available balance amount for use.

    • pendingBalance (Decimal): The total amount of pending transactions that are yet to be finalized.

    • bSuppressed (Boolean): Indicates whether the card is currently active or suppressed (deactivated).

Success Response Example:

{
  "id": 0,
  "details": [
    {
      "id": 1016,
      "cardNumber": "XXXX XXXX XXXX 9467",
      "currency": "USD",
      "totalBalance": 91.57,
      "availableBalance": 91.57,
      "pendingBalance": 0.00,
      "bSuppressed": false
    }
  ],
  "pageSize": 10,
  "pageNumber": 1,
  "status": "1",
  "errors": []
}

Get Card Transactions

The Get Transactions function is a convenient tool for customers to retrieve a detailed list of transactions associated with a particular manager card. They can see a history of when and how much was spent or deposited, including pending transactions that haven't yet cleared. This helps customers track their spending and manage their finances more effectively.

  • Endpoint: /api/v1/customer/cards/transactions

  • Method: GET

Query Parameters:

  • cardsId (Integer, Optional): The ID of the manager card to filter transactions by.

  • fromDate (ISO 8601 UTC date, Optional): The start date for transaction filtering.

  • toDate (ISO 8601 UTC date, Optional): The end date for transaction filtering.

  • pageNumber (Integer, Optional): The page of results to return.

  • pageSize (Integer, Optional): The maximum number of results to return per page.

Request Example:

To request transactions for a specific card between two dates:

GET /api/v1/customer/cards/transactions?cardsId=1000&fromDate=2022-01-01&toDate=2022-01-31&pageNumber=1&pageSize=10

Response Body Parameters:

  • id (Integer): A placeholder ID not actively used in the response.

  • details (Array of Objects): Details of each transaction.

    • id (Integer): Transaction ID.

    • cardsId (Integer): Associated manager card ID.

    • amount (Decimal): Transaction amount.

    • currency (String): Transaction currency.

    • description (String): Transaction description.

    • dateTime (ISO 8601 date): The date and time of the transaction.

    • bPending (Boolean): Indicates whether the transaction is still pending.

  • pageSize (Integer): The page size of the result set.

  • pageNumber (Integer): The current page number of the result set.

  • numberOfPages (Integer): The total number of available pages.

  • status (String): Status of the API call.

  • errors (Array): Any error messages.

Success Response Example:

{
  "id": 1000,
  "details": [
    {
      "id": 1000,
      "cardsId": 1000,
      "amount": 3.00,
      "currency": "USD",
      "description": "Transaction description",
      "dateTime": "2022-01-01T01:02:03.000+00:00",
      "bPending": false
    },
    {
      "id": 1001,
      "cardsId": 1000,
      "amount": 100.00,
      "currency": "USD",
      "description": "Transaction description",
      "dateTime": "2022-01-01T01:02:03.000+00:00",
      "bPending": false
    }
  ],
  "pageSize": 2,
  "pageNumber": 1,
  "numberOfPages": 5,
  "status": "1",
  "errors": []
}

Activate Card

Activate a card to enable it for transactions. This endpoint can be called at any time but for physical cards is intended to be called after receipt of the physical card. A card can subsequently be deactivated, but must be active to participate in transactions.

  • Endpoint: /api/v1/customer/cards/activate

  • Method: POST

Example JSON Request

{
  "cardsId": 1001
}

Deactivate Card

Deactivate a card that was previously activated. A deactivated card can no longer participate in transactions. Deactivating a card will void pending transactions against it. The card may subsequently be activated.

  • Endpoint: /api/v1/customer/cards/deactivate

  • Method: POST

Example JSON Request

{
  "cardsId": 1001
}

Get Customer Cards

List cards for all managed customers

  • Endpoint: /api/v1/customer/cards/byuser/list

  • Method: GET

Query Parameters:

  • pageNumber (Integer, Optional): The page of results to return.

  • pageSize (Integer, Optional): The maximum number of results to return per page.


Move Funds to Card

  • Endpoint: /api/v1/customer/cards/movefunds

  • Method: POST

Example Request Body

{
  "fromCardsId": 1001,
  "toCardsId": 1002,
  "amount": 10
}

More information coming soon..


List Requested Cards

Get a list of cards requested by managed users requiring approval

  • Endpoint: /api/v1/customer/cards/listrequested

  • Method: GET

Query Parameters:

  • CustomerId: filter requested cards by CustomerId

  • FromDate: filter requested cards by creation date

  • ToDate: filter requested cards by creation date

  • PageNumber: list page number (default = 1)

  • PageSize: list page size (default = 10)


Get Compliance Fields

Get enumeration values that are required under some card programs to create a card. If the returned arrays are empty, then the field is not required for the customer's card program.

  • Endpoint: /api/v1/customer/cards/compliancefields

  • Method: GET

Query Parameters:

  • None

Response Body Parameters:

  • id (Integer): A placeholder ID not actively used in the response.

  • details (Object):

      • Label (string) The descriptive name of the value

      • Value (string) The value that represents this option

      • Label (string) The descriptive name of the value

      • Value (string) The value that represents this option

      • Label (string) The descriptive name of the value

      • Value (string) The value that represents this option

      • Label (string) The descriptive name of the value

      • Value (string) The value that represents this option

Success Response Example:

{
  "id": 1000,
  "details": {
    "customerSubtypes" : [
      {
        "label" : "Business owner",
        "value" : "1"
      },
      {
        "label" : "Employee with fixed salary",
        "value" : "6"
      },
      {
        "label" : "Unemployed",
        "value" : "10"
      }
    ],
    "businessActivities" : [
      {
        "label" : "Custom computer programming services",
        "value" : "1119"
      },
      {
        "label" : "Miscellaneous financial investment activities",
        "value" : "1422"
      },
      {
        "label" : "Others",
        "value" : "878"
      }
    ],
    "occupations" : [
      {
        "label" : "Accountants and auditors",
        "value" : "70"
      },
      {
        "label" : "Software developers",
        "value" : "95"
      },
      {
        "label" : "Others",
        "value" : "11"
      }
    ],
    "sourcesOfFunds " : [
      {
        "label" : "Business earnings",
        "value" : "70"
      },
      {
        "label" : "Employment salaried",
        "value" : "1950"
      },
      {
        "label" : "Others",
        "value" : "1946"
      }
    ] 
  }
    
}

customerSubtype (String): Values returned from . If no values returned, field is not required and will be ignored, else required. Defined under .

businessActivityType (String): Values returned from . If no values returned, field is not required and will be ignored, else required. Defined under .

occupationType (String): Values returned from . If no values returned, field is not required and will be ignored, else required. Defined under .

sourceOfFundsType (String): Values returned from . If no values returned, field is not required and will be ignored, else required. Defined under .

customerSubtypes (Array of Objects): Description of the employment situation of the card holder. Otherwise defined by .

businessActivities(Array of Objects): The primary trade or other activity of the card holder's employer, or otherwise the entity requesting the card. Otherwise defined by .

occupations(Array of Objects): The card holder's occupation. Otherwise defined by .

sourcesOfFunds (Array of Objects): The source of funds that will be used to top up the card. Otherwise defined by .

Customer Subtypes
Business Activity Types
Occupation Types
Source Of Funds Types
Customer Subtypes
/api/v1/customer/cards/compliancefields
Business Activity Types
/api/v1/customer/cards/compliancefields
Occupation Types
/api/v1/customer/cards/compliancefields
Source of Funds Types
/api/v1/customer/cards/compliancefields
Create Customer Card
Get Customer Cards
Get Card Balances
Get Card Transactions

Get cards balances

get

Response:

Array of

  • Id: Card Id
  • Currency: Card currency
  • TotalBalance: Card total balance
  • AvailableBalance: Available card balance
  • PendingBalance: Sum of all pending transaction amounts
Authorizations
Query parameters
PageNumberinteger · int32Optional
PageSizeinteger · int32Optional
Header parameters
otpstringRequired

One time pass for the request

Responses
200
Success
application/json
400
Bad Request
application/json
get
GET /api/v1/customer/cards/balances HTTP/1.1
Host: public-api.ibanera.com
Authorization: YOUR_API_KEY
otp: text
Accept: */*
{
  "status": "text",
  "errors": [
    {
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": [
    {
      "id": 1,
      "cardNumber": "text",
      "currency": "text",
      "totalBalance": 1,
      "availableBalance": 1,
      "pendingBalance": 1,
      "bSuppressed": true
    }
  ],
  "pageSize": 1,
  "pageNumber": 1,
  "numberOfPages": 1
}

List of manager card transactions

get

Request query parameters:

  • CardsId: filter transactions by CardsId
  • FromDate: filter transactions by from date
  • ToDate: filter transactions by to date
  • PageNumber: list page number (default = 1)
  • PageSize: list page size (default = 10)

Possible validation errors:

  • Invalid: provided parameter invalid
Authorizations
Query parameters
CardsIdinteger · int32 | nullableOptional
FromDatestring · date-time | nullableOptional
ToDatestring · date-time | nullableOptional
PageNumberinteger · int32Optional
PageSizeinteger · int32Optional
Header parameters
otpstringRequired

One time pass for the request

Responses
200
Success
application/json
400
Bad Request
application/json
get
GET /api/v1/customer/cards/transactions HTTP/1.1
Host: public-api.ibanera.com
Authorization: YOUR_API_KEY
otp: text
Accept: */*
{
  "status": "text",
  "errors": [
    {
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": [
    {
      "id": 1,
      "cardsId": 1,
      "amount": 1,
      "currency": "text",
      "description": "text",
      "dateTime": "2025-05-17T10:23:10.887Z",
      "bPending": true
    }
  ],
  "pageSize": 1,
  "pageNumber": 1,
  "numberOfPages": 1
}

Get single customer

get

Request query parameters:

  • CustomersId: Customer Id

Response:

  • CustomersId: Customer Id
  • CustomersReference: Customer reference used when creating customer
  • Cards: Array of cards owned by the customer
    • Id: Card Id
    • Currency: Card currency
    • TotalBalance: Card total balance
    • AvailableBalance: Available card balance
    • PendingBalance: Sum of all pending transaction amounts
    • bSuppressed: boolean indicating whether a card is deactivated

Possible validation errors:

  • Required: Customer Id missing
  • Invalid: Customer Id invalid
Authorizations
Query parameters
CustomersIdinteger · int32 | nullableOptional
Header parameters
otpstringRequired

One time pass for the request

Responses
200
Success
application/json
400
Bad Request
application/json
get

Create a top up card for customer

post

Request body parameters:

  • CustomersId
  • Currency: card currency
  • CardReferenceId: card reference Id (required for batch card programs)
  • CustomerSubtype: Enumeration value. Specifies employment situation of card holder
  • BusinessActivityType: Enumeration value. Specifies business activity of organization requesting the card
  • OccupationType: Enumeration value. Specifies the occupation of card holder
  • SourceOfFundsType: Enumeration value. Specifies the source of funds that will be used to top up the card

Response:

  • CustomersId
  • CustomersReference
  • cards: newly created card object
  • Id: Card Id
  • Currency: Card currency
  • TotalBalance: Card total balance
  • AvailableBalance: Available card balance
  • PendingBalance: Sum of all pending transaction amounts
  • bSuppressed: boolean indicating whether a card is deactivated

Possible validation errors:

  • Required: Required field is missing
  • Invalid: Provided field value is invalid
  • Card_Limit_Reached: customer reached card limit
  • Document_Images_Missing: missing KYC documents for customer
  • Document_Invalid_Type: KYC document invalid type
  • Cannot_Create_Cardholder: unable to create cardholder due to an internal error
Authorizations
Header parameters
otpstringRequired

One time pass for the request

Body
customersIdinteger · int32Required
currencystringRequired
cardReferenceIdstring | nullableOptional
customerSubtypeinteger · enumRequiredPossible values:
businessActivityTypeinteger · enumRequiredPossible values:
occupationTypeinteger · enumRequiredPossible values:
sourceOfFundsTypeinteger · enumRequiredPossible values:
Responses
200
Success
application/json
400
Bad Request
application/json
post
POST /api/v1/customer/cards/create HTTP/1.1
Host: public-api.ibanera.com
Authorization: YOUR_API_KEY
otp: text
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 152

{
  "customersId": 1,
  "currency": "text",
  "cardReferenceId": "text",
  "customerSubtype": 1,
  "businessActivityType": 878,
  "occupationType": 11,
  "sourceOfFundsType": 1936
}
{
  "status": "text",
  "errors": [
    {
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": {
    "status": "text",
    "errors": [
      {
        "fieldName": "text",
        "messageCode": "text"
      }
    ],
    "id": 1,
    "details": {
      "customersId": 1,
      "customersReference": "text",
      "card": {
        "id": 1,
        "currency": "text",
        "cardNumber": "text",
        "totalBalance": 1,
        "availableBalance": 1,
        "pendingBalance": 1,
        "bSuppressed": true
      },
      "notificationData": {
        "customerAssetAccountsId": 1,
        "topUpCardsId": 1,
        "siteUsersDetails": [
          {
            "siteUsersId": 1,
            "customerAssetAccounts": [
              {
                "customerAssetAccountsId": 1,
                "assetClass": 0,
                "treatAsAccount": true,
                "assetAccountType": 0,
                "elementType": 0,
                "customerAssetAccountsTransactionsId": 1,
                "amount": 1,
                "bPending": true,
                "bReserved": true,
                "bFrozen": true,
                "bVoid": true,
                "guid": "text",
                "topUpCardsId": 1,
                "moneyFlowDirection": 0,
                "bNewTransaction": true,
                "bAmountUpdated": true,
                "bPendingUpdated": true,
                "bPriceUpdated": true,
                "bFrozenUpdated": true,
                "bFeeUpdated": true,
                "bNewAssetAccount": true,
                "bDeposit": true,
                "bNewlyVoided": true,
                "bAccessElementsUpdated": true,
                "bBuyExchangeCompleted": true,
                "bSellExchangeCompleted": true,
                "assetCode": "text",
                "accountName": "text",
                "bExchangeCompleted": true,
                "exchangePrice": 1,
                "exchangeAmount": 1,
                "exchangeAssetCode": "text",
                "exchangePairedAssetCode": "text",
                "exchangeAssetClass": 0,
                "exchangePairedAssetClass": 0
              }
            ],
            "notifications": [
              "text"
            ],
            "firstName": "text",
            "emailAddress": "text",
            "phoneNumber": "text",
            "cultureInfo": "text",
            "domain": "text"
          }
        ]
      },
      "setNotificationData": {
        "customerAssetAccountsId": 1,
        "topUpCardsId": 1,
        "siteUsersDetails": [
          {
            "siteUsersId": 1,
            "customerAssetAccounts": [
              {
                "customerAssetAccountsId": 1,
                "assetClass": 0,
                "treatAsAccount": true,
                "assetAccountType": 0,
                "elementType": 0,
                "customerAssetAccountsTransactionsId": 1,
                "amount": 1,
                "bPending": true,
                "bReserved": true,
                "bFrozen": true,
                "bVoid": true,
                "guid": "text",
                "topUpCardsId": 1,
                "moneyFlowDirection": 0,
                "bNewTransaction": true,
                "bAmountUpdated": true,
                "bPendingUpdated": true,
                "bPriceUpdated": true,
                "bFrozenUpdated": true,
                "bFeeUpdated": true,
                "bNewAssetAccount": true,
                "bDeposit": true,
                "bNewlyVoided": true,
                "bAccessElementsUpdated": true,
                "bBuyExchangeCompleted": true,
                "bSellExchangeCompleted": true,
                "assetCode": "text",
                "accountName": "text",
                "bExchangeCompleted": true,
                "exchangePrice": 1,
                "exchangeAmount": 1,
                "exchangeAssetCode": "text",
                "exchangePairedAssetCode": "text",
                "exchangeAssetClass": 0,
                "exchangePairedAssetClass": 0
              }
            ],
            "notifications": [
              "text"
            ],
            "firstName": "text",
            "emailAddress": "text",
            "phoneNumber": "text",
            "cultureInfo": "text",
            "domain": "text"
          }
        ]
      },
      "newCardCallbackDbDetails": [
        {
          "customerApiPrincipalUsersId": 1,
          "webhookCallbackUrl": "text",
          "hashSecret": "text"
        }
      ]
    }
  }
}
GET /api/v1/customer/cards/byuser HTTP/1.1
Host: public-api.ibanera.com
Authorization: YOUR_API_KEY
otp: text
Accept: */*
{
  "status": "text",
  "errors": [
    {
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": {
    "customersId": 1,
    "customersReference": "text",
    "cards": [
      {
        "id": 1,
        "currency": "text",
        "cardNumber": "text",
        "totalBalance": 1,
        "availableBalance": 1,
        "pendingBalance": 1,
        "bSuppressed": true
      }
    ]
  }
}

Get all customers

get

Response:

Array of

  • Id: Customer Id
  • Reference: Customer reference used when creating customer
  • Cards: Array of cards owned by the customer
    • Id: Card Id
    • Currency: Card currency
    • TotalBalance: Card total balance
    • AvailableBalance: Available card balance
    • PendingBalance: Sum of all pending transaction amounts
    • bSuppressed: boolean indicating whether a card is deactivated
Authorizations
Query parameters
PageNumberinteger · int32Optional
PageSizeinteger · int32Optional
Header parameters
otpstringRequired

One time pass for the request

Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /api/v1/customer/cards/byuser/list HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
otp: text
Accept: */*
{
  "status": "text",
  "errors": [
    {
      "errorType": "text",
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": [
    {
      "customersId": 1,
      "customersReference": "text",
      "cards": [
        {
          "id": 1,
          "currency": "text",
          "cardNumber": "text",
          "totalBalance": 1,
          "availableBalance": 1,
          "pendingBalance": 1,
          "bSuppressed": true
        }
      ]
    }
  ],
  "pageSize": 1,
  "pageNumber": 1,
  "numberOfPages": 1
}

List of requested cards

get

Request query parameters:

  • CustomerId: filter requested cards by CustomerId
  • FromDate: filter requested cards by creation date
  • ToDate: filter requested cards by creation date
  • PageNumber: list page number (default = 1)
  • PageSize: list page size (default = 10)

Possible validation errors:

  • Invalid: provided parameter invalid
Authorizations
Query parameters
CustomersIdinteger · int32Optional
FromDatestring · date-timeOptional
ToDatestring · date-timeOptional
PageNumberinteger · int32Optional
PageSizeinteger · int32Optional
Header parameters
otpstringRequired

One time pass for the request

Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /api/v1/customer/cards/listrequested HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
otp: text
Accept: */*
{
  "status": "text",
  "errors": [
    {
      "errorType": "text",
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": [
    {
      "id": 1,
      "customersId": 1,
      "status": "text",
      "currency": "text",
      "dateTime": "2025-05-17T10:23:10.887Z"
    }
  ],
  "pageSize": 1,
  "pageNumber": 1,
  "numberOfPages": 1
}

Get lists of available compliance fields and their associated id codes

get

Response:

  • CustomerSubtypes: Array of customer types
    • Label: Description of the option
    • Value: Value that should be passed to relevant API endpoints to select this option
  • BusinessActivities: Array of customer business activities
    • Label: Description of the option
    • Value: Value that should be passed to relevant API endpoints to select this option
  • Occupations: Array of customer occupations
    • Label: Description of the option
    • Value: Value that should be passed to relevant API endpoints to select this option
  • SourcesOfFunds: Array of payment types
    • Label: Description of the option
    • Value: Value that should be passed to relevant API endpoints to select this option
Authorizations
Header parameters
otpstringRequired

One time pass for the request

Responses
200
OK
application/json
400
Bad Request
application/json
get
GET /api/v1/customer/cards/compliancefields HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
otp: text
Accept: */*
{
  "status": "text",
  "errors": [
    {
      "errorType": "text",
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": {
    "customerSubtypes": [
      {
        "label": "text",
        "value": "text"
      }
    ],
    "businessActivities": [
      {
        "label": "text",
        "value": "text"
      }
    ],
    "occupations": [
      {
        "label": "text",
        "value": "text"
      }
    ],
    "sourcesOfFunds": [
      {
        "label": "text",
        "value": "text"
      }
    ]
  }
}
  • Overview
  • Create Customer Card
  • POSTCreate a top up card for customer
  • Get Customer Cards
  • GETGet single customer
  • Get Card Balances
  • GETGet cards balances
  • Get Card Transactions
  • GETList of manager card transactions
  • Activate Card
  • POSTActivate card
  • Deactivate Card
  • POSTDeactivate card
  • Get Customer Cards
  • GETGet all customers
  • Move Funds to Card
  • POSTMove funds to and from managee's card
  • List Requested Cards
  • GETList of requested cards
  • Get Compliance Fields
  • GETGet lists of available compliance fields and their associated id codes

Activate card

post

Request body parameters:

  • CardsId

Possible validation errors:

  • Required
  • Invalid
  • Card_Active
  • Card_Provider_Error (500)
Authorizations
Header parameters
otpstringRequired

One time pass for the request

Body
cardsIdinteger · int32 | nullableOptional
Responses
200
OK
application/json
400
Bad Request
application/json
post
POST /api/v1/customer/cards/activate HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
otp: text
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 13

{
  "cardsId": 1
}
{
  "status": "text",
  "errors": [
    {
      "errorType": "text",
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": {
    "customersId": 1,
    "customerReference": "text",
    "card": {
      "id": 1,
      "cardNumber": "text",
      "currency": "text",
      "totalBalance": 1,
      "availableBalance": 1,
      "pendingBalance": 1,
      "bSuppressed": true
    },
    "notificationDetails": {
      "siteUsersDetails": [
        {
          "siteUsersId": 1,
          "customerAssetAccounts": [
            {
              "customerAssetAccountsId": 1,
              "assetClass": 0,
              "treatAsAccount": true,
              "assetAccountType": 0,
              "elementType": 0,
              "customerAssetAccountsTransactionsId": 1,
              "amount": 1,
              "bPending": true,
              "bReserved": true,
              "bFrozen": true,
              "bVoid": true,
              "guid": "text",
              "topUpCardsId": 1,
              "moneyFlowDirection": 0,
              "bNewTransaction": true,
              "bAmountUpdated": true,
              "bPendingUpdated": true,
              "bPriceUpdated": true,
              "bFrozenUpdated": true,
              "bFeeUpdated": true,
              "bNewAssetAccount": true,
              "bDeposit": true,
              "bNewlyVoided": true,
              "bAccessElementsUpdated": true,
              "bBuyExchangeCompleted": true,
              "bSellExchangeCompleted": true,
              "assetCode": "text",
              "accountName": "text",
              "bExchangeCompleted": true,
              "exchangePrice": 1,
              "exchangeAmount": 1,
              "exchangeAssetCode": "text",
              "exchangePairedAssetCode": "text",
              "exchangeAssetClass": 0,
              "exchangePairedAssetClass": 0
            }
          ],
          "notifications": [
            "text"
          ],
          "firstName": "text",
          "emailAddress": "text",
          "phoneNumber": "text",
          "cultureInfo": "text",
          "domain": "text"
        }
      ]
    },
    "setNotificationDetails": {
      "siteUsersDetails": [
        {
          "siteUsersId": 1,
          "customerAssetAccounts": [
            {
              "customerAssetAccountsId": 1,
              "assetClass": 0,
              "treatAsAccount": true,
              "assetAccountType": 0,
              "elementType": 0,
              "customerAssetAccountsTransactionsId": 1,
              "amount": 1,
              "bPending": true,
              "bReserved": true,
              "bFrozen": true,
              "bVoid": true,
              "guid": "text",
              "topUpCardsId": 1,
              "moneyFlowDirection": 0,
              "bNewTransaction": true,
              "bAmountUpdated": true,
              "bPendingUpdated": true,
              "bPriceUpdated": true,
              "bFrozenUpdated": true,
              "bFeeUpdated": true,
              "bNewAssetAccount": true,
              "bDeposit": true,
              "bNewlyVoided": true,
              "bAccessElementsUpdated": true,
              "bBuyExchangeCompleted": true,
              "bSellExchangeCompleted": true,
              "assetCode": "text",
              "accountName": "text",
              "bExchangeCompleted": true,
              "exchangePrice": 1,
              "exchangeAmount": 1,
              "exchangeAssetCode": "text",
              "exchangePairedAssetCode": "text",
              "exchangeAssetClass": 0,
              "exchangePairedAssetClass": 0
            }
          ],
          "notifications": [
            "text"
          ],
          "firstName": "text",
          "emailAddress": "text",
          "phoneNumber": "text",
          "cultureInfo": "text",
          "domain": "text"
        }
      ]
    }
  }
}

Deactivate card

post

Request body parameters:

  • CardsId

Possible validation errors:

  • Required
  • Invalid
  • Card_Inactive
  • Card_Provider_Error (500)
Authorizations
Header parameters
otpstringRequired

One time pass for the request

Body
cardsIdinteger · int32 | nullableOptional
Responses
200
OK
application/json
400
Bad Request
application/json
post
POST /api/v1/customer/cards/deactivate HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
otp: text
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 13

{
  "cardsId": 1
}
{
  "status": "text",
  "errors": [
    {
      "errorType": "text",
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": {
    "customersId": 1,
    "customerReference": "text",
    "card": {
      "id": 1,
      "cardNumber": "text",
      "currency": "text",
      "totalBalance": 1,
      "availableBalance": 1,
      "pendingBalance": 1,
      "bSuppressed": true
    },
    "notificationDetails": {
      "siteUsersDetails": [
        {
          "siteUsersId": 1,
          "customerAssetAccounts": [
            {
              "customerAssetAccountsId": 1,
              "assetClass": 0,
              "treatAsAccount": true,
              "assetAccountType": 0,
              "elementType": 0,
              "customerAssetAccountsTransactionsId": 1,
              "amount": 1,
              "bPending": true,
              "bReserved": true,
              "bFrozen": true,
              "bVoid": true,
              "guid": "text",
              "topUpCardsId": 1,
              "moneyFlowDirection": 0,
              "bNewTransaction": true,
              "bAmountUpdated": true,
              "bPendingUpdated": true,
              "bPriceUpdated": true,
              "bFrozenUpdated": true,
              "bFeeUpdated": true,
              "bNewAssetAccount": true,
              "bDeposit": true,
              "bNewlyVoided": true,
              "bAccessElementsUpdated": true,
              "bBuyExchangeCompleted": true,
              "bSellExchangeCompleted": true,
              "assetCode": "text",
              "accountName": "text",
              "bExchangeCompleted": true,
              "exchangePrice": 1,
              "exchangeAmount": 1,
              "exchangeAssetCode": "text",
              "exchangePairedAssetCode": "text",
              "exchangeAssetClass": 0,
              "exchangePairedAssetClass": 0
            }
          ],
          "notifications": [
            "text"
          ],
          "firstName": "text",
          "emailAddress": "text",
          "phoneNumber": "text",
          "cultureInfo": "text",
          "domain": "text"
        }
      ]
    },
    "setNotificationDetails": {
      "siteUsersDetails": [
        {
          "siteUsersId": 1,
          "customerAssetAccounts": [
            {
              "customerAssetAccountsId": 1,
              "assetClass": 0,
              "treatAsAccount": true,
              "assetAccountType": 0,
              "elementType": 0,
              "customerAssetAccountsTransactionsId": 1,
              "amount": 1,
              "bPending": true,
              "bReserved": true,
              "bFrozen": true,
              "bVoid": true,
              "guid": "text",
              "topUpCardsId": 1,
              "moneyFlowDirection": 0,
              "bNewTransaction": true,
              "bAmountUpdated": true,
              "bPendingUpdated": true,
              "bPriceUpdated": true,
              "bFrozenUpdated": true,
              "bFeeUpdated": true,
              "bNewAssetAccount": true,
              "bDeposit": true,
              "bNewlyVoided": true,
              "bAccessElementsUpdated": true,
              "bBuyExchangeCompleted": true,
              "bSellExchangeCompleted": true,
              "assetCode": "text",
              "accountName": "text",
              "bExchangeCompleted": true,
              "exchangePrice": 1,
              "exchangeAmount": 1,
              "exchangeAssetCode": "text",
              "exchangePairedAssetCode": "text",
              "exchangeAssetClass": 0,
              "exchangePairedAssetClass": 0
            }
          ],
          "notifications": [
            "text"
          ],
          "firstName": "text",
          "emailAddress": "text",
          "phoneNumber": "text",
          "cultureInfo": "text",
          "domain": "text"
        }
      ]
    }
  }
}

Move funds to and from managee's card

post

Request body parameters:

  • FromCardsId
  • ToCardsId
  • Amount

Possible validation errors:

  • Required: Required field is missing
  • Invalid: Provided field value is invalid
  • Amout_Less_Than_Fee: Amount submitted is less than transaction fee
  • Insufficient_Funds: Insufficient manager card balance for transaction
  • ShareFunds_Failed: Unable to transfer funds due to an internal error
Authorizations
Header parameters
otpstringRequired

One time pass for the request

Body
fromCardsIdinteger · int32Required
toCardsIdinteger · int32Required
amountnumber · doubleRequired
Responses
200
OK
application/json
400
Bad Request
application/json
post
POST /api/v1/customer/cards/movefunds HTTP/1.1
Host: 
Authorization: YOUR_API_KEY
otp: text
Content-Type: application/json-patch+json
Accept: */*
Content-Length: 42

{
  "fromCardsId": 1,
  "toCardsId": 1,
  "amount": 1
}
{
  "status": "text",
  "errors": [
    {
      "errorType": "text",
      "fieldName": "text",
      "messageCode": "text"
    }
  ],
  "id": 1,
  "details": {
    "status": "text",
    "errors": [
      {
        "errorType": "text",
        "fieldName": "text",
        "messageCode": "text"
      }
    ],
    "id": 1,
    "details": {
      "customersId": 1,
      "customerReference": "text",
      "card": {
        "id": 1,
        "currency": "text",
        "cardNumber": "text",
        "totalBalance": 1,
        "availableBalance": 1,
        "pendingBalance": 1,
        "bSuppressed": true
      }
    }
  }
}