Every API here is available over the APIs.io API and to AI agents over MCP.
openapi: 3.2.0
info:
title: Additional Payment Services Citiconnect API
description: The Additional Payment Services API allows users to get access to transaction, account and branch related information in real-time, providing transparency and control to the user over the transaction lifecycle.
version: ''
servers:
- url: https://tts.apib2b.citi.com/citiconnect/prod/selfservices/v1
description: production gateway url
- url: https://tts.sandbox.apib2b.citi.com/citiconnect/sb/selfservices/v1
description: sbox url
security:
- clientCredentials: []
tags:
- name: Citiconnect
paths:
/citiconnect/prod/selfservices/v1/payment/cutoff:
get:
summary: Payment Cut-Off Time Inquiry
description: 'CitiConnect Payment Cut-off Time Inquiry allows users to retrieve cut-off times for any branch associated with their payments. This enables users to plan their payouts to merchants or end-users, in a timely manner.
Content-Type : Supports “application/json” :
Authorization : The OAuth Token prefixed with “Bearer” and space in between. :
BranchCode : Unique identification Code specified by the initiating party to identify the branch of the bank.
This Identification is passed on, unchanged, throughout the entire end-to-end chain. :
PaymentMethod : The payment processing method is specified.
If method is not specified, then cut-off times for all payment methods will be returned. :'
parameters:
- name: client_id
in: query
description: This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation
required: true
schema:
type: string
- name: Authorization
in: header
description: The OAuth Token prefixed with "Bearer" and space in between.
required: true
schema:
type: string
- name: branchCode
in: query
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content: {}
tags:
- Citiconnect
operationId: getCiticonnectProdSelfservicesV1PaymentCutoff
x-operation-id-source: derived
post:
summary: Payment Cut-Off Time Inquiry
description: 'CitiConnect Payment Cut-off Time Inquiry allows users to retrieve cut-off times for any branch associated with their payments. This enables users to plan their payouts to merchants or end-users, in a timely manner.
Content-Type : Supports “application/json” :
Authorization : The OAuth Token prefixed with “Bearer” and space in between. :
BranchCode : Unique identification Code specified by the initiating party to identify the branch of the bank.
This Identification is passed on, unchanged, throughout the entire end-to-end chain. :
PaymentMethod : The payment processing method is specified.
If method is not specified, then cut-off times for all payment methods will be returned. :'
parameters:
- name: client_id
in: query
description: This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation
required: true
schema:
type: string
- name: Authorization
in: header
description: The OAuth Token prefixed with "Bearer" and space in between.
required: true
schema:
type: string
- name: Content-Type
in: header
description: Supports application/json.
required: true
schema:
type: string
responses:
'200':
description: 200 OK
content: {}
tags:
- Citiconnect
operationId: postCiticonnectProdSelfservicesV1PaymentCutoff
x-operation-id-source: derived
/citiconnect/prod/selfservices/v3/payment/beneficiarysearch:
get:
summary: Payment Beneficiary Search
description: Retrieve the Beneficiary details for a given debit and credit account number of account holder.
operationId: getBeneficiaryDetails
parameters:
- name: client_id
in: query
description: Unique reference which was shared during CitiConnect API on-boarding(client_id which used during oauth token generation)
required: true
schema: {}
- name: country_code
in: query
description: Country where the request is initiated for beneficiary account search/validation in ISO 3166-1 alpha-2 format
required: true
schema: {}
- name: creditor_name
in: query
description: Account name of the creditor intended for search/validation whose payment amount will be credited. For early warning system (EWS), if the verification_type = (BANKOWN or BASICVR) either creditor_firstname & creditor_lastname or creditor_name (Business Name) should be passed. Business name maximum allowed length 87 characters.
schema: {}
- name: creditor_bank_code
in: query
description: Creditor account bank identification code of the creditor whose payment amount will be credited. - For early warning system (EWS), 9 digit beneficiary bank routing number.
schema: {}
- name: creditor_branch_id
in: query
description: 'Creditor Branch identification of the creditor whose payment amount will be credited. ##### Field exclusively applicable for below conditions - country_code = AR (Argentina), BR (Brazil), UY (Uruguay), PE (Peru), MX (Mexico), CO (Colombia)'
schema: {}
- name: creditor_alias
in: query
description: 'Account alias name of the creditor intended for search/validation whose payment amount will be credited. ##### Field exclusively applicable for below conditions - country_code = AR (Argentina), BR (Brazil), UY (Uruguay), PE (Peru), MX (Mexico), CO (Colombia)'
schema: {}
- name: debtor_name
in: query
description: Account name of the debtor whose payment amount will be deducted.
schema: {}
- name: value_date
in: query
description: 'Requested execution date post alias resolution when the payment needs to be processed for settlement, format would be YYYYMMDD ##### Field exclusively applicable for below countries - country_code = BR (Brazil) _Note_ * _If not provided present date will be populated when alias api is invoked_ * _Only Present and Future date will be acceptable and not past date_'
schema: {}
- name: encrypted-params
in: header
description: "Account & Proxy details intended for search/validation of Beneficiary details\n _Condition : It should be encrypted JSON combination of **creditor_account** or **creditor_proxy_type & creditor_proxy_value** should be passed along with **debtor_account**_\n - **debtor_account** \n - account number of the debtor whose payment amount will be deducted\n - max length is 35\n - mandatory\n - **creditor_account**\n - account number of the creditor whose payment amount will be credited & which requires validation\n - max length is 35\n - conditional\n\n - **creditor_proxy_type**\n - type of the proxy value to be used for validation/search\n - max length is 35\n - conditional \n - *Supported Types*\n\n * PHONE\n - Used as an identifier for providing Mobile/Phone Number in **creditor_proxy_value**\n * EMAIL\n - Used as an identifier for providing Email ID in **creditor_proxy_value**\n * TAXID\n - Used as an identifier for providing Tax Identification No in **creditor_proxy_value**\n - *Applicable only for country_code = BR (Brazil)*\n * EVP\n - Used as an identifier for providing EVP in **creditor_proxy_value**\n - *Applicable only for country_code = BR (Brazil)*\n * NIDN\n - Used as an identifier for providing NRIC Number in **creditor_proxy_value**\n * COID\n - Used as an identifier for providing Unique Entity Number in **creditor_proxy_value**\n * MOBN\n - Used as an identifier for providing Mobile number \n - **creditor_proxy_value**\n - value of proxy type to be used for validation/search\n - max length is 70\n - conditional\n - **document_type**\n - Originating Customer's Document Type. The values are:\n 1:LE \n2:DNI \n3:LM \n4:Pasaporte \n5:Carné de Extranjería \n6:RUC. \n - **document_number**\n - Originating Customer Document Number.In case the Originating Client's account is joint, the document number must be 99999999\n - max length is 12 \n - **creditor_document_number**\n - Creditor document number of credit account (both creditor document number and creditor tax id are same). It is mandatory for Brazil and Colombia and not applicable for other countries.\n - It is a Request header with string data type.\n - max length is 14\n - example: \"11111111111111\" \n - **creditor_account_type**\n - Creditor Account Type of Credit Account. It is mandatory for Brazil and Colombia and not applicable for other countries.\n - BR - The account type must be populated with following list of dominion:SAVINGS, CHECKING, PAYMENTS, EASY, PUBLIC_ENTITY. However validation is not required at CCAPI, whatever received by CCAPI will be routed to downstream and downstream will do the validation\n - CO - The account type must be populated with following list of dominion:CUENTA_DE_AHORRO and CUENTA_CORRIENTE. However validation is not required at CCAPI, whatever received by CCAPI will be routed to downstream and downstream will do the validation \n - It is a Request header with string data type.\n - maxLength: 15\n \n - **creditor_document_type**\n - Creditor Document Type of Credit Account.It is Optional for Brazil and Mandatory for Colombia and not applicable for other countries.\n - CO - The account type must be populated with following list of dominion:CC, CD, CE, NIT, TI, PAS, IEPN, IEPJ, FD, RC It is a Request header with string data type.\n - maxLength: 5\n - example: \"11111\"\n \n - **extra_information** \n - Creditor Document Type of Credit Account. This field is optional for Colombia and it is not applicable for other countries.\n - It is a Request header with string data type.\n - maxLength: 30\n - example: \"qwertyuiopasdfgjklzxcvbnm1234\" \n * JSON combination : \n\n * With Creditor Account \n\n {\"debtor_account\":\"123123\",\"creditor_account\":\"234324234\"}. \n\n * with Proxy detials \n\n {\"debtor_account\":\"123123\",\"creditor_proxy_type\":\"EMAIL\",\"creditor_proxy_value\":\"John@citi.com\"} \n \n *Note - Usage of both **creditor_account** + **creditor_proxy_type & creditor_proxy_value** will result in error response* \n \n **Example for encrypted-params:**\n eyJhbGciOiJSU0EtT0FFUC0yNTYiLCJlbmMiOiJBMTI4Q0JDLUhTMjU2In0.cM5nUBLy-Nt4bmoS3YyKpMKVgc1zG2bhX1SLFLPmfOtmuv4vMYDPrFJSStlBK6KQqnNpeia6Er-Mvtoiy6d-x_cE_wZnkZdY-s7-mPKTWdB-1mQ9ev7sripvDcrvdV46aA8yIdat7j3C1guyIrQ3pixJLAWuWwYh-Mu9oQ5Y4fbt8hSyWUcrv50BVVHDTNhl1JfC9aMedo9RSZP4uVQrkuc64cSDs65F5CPrALSINWc1kWvtBdE00rFs8VPboFlOjzh8SWKUwhEWRGziRcBo0s0Rvjr1aS6xlXFK2xduWa2Yhww_i8x4LZPl4wuG0lYUxNfYfW-i1zPgbffpxEEoTg.56JMOGxrFjQNqUnaTrDnWw._UYD1vvZk6zcPpVX0WbxpVSCv_kbZjMbMfY9zbrAeQkEwd5-6l2LJ2X0rOnQrt6bvfMdxuT8_v5A4rpOX2BlOtKOOxkt1rxO1422HJcimejh2QCG9SK65_Gq202ZHUpertZsxP1So4NXD4E5yHPCMHkhgQCxEiZYAOweVmmAGR28J7P2faMUY0_y_PEOK6L8R-MuI7MJvO95vhdQcXsn1YirgkvWYWiO9AJX9UY-ES-VnBXu5ZtH3VtEcvYsydVFjssP83vObZehaRoz-vObYFRkm8oHEXmcEGNchXgUQ-w5UtpIk4EKX-rqOG-TYPPfJTU-z-QH5s0Z9fVVUKcYpyys6-5LSgpR_LMYxkTg3nTbTvN4RoDVglgzi_pLz2fHBC8tQXLk2FpXB8l9dQPOFdfaxVyS7eq14kmEPHdkh0lRxhCKS1hFgMxIo1YRGrJoeRfrb0E7im1lviZcXm_T0ZLZTFtmLOxaRhB69ggTH38OZLHP_NFFJHSwcP3EIwQ7LS_2PC1yOBj8ctCWbd4Ig2ZjT2K7KECHaam8ugAPo1PbGrt0okk1P5fFfCwd4YPr92tnyVugI-ngSL2VpIUz3w.Sa9VUUM13fNAFvovk7L-Hg\n"
required: true
schema: {}
responses:
'200':
description: "**Complete Creditor account details will be part of response**\n\n**1. Generic Response:**\n```json\n{\n \"debtor\": {\n \"name\": \"XXXYXXX\",\n \"account_id\": \"0054400063\"\n },\n \"creditor\": {\n \"name\": \"ABCDEEFGH\",\n \"alias\": \"ABCDEEFGH\",\n \"resolved_name\": \"ABCDEEFGH\",\n \"owner_type\": \"LEGAL_PERSON\",\n \"tax_id\": \"12345678\",\n \"country_code\": \"BR\",\n \"bank_code\": \"ABCD123456\",\n \"branch_id\": \"076\",\n \"account_id\": \"1234567890\",\n \"proxy_type\": \"PHONE\",\n \"proxy_value\": \"5555141910097\",\n \"account_currency\": \"USD,UYU\",\n \"account_type\": \"SAVINGS\",\n \"account_opening_date\": \"20221203\",\n \"trade_name\": \"XYZ\",\n \"document_type\": \"RUC\",\n \"document_number\": \"91991923\"\n },\n \"additional_information\": {\n \"end_to_end_id\": \"XYXYX001\",\n \"value_date\": \"20220102\",\n \"proxy_status\": \"ACTIVE\",\n \"banelco_flag\": \"Y\",\n \"clearing_system_id\": \"3233423\"\n },\n \"lookup_status_information\": {\n \"lookup_reference\": \"ModifyAlias29122\",\n \"lookup_response_status\": \"Success\",\n \"status_code\": \"200\",\n \"status_message\": \"Success\"\n }\n} \n```\n\n**2. Argentina Response (country_code = AR):**\n ```json\n{\n \"creditor\": {\n \"alias\": \"ABCDEEFGH\",\n \"resolved_name\": \"ABCDEEFGH\",\n \"tax_id\": \"12345678\",\n \"branch_id\": \"076\",\n \"account_id\": \"1234567890\",\n \"account_type\": \"SAVINGS\"\n },\n \"additional_information\": {\n \"banelco_flag\": \"Y\",\n \"clearing_system_id\": \"3233423\"\n },\n \"lookup_status_information\": {\n \"lookup_response_status\": \"Success\",\n \"status_code\": \"200\",\n \"status_message\": \"Success\"\n }\n}\n```\n**3. US Response (country_code = US):**\n```json\n{\n \"creditor\": {\n \"resolved_name\": \"ABCDEEFGH\",\n \"proxy_value\": \"5555141910097\"\n },\n \"additional_information\": {\n \"proxy_status\": \"ACTIVE\"\n },\n \"lookup_status_information\": {\n \"status_code\": \"200\",\n \"status_message\": \"Success\"\n }\n}\n```\n**4. Korea Response (country_code = KR):**\n```json\n{\n \"creditor\": {\n \"resolved_name\": \"ABCDEEFGH\"\n },\n \"lookup_status_information\": {\n \"lookup_reference\": \"ModifyAlias29122\",\n \"lookup_response_status\": \"Success\",\n \"status_code\": \"200\",\n \"status_message\": \"Success\"\n }\n}\n```\n**5. India Response (country_code = IN):**\n```json\n{\n \"creditor\": {\n \"name\": \"ABCDEEFGH\",\n \"resolved_name\": \"ABCDEEFGH\",\n \"account_id\": \"1234567890\"\n },\n \"lookup_status_information\": {\n \"lookup_reference\": \"ModifyAlias29122\",\n \"lookup_response_status\": \"Success\",\n \"status_code\": \"200\",\n \"status_message\": \"Success\"\n }\n}\n```\n **6. Indonesia Response (country_code = ID):**\n```json\n{\n \"creditor\": {\n \"name\": \"ABCDEEFGH\",\n \"resolved_name\": \"ABCDEEFGH\",\n \"account_id\": \"1234567890\"\n },\n \"lookup_status_information\": {\n \"lookup_reference\": \"ModifyAlias29122\",\n \"lookup_response_status\": \"Success\",\n \"status_code\": \"200\",\n \"status_message\": \"Success\"\n }\n}\n```\n **7. Singapore Response (country_code = SG):**\n```json\n{\n \"creditor\": {\n \"resolved_name\": \"ABCDEEFGH\",\n \"proxy_value\": \"5555141910097\"\n },\n \"additional_information\": {\n \"proxy_status\": \"ACTIVE\"\n },\n \"lookup_status_information\": {\n \"status_code\": \"200\",\n \"status_message\": \"Success\"\n }\n}\n```\n **8. Brazil Alias Resolution (country_code = BR):**\n```json\n{\n \"creditor\": {\n \"resolved_name\": \"ABCDEEFGH\",\n \"owner_type\": \"LEGAL_PERSON\",\n \"tax_id\": \"12345678\",\n \"bank_code\": \"ABCD123456\",\n \"branch_id\": \"076\",\n \"account_id\": \"1234567890\",\n \"proxy_type\": \"PHONE\",\n \"proxy_value\": \"5555141910097\",\n \"account_type\": \"SAVINGS\",\n \"account_opening_date\": \"20221203\",\n \"trade_name\": \"XYZ\"\n },\n \"additional_information\": {\n \"end_to_end_id\": \"XYXYX001\",\n \"value_date\": \"20220102\",\n \"proxy_status\": \"ACTIVE\"\n }\n}\n```\n**9. LATAM Countries| Beneficiary Search (country_code = [ MX or PA or PE or UY or BR or CO ] ):**\n```json\n{\n \"debtor\": {\n \"account_id\": \"0054400063\"\n },\n \"creditor\": {\n \"resolved_name\": \"ABCDEEFGH\",\n \"country_code\": \"MX\",\n \"bank_code\": \"ABCD123456\",\n \"account_id\": \"1234567890\",\n \"account_currency\": \"USD,UYU\",\n \"account_type\": \"SAVINGS\",\n \"document_type\": \"RUC\",\n \"document_number\": \"91991923\"\n },\n \"lookup_status_information\": {\n \"lookup_response_status\": \"Success\",\n \"status_code\": \"200\",\n \"status_message\": \"Success\"\n }\n}\n```\n**10. US_EWS Response (country_code = US_EWS):**\n```json\n{\n \"creditor\": {\n \"account_verification_status\": \"Passed\",\n \"account_verification_description\": \"Account sucessfully verfied in EWS\",\n \"account_type\": \"Saving\",\n \"account_owner_status\": \"Passed\",\n \"account_owner_description\": \"Account owner sucessfully verfied in EWS\",\n \"owner_type\": \"OWN\",\n \"firstname\": \"FMATCH\",\n \"lastname\": \"PMATCH\",\n \"dob\": \"NAVAIL\",\n \"address_line1\": \"PMATCH\",\n \"address_line2\": \"PMATCH\",\n \"city\": \"FMATCH\",\n \"state\": \"FMATCH\",\n \"zip\": \"FMATCH\",\n \"home_phone\": \"FMATCH\",\n \"work_phone\": \"FMATCH\",\n \"tax_id\": \"PMATCH\",\n \"id_type\": \"FMATCH\",\n \"id_no\": \"FMATCH\",\n \"id_issuance_place\": \"NMATCH\",\n \"additional_information\": \"TESTING EWS RESPONSE\",\n \"creditor_name\": \"FMATCH\"\n }\n}\n```\n"
content: {}
'400':
description: Bad Request
content: {}
'401':
description: Unauthorized
content: {}
'404':
description: Not Found
content: {}
'405':
description: Method Not Allowed
content: {}
'500':
description: Internal Server Error
content: {}
'503':
description: Service Unavailable
content: {}
tags:
- Citiconnect
components:
securitySchemes:
clientCredentials:
type: oauth2
description: 'All CitiConnect APIs use the oAuth2 authentication scheme, which requires a bearer token to authenticate your API call. The Token URL includes the version of authentication used by this API. See <a href="../../authentication/authentication-api-reference/" target="_blank">the Citi Authentication API reference</a> for information on requesting a token.
'
flows:
clientCredentials:
tokenUrl: https://tts.sandbox.apib2b.citi.com/citiconnect/sb/authenticationservices/v1/oauth/token
scopes: {}
x-original-swagger-version: '2.0'