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 the Citi Authentication API reference 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'