Authentication

Authentication

🔒

Each request in Business Integration Services must be authorized with an OAuth 2.0 Bearer access token issued for the client application.

❗️

For security reasons, the Client ID and Secret must be stored confidentially.

Get Access Token

Services use the OAuth 2.0 Client Credentials flow. To obtain an access token, the client must call the token endpoint:

https://test-api.tbcbank.ge/oauth/token

The client authenticates using HTTP Basic authentication - the authorization header must contain the Base64-encoded client_id:client_secret pair:

Authorization: Basic base64(client_id:client_secret)

The request body must be sent as application/x-www-form-urlencoded.

Content-Type: application/x-www-form-urlencoded

And with required body parameters:

ParameterRequiredDescription
grant_typeOAuth 2.0 grant type.
Must be client_credentials for machine-to-machine integrations where the client application acts on its own behalf, without a user context.
scopeSpace-separated list of OAuth 2.0 scopes being requested. Available scopes are shown in the table below

When requesting an access token, the client must provide the relevant scope.

Scope NameDescription
bab_accountsAccount information services: transaction history and account statements
bab_transfersServices related to transfer initiation

If the client needs to use both account information and transfer services, both scopes must be passed in the token request in space-separated format.

scope=bab_accounts bab_transfers


Token Response

FieldDescription
access_tokenThe issued OAuth 2.0 Bearer access token
token_typeToken type. The value is Bearer
scopeSpace-separated list of OAuth 2.0 scopes granted to this token
issued_atUnix timestamp (seconds since epoch) indicating when the token was issued
expires_inLifetime of the token in seconds from the moment it was issued

Use Access Token

After obtaining an access token, the client must pass it in the Authorization header of each API request as a Bearer token:

Authorization: Bearer {access_token}

Access token is valid for 1 hour. After expiration, the client must call the token endpoint again and obtain a new access token.