Citi Citiconnect API

The Citiconnect API from Citi — 2 operation(s) for citiconnect.

Operations 3

GET /citiconnect/prod/selfservices/v1/payment/cutoff Payment Cut-Off Time Inquiry #
POST /citiconnect/prod/selfservices/v1/payment/cutoff Payment Cut-Off Time Inquiry #
GET /citiconnect/prod/selfservices/v3/payment/beneficiarysearch Payment Beneficiary Search #

Documentation

📖
Documentation
https://developer.citi.com/apidocs/authentication/authentication-only-guide
📖
APIReference
https://developer.citi.com/apidocs/authentication/authentication-api-reference
📖
Authentication
https://raw.githubusercontent.com/api-evangelist/citi/refs/heads/main/authentication/citi-authentication.yml
📖
Documentation
https://developer.citi.com/apidocs/account-reporting/balances/balances-overview
📖
APIReference
https://developer.citi.com/apidocs/account-reporting/balances/balances-api-reference
📖
Documentation
https://developer.citi.com/apidocs/outgoing-payments/payments/payments-overview
📖
APIReference
https://developer.citi.com/apidocs/outgoing-payments/payments/payments-api-reference
📖
Documentation
https://developer.citi.com/apidocs/accept-payments/online-payment-acceptance/online-payment-acceptance-overview
📖
APIReference
https://developer.citi.com/apidocs/accept-payments/online-payment-acceptance/online-payment-acceptance-api-reference
📖
Documentation
https://developer.citi.com/apidocs/commercial-cards/virtual-cards/commercial-cards-overview
📖
APIReference
https://developer.citi.com/apidocs/commercial-cards/virtual-cards/virtual-cards-api-reference
📖
Documentation
https://developer.citi.com/apidocs/fx/gateway/citifx-gateway-overview
📖
APIReference
https://developer.citi.com/apidocs/fx/instant-fx/instant-fx-overview
📖
Documentation
https://developer.citi.com/apidocs/custody/accounts/accounts-overview
📖
APIReference
https://developer.citi.com/apidocs/custody/safekeeping-positions/safekeeping-positions-api-reference
📖
Documentation
https://developer.citi.com/apidocs/transfer-agency/accounts/accounts-overview
📖
APIReference
https://developer.citi.com/apidocs/transfer-agency/accounts/accounts-api-reference
📖
Documentation
https://developer.citi.com/apidocs/open-banking/ukraine-open-banking/ukraine-open-banking-overview
📖
APIReference
https://developer.citi.com/apidocs/open-banking/ukraine-open-banking/ukraine-bank-data-sharing-api-reference
📖
Documentation
https://developer.citi.com/apidocs/trade/standby-letters-of-credit/trade-overview
📖
APIReference
https://developer.citi.com/apidocs/trade/standby-letters-of-credit/trade-api-reference
📖
Documentation
https://developer.citi.com/apidocs/gateway-services/gateway-services-user-guide
📖
APIReference
https://developer.citi.com/apidocs/gateway-services/gateway-services-api-reference
📖
Documentation
https://developer.citi.com/apidocs/additional-payment-services/additional-payment-services/additional-payment-services-overview
📖
APIReference
https://developer.citi.com/apidocs/additional-payment-services/additional-payment-services/additional-payment-services-api-reference

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/citi-citiconnect-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

citi-citiconnect-api-openapi.yml Raw ↑
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'