1. Introduction
Framnex for Developers
  • Introduction
    • Overview
    • Quick Start
    • Authentication
    • Environments
  • Guides
    • Create an outgoing transfer
    • Handle webhooks
    • Transfer documents
  • Bulk Payouts
    • Upload bulk payout
      POST
    • List bulk payouts
      GET
    • Get bulk payout
      GET
    • List bulk payout items
      GET
    • Submit bulk payout
      POST
    • Cancel bulk payout
      POST
  • 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
  • Accounts
    • Get account
    • List accounts
  • Auth
    • Get access token
  • Exchange Rates
    • Get exchange rate
  • Transfer Documents
    • Download document
    • List documents
    • Upload documents
  • Transfers
    • Create transfer
    • List transfers
    • Get transfer
  • Webhooks
    • Register webhook URL
    • Get webhook URL
    • List webhook deliveries
    • Get webhook delivery
    • Retry webhook delivery
  • Schemas
    • BankClientAPI
      • Account
      • AccountCredentials
      • AccountState
      • AccountType
      • AchCredentials
      • Address
      • BankDetails
      • BusinessEntity
      • ClientIntegrationAuthRequest
      • ClientIntegrationAuthResponse
      • ClientIntegrationErrorResponse
      • CreateExchangeTransferRequest
      • CreateOutgoingTransferRequest
      • CreateTransferRequest
      • CreateTransferType
      • CreatedResponse
      • Credentials
      • CredentialsState
      • CryptoCredentials
      • CryptoTransferDetails
      • CustomerTransferStateDto
      • ExchangeRate
      • DocumentDto
      • ExchangeTransferCancelledWebhookPayload
      • ExchangeTransfer
      • ExchangeTransferExecutedWebhookPayload
      • FasterUkCredentials
      • FedWireCredentials
      • IError
      • GasPaymentWebhookPayload
      • IReason
      • IncomingTransfer
      • LegalEntityType
      • ISuccess
      • IndividualEntity
      • IncomingTransferReceivedWebhookPayload
      • InternalCredentials
      • InternalServerError
      • OperationTypeDto
      • LegalEntity
      • LocalAEDCredentials
      • LocalXafCredentials
      • NeftCredentials
      • OutgoingTransfer
      • OutgoingTransferCancelledWebhookPayload
      • PageInfoDto
      • Participant
      • PaymentMethod
      • OutgoingTransferExecutedWebhookPayload
      • PagedFilterDto
      • TransferGas
      • PaymentSystem
      • TransferPagedDataDto
      • PixCredentials
      • TransferState
      • TransferType
      • ProblemDetails
      • TransferTypeDto
      • SepaCredentials
      • RegisterWebhookRequest
      • SortOrderDto
      • Result
      • SwiftCredentials
      • TedPayCredentials
      • Transfer
      • TransferDetails
      • TransferDetailsType
      • UaeFtsCredentials
      • UaeIppCredentials
      • ValidationProblemDetails
      • WebhookDelivery
      • WebhookDeliveryPagedDataDto
      • WebhookPayload
      • WebhookState
      • WebhookSubscription
      • WebhookType
      • YeePayKesLocalCredentials
      • YeePayMxnLocalCredentials
      • YeePayNgnLocalCredentials
    • BulkPayout
    • CardProduct
    • BulkPayoutState
    • Cardholder
    • BulkPayoutItemState
    • IssueCardRequest
    • BulkPayoutPagedDataDto
    • Card
    • BulkPayoutItemPagedDataDto
    • CardType
    • CardState
    • CardPagedDataDto
    • CloseCardRequest
    • SetCardLimitsRequest
    • CardEncryptionEnvelope
    • CardEncryptedDetailsRequest
    • CardEncryptedDetails
    • BulkPayoutFileFormat
    • SetCardPinRequest
    • BulkPayoutItemCounts
    • CardTransaction
    • CardTransactionState
    • BulkPayoutItem
    • CardTransactionPagedDataDto
    • CardNetwork
    • CardIssuanceFee
    • CardShipping
    • CardSpendingLimit
    • CardLimitInterval
    • CardCloseReason
    • CardSecretType
    • CardEncryptedValue
    • CardMerchant
    • CardWebhookType
    • CardWebhookPayload
    • CardIssuedWebhookPayload
    • CardIssuanceFailedWebhookPayload
    • CardStateChangedWebhookPayload
    • CardTransactionAuthorizedWebhookPayload
    • CardTransactionCompletedWebhookPayload
    • CardTransactionReversedWebhookPayload
    • BulkPayoutItemError
    • BulkPayoutFile
    • BulkPayoutFileItem
    • BulkPayoutWebhookType
    • BulkPayoutWebhookPayload
    • BulkPayoutValidatedWebhookPayload
    • BulkPayoutValidationFailedWebhookPayload
    • BulkPayoutCompletedWebhookPayload
GuidesBaaS API ReferenceBank Client API Reference
FrontOffice API Reference
GuidesBaaS API ReferenceBank Client API Reference
FrontOffice API Reference
  1. Introduction

Authentication

Use an access token to authenticate every protected Bank Client API request. Framnex provides a separate username and secret for each environment.

Keep credentials secure#

Store the username and secret in a server-side secret store. Do not include them in browser code, mobile applications, source control, logs, or URLs.
Use separate credentials for each environment. A token is valid only for the environment that issued it.

Request an access token#

The Bank Client API base URL includes the Merchant service path:
https://<host>/api/merchant
Exchange the username and secret at POST /integration/auth/token:
The response contains the token type, access token, and lifetime in seconds:
{
  "accessToken": "<token>",
  "tokenType": "Bearer",
  "expiresIn": 3600
}
The expiresIn value is an example. Always use the value returned by the API.

Authenticate a request#

Send the access token in the Authorization header:
For example:
Do not send the username or secret to protected resource endpoints.

Renew an access token#

The API does not return a refresh token. Request a new access token with the same credentials before the current token expires. Use expiresIn to calculate the renewal time, and allow a small safety margin for network and clock differences.
If a protected request returns 401 Unauthorized, discard the current token, obtain a new token, and retry the request once. Do not retry authentication failures without a limit.

Troubleshooting#

400 Bad Request means that the request body is invalid or a required field is missing.
401 Unauthorized from the token endpoint means that the username or secret is invalid.
401 Unauthorized from a protected endpoint means that the bearer token is missing, invalid, or expired.
Continue with the Bank Client API Quick Start for the complete first-request flow.
Modified at 2026-09-26 19:33:33
Previous
Quick Start
Next
Environments
Built with