1. Cards
Framnex for Developers
  • Introduction
    • Overview
    • Quick Start
    • Authentication
    • Environments
  • Guides
    • Onboard a client
    • Open an account
    • Create an outgoing transfer
    • Handle webhooks
  • Accounts
    • Open account
      POST
    • List accounts
      GET
    • Get account
      GET
  • Auth
    • Get access token
      POST
  • Clients
    • Create client
    • List clients
    • Get client creation schema
    • Get client
    • Get client state
  • Transfers
    • Create transfer
    • List transfers
    • Get transfer
  • Webhooks
    • Register webhook URL
    • Get webhook URL
    • List webhook deliveries
    • Get webhook delivery
    • Retry webhook delivery
  • Cards
    • List card products
      GET
    • List cardholders
      GET
    • Issue card
      POST
    • List cards
      GET
    • Get card
      GET
    • Activate card
      POST
    • Freeze card
      POST
    • Unfreeze card
      POST
    • Close card
      POST
    • Set card limits
      PUT
    • Create encryption envelope
      POST
    • Reveal card details
      POST
    • Set PIN
      PUT
  • Card Transactions
    • List card transactions
    • Get card transaction
  • Exchange Rates
    • Get exchange rate
  • Incoming Transfers
    • Simulate incoming transfer
  • Transfer Documents
    • Download document
    • List documents
    • Upload documents
  • Schemas
    • BaaS API
      • Account
      • AccountCredentials
      • AccountOpenedWebhookPayload
      • AccountOpeningFailedWebhookPayload
      • AccountPagedDataDto
      • AccountState
      • AccountType
      • AchCredentials
      • Address
      • AuthTokenRequest
      • AuthTokenResponse
      • BankDetails
      • BusinessClient
      • BusinessEntity
      • Client
      • CreateBusinessClientRequest
      • ClientCreateType
      • CreateClientRequest
      • ClientCreatedResponse
      • ClientPagedDataDto
      • CreateIndividualClientRequest
      • ClientState
      • ClientStateResponse
      • ClientType
      • ClientsFilter
      • CreateAccountRequest
      • CreateExchangeTransferRequest
      • CreateIncomingTransferRequest
      • CreateOutgoingTransferRequest
      • CredentialsState
      • CreateTransferRequest
      • ExchangeRate
      • CreateTransferType
      • CreatedResponse
      • Credentials
      • CredentialsIssueFailedWebhookPayload
      • CredentialsIssuedWebhookPayload
      • ExchangeTransferProcessingWebhookPayload
      • CryptoCredentials
      • IError
      • CryptoTransferDetails
      • IReason
      • DocumentDto
      • ISuccess
      • EmptyResponse
      • ErrorDetailsDto
      • IdentificationDocument
      • IdentificationDocumentType
      • ExchangeTransfer
      • ExchangeTransferCancelledWebhookPayload
      • ExchangeTransferExecutedWebhookPayload
      • FasterUkCredentials
      • FedWireCredentials
      • ForeignTransferParty
      • GasPaymentWebhookPayload
      • IncomingTransfer
      • IncomingTransferReceivedWebhookPayload
      • OutgoingTransferProcessingWebhookPayload
      • IndividualClient
      • IndividualEntity
      • LegalEntity
      • InternalCredentials
      • Participant
      • LegalEntityType
      • LocalAEDCredentials
      • LocalXafCredentials
      • NeftCredentials
      • Result
      • OnboardingCompletedWebhookPayload
      • OutgoingTransfer
      • RiskLevel
      • OnboardingFailedWebhookPayload
      • OutgoingTransferCancelledWebhookPayload
      • PageInfoDto
      • OutgoingTransferExecutedWebhookPayload
      • TransferPagedDataDto
      • PagedFilterDto
      • PaymentMethod
      • ProblemDetails
      • TransfersFilter
      • PixCredentials
      • RegisterWebhookRequest
      • WebhookDelivery
      • SortOrderDto
      • WebhookDeliveryPagedDataDto
      • SepaCredentials
      • SortDto
      • Transfer
      • WebhookSubscription
      • SwiftCredentials
      • TedPayCredentials
      • WebhooksFilter
      • TransferDetails
      • TransferDetailsType
      • TransferGas
      • TransferState
      • TransferType
      • ValidationProblemDetails
      • UaeFtsCredentials
      • UaeIppCredentials
      • WebhookPayload
      • WebhookState
      • WebhookType
      • YeePayKesLocalCredentials
      • YeePayMxnLocalCredentials
      • YeePayNgnLocalCredentials
    • CardProduct
    • Cardholder
    • IssueCardRequest
    • Card
    • CardType
    • CardState
    • CardPagedDataDto
    • CloseCardRequest
    • SetCardLimitsRequest
    • CardEncryptionEnvelope
    • CardEncryptedDetailsRequest
    • CardEncryptedDetails
    • SetCardPinRequest
    • CardTransaction
    • CardTransactionState
    • CardTransactionPagedDataDto
    • CardNetwork
    • CardIssuanceFee
    • CardShipping
    • CardSpendingLimit
    • CardLimitInterval
    • CardCloseReason
    • CardSecretType
    • CardEncryptedValue
    • CardMerchant
    • CardWebhookType
    • CardWebhookPayload
    • CardIssuedWebhookPayload
    • CardIssuanceFailedWebhookPayload
    • CardStateChangedWebhookPayload
    • CardTransactionAuthorizedWebhookPayload
    • CardTransactionCompletedWebhookPayload
    • CardTransactionReversedWebhookPayload
