How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Citi Open Banking APIs

Regulated open banking surfaces: Ukraine bank data sharing, Ukraine OAuth2 authentication and payment service initiation, and European commercial card account balance and statement transaction inquiry. Citi publishes 3 machine-readable specifications for this family covering 11 operations, served from developer.citi.com.

This API exposes 6 operations across 5 paths, organized into 2 resource areas, and defines 37 schemas. It is described by OpenAPI 3.0.2, at version 1.0.0.

Requests are made against 2 base URLs: https://b2b.tts.icgservices.citi.com/citiconnect/openbanking/ukr/accountconsentservices/v1, https://sanbox.tts.icgservices.citi.com/citiconnect/openbanking/ukr/accountconsentservices/v1.

6 operations 5 paths 37 schemas 1 DELETE4 GET1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.0.2
API Version
1.0.0
Base URL
https://b2b.tts.icgservices.citi.com/citiconnect/openbanking/ukr/accountconsentservices/v1
Authentication
OAuth 2.0, OAuth 2.0
Contact
Citi API Support
Resource Areas
2

Authentication & Security 2

Citi Open Banking APIs declares 2 security schemes for authenticating requests. It supports OAuth 2.0 (oAuth) using the clientCredentials flow, exposing 1 scope. It supports OAuth 2.0 (auth) using the clientCredentials flow, exposing 1 scope. By default, every request must be authenticated.

Paths & Operations 6

Across 5 paths, the API surfaces 6 operations — 1 DELETE, 4 GET, 1 POST. They span 2 resource areas: ConsentManagement, BankDataSharing. Each is listed below with its method, path, parameters, and response codes.

ConsentManagement 3

API services to create, retrieve, and delete account information consent.

POST
/account-consent
accountInformationConsent
accountInformationConsent 5 params body → 201400401403404405409415
GET
/account-consent/{consentId}
accountInformationConsentInquiry
accountInformationConsentInquiry 6 params → 200400401403404405409415
DELETE
/account-consent/{consentId}
accountInformationConsentDeletion
accountInformationConsentDeletion 6 params → 204400401403404405409415
BankDataSharing 3

API services to provide accounts, balances and transactions details.

GET
/accounts
Account Details
getAccountsByClientId 10 params → 200400401403404405409415
GET
/balances
Account Balances
getBalancesByClientId 14 params → 200400401403404405409415
GET
/transactions
Transactions Details by Account ID
getTransactionByAccountId 16 params → 200400401403404405409415

Schemas 37

The contract defines 37 schemas that model the data the API accepts and returns. The most detailed are Transaction-Details (30 properties), Balance (25 properties), Account-Details (14 properties), Account (9 properties). Each schema is shown below with its type and property counts.

Service-Error-Response
object
Error payload returned when the backend service cannot process a validly routed TPP request.
2 properties 1 required
Error-Detail
object
Detailed issue information for a service error, including reason, remediation, and code.
3 properties
Gateway-Error-Response
object
This refers to an issue encountered by an API Gateway handling the request.
3 properties 1 required
Common-Error-Response
Wrapper schema for responses that may return either gateway or service error payloads.
Accounts-Information
object
Response containing account-level information returned to the TPP based on the requested filters.
2 properties
Account-Details
object
Detailed attributes of a single account included in the accounts response.
14 properties 1 required
Balance-Information
object
Response containing balance information returned to the TPP for one or more accounts.
2 properties
Account
object
Account context and associated balance records within the balances response.
9 properties 1 required
Balance
object
Balance metrics for a specific account as returned by the balances endpoint.
25 properties 5 required
Overdraft-Details
object
Overdraft-related values associated with the reported account balance.
1 property
Consent-Id
string
Unique identifier of the account information consent used to authorize TPP data access.
Account-Ref
string
This parameter is required for GET Transactions and optional for GET Accounts and GET Balances. Unique reference assigned to an account; when omitted (where op…
Account-Number
string
Account number of Citi's corporate client account. - For GET Account, this parameter is required. - For GET Balance, this parameter is required. - For GET Tran…
Currency-Code
string
Three-letter currency code defined by ISO 4217. - For GET Account, this parameter is required. - For GET Balance, this parameter is required. - For GET Transac…
Account-Name
string
Name or title assigned to the account. - For GET Account, this parameter is optional. - For GET Balance, this parameter is optional. - For GET Transaction, thi…
Account-Type
string
Classification of the financial account. - For GET Account, this parameter is optional. - For GET Balance, this parameter is optional. - For GET Transaction, t…
Branch-Code
string
Unique code identifying the servicing branch location. - For GET Account, this parameter is optional. - For GET Balance, this parameter is optional. - For GET…
Legal-Entity
string
Legal entity name associated with the account (individual, corporate, or institution). - For GET Account, this parameter is optional. - For GET Balance, this p…
Branch-Name
string
Name of the branch or local bank location servicing the account. For GET Account, this parameter is optional. - For GET Balance, this parameter is optional. -…
Iban-Account-Number
string
International Bank Account Number (IBAN) used to identify the account in cross-border and domestic contexts where applicable. - For GET Account, this parameter…
Account-Category
string
Account category value describing the account class (for example, debit/credit category representations). - For GET Account, this parameter is optional. - For…
Status
string
Current lifecycle status of the account (for example, Open or Closed). - For GET Account, this parameter is required. - For GET Balance, this parameter is not…
Account-Opening-Date
string
Date and time when the account was originally opened. - For GET Account, this parameter is optional. - For GET Balance, this parameter is not required. For GET…
Country-Code
string
ISO country code for the jurisdiction of the branch or account location. - For GET Account, this parameter is required. - For GET Balance, this parameter is no…
Bank-Rte-Id
string
Routing identifier for the servicing bank or branch. - For GET Account, this parameter is optional. - For GET Balance, this parameter is not required. - For GE…
Transaction-Information
object
Response containing transaction data returned to the TPP based on the requested filters.
2 properties
Accounts-Info
object
Account identification and context details associated with the returned transactions.
6 properties 1 required
Transaction-Details
object
Detailed transaction record for an account entry returned by the transactions endpoint.
30 properties 3 required
AccountInformationConsentRequest
object
Payload used by the TPP to create an account information consent request.
2 properties 2 required
AccountInformationConsent
object
Consent resource returned after consent creation, including status, SCA, and permission details.
3 properties 3 required
GetAccountInformationConsent
object
Consent resource returned by consent inquiry for the provided consent identifier.
3 properties 3 required
Sca
object
Strong Customer Authentication parameters used to complete PSU authorization for consent.
3 properties
ScaResponse
Strong Customer Authentication information returned in API responses.
PermissionInformation
object
Permission scope and validity window granted through the account information consent.
4 properties 2 required
ConsentInformationCommon
object
Common metadata describing the lifecycle and status of a consent resource.
4 properties 4 required
GetConsentInformation
Consent metadata for inquiry responses, including optional cancellation detail.
4 required
AccountInformation
object
Container for account access permissions requested or granted under the consent.
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

citi-ukraine-bank-data-sharing-api-openapi.yaml Raw ↑
Where this information came from

This is an independent, third-party profile of Citi Open Banking APIs, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.