GuidesBaaS API Reference
Bank Client API Reference
GuidesBaaS API Reference
Bank Client API Reference
  1. Cards

Issue card

POST
/baas/Cards
Early access - contact your account manager to enable card issuing for your platform.
Issues a card to a client. For an individual client, the card is issued to the client itself. For a business client, set cardholderId to one of the persons returned by GET /baas/Clients/{clientId}/cardholders. The client must be active.
type selects the kind of card:
virtual - the card can be used for online payments as soon as it is issued;
physical - the card is also produced and sent to shipping.address, which is required for this type. The cardholder activates the card with POST /baas/Cards/{id}/activate after receiving it.
cardholderName is the name printed on the card. It defaults to the cardholder's first and last name, can contain only Latin letters, spaces, hyphens and apostrophes, and must be the same on all cards of one cardholder. cardName is an optional label that helps you recognize the card; it is not printed on the card.
Cards spend from a card account in the currency of the card product. The first card of a client opens this account, and later cards use the same account. The card account appears in GET /baas/Accounts.
The response contains the card identifier, and the card starts in the issuing state. A virtual card is usually issued within seconds. The outcome is reported with the cardIssued or cardIssuanceFailed webhook; you can also poll GET /baas/Cards/{id}. The issuance fee of the card product is charged after the card is issued.
limits optionally sets spending limits at issuance. They can be changed later with PUT /baas/Cards/{id}/limits.
externalId is your identifier of the card and protects against duplicates: while a card with the same externalId exists and is not rejected, a new request returns 409 Conflict.
Errors: 400 Bad Request for invalid request data; 409 Conflict if the externalId is already used, a card for the same cardholder and card product is already being issued, or cardholderName differs from the name on the cardholder's other cards; 422 Unprocessable Content if the card cannot be issued for any other reason, for example when the card product is not available to the client.

Request

Authorization
JWT Bearer
Add the parameter
Authorization
to Headers
Example:
Authorization: ********************
or
Body Params application/json

Example
{
    "externalId": "card-000123",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "cardProductId": "06776ac8-abe1-475b-92ee-72405c7b0e60",
    "cardholderId": "29de7042-59a4-4af9-acc9-c12b40cdf661",
    "type": "virtual",
    "cardholderName": "ANNA SCHMIDT",
    "cardName": "Marketing subscriptions",
    "shipping": {
        "address": {
            "streetLine1": "string",
            "streetLine2": "string",
            "city": "string",
            "state": "string",
            "zip": "string",
            "country": "string"
        },
        "recipientName": "Anna Schmidt",
        "phoneNumber": "+4930123456789"
    },
    "limits": [
        {
            "amount": 1000,
            "interval": "perAuthorization"
        }
    ]
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location 'https://my.test-1.account.finlego.com/api/child-brand-integration/baas/Cards' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
    "externalId": "card-000123",
    "clientId": "5e505642-9024-474d-9434-e5a44f505cc5",
    "cardProductId": "06776ac8-abe1-475b-92ee-72405c7b0e60",
    "cardholderId": "29de7042-59a4-4af9-acc9-c12b40cdf661",
    "type": "virtual",
    "cardholderName": "ANNA SCHMIDT",
    "cardName": "Marketing subscriptions",
    "shipping": {
        "address": {
            "streetLine1": "string",
            "streetLine2": "string",
            "city": "string",
            "state": "string",
            "zip": "string",
            "country": "string"
        },
        "recipientName": "Anna Schmidt",
        "phoneNumber": "+4930123456789"
    },
    "limits": [
        {
            "amount": 1000,
            "interval": "perAuthorization"
        }
    ]
}'

Responses

🟢200OK
application/json
OK
Bodyapplication/json

Example
{
    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
}
🟠400Bad Request
🟠404Record Not Found
🟠409
🟠422Parameter Error
🔴500Server Error
Modified at 2026-09-29 11:12:37
Previous
List cardholders
Next
List cards
Built with