swagger: '2.0' info: description: >- CitiConnect® Trade Services allows users to easily access Trade capabilities with a lightweight message exchange interface. This portfolio of functions enables clients to perform Trade related activities in real-time eliminating manual processes. version: '' title: Trade API host: tts.apib2b.citi.com basePath: /citiconnect/prod tags: [] schemes: - https security: - clientCredentials: [] paths: /trade/inquiry: get: summary: Trade Status Inquiry description: >- CitiConnect Trade Status Inquiry API allows users to access the status of a Trade by generating Trade details for instant awareness of initiation parameters: - name: client_id in: query required: true description: >- This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation type: string - name: Authorization in: header description: The OAuth Token prefixed with "Bearer" and space in between. required: true type: string - name: InqTp in: query required: true type: string - name: ApplcntRefNb in: query required: true type: string - name: Id in: query required: false type: string - name: Nm in: query required: false type: string responses: '200': description: 200 OK /trade/initiation: post: summary: Trade Initiation description: >- The CitiConnect Trade Initiation API allows users to initiate a Guarantee/SBLC (Standby Letter of Credit) through their ERP or partner system of choice. parameters: - name: client_id in: query required: true description: >- This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation type: string - name: Authorization in: header description: The OAuth Token prefixed with "Bearer" and space in between. required: true type: string - name: Content-Type in: header description: Supports application/json. required: true type: string responses: '200': description: 200 OK /trade/modifyorcancel: post: summary: Trade Amendment/Cancellation description: >- CitiConnect Trade Amendment/Cancellation allows users to amend or cancel an existing Guarantee/SBLC (StandBy Letter of Credit), in XML, receiving a positive or negative acknowledgement, providing users the flexibility to make changes seamlessly and immediately. parameters: - name: client_id in: query required: true description: >- This is your unique identifier shared during your CitiConnect API onboarding. This is the same `client_id` used for oauth token generation type: string - name: Authorization in: header description: The OAuth Token prefixed with "Bearer" and space in between. required: true type: string - name: Content-Type in: header description: Supports application/json. required: true type: string responses: '200': description: 200 OK securityDefinitions: clientCredentials: 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. type: oauth2 tokenUrl: https://tts.apib2b.citi.com/tts/cards/api/v1/oauth2/token flow: application scopes: null definitions: AdjstmntAmtAndRsn: type: object properties: additional_information: type: string xml: name: AddtlInf description: Additional Information maxLength: 105 amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' credit_debit_indicator: type: string xml: name: CdtDbtInd description: Amount on Credit Note maxLength: 4 reason: type: string xml: name: Rsn description: Adjustment Reason maxLength: 4 title: AdjstmntAmtAndRsn xml: name: AdjstmntAmtAndRsn attribute: false wrapped: false AdjstmntAmtAndRsn0: type: object properties: additional_information: type: string xml: name: AddtlInf description: Additional Information maxLength: 105 amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' credit_debit_indicator: type: string xml: name: CdtDbtInd description: Credit Debit Indicator for the adjustment maxLength: 4 reason: type: string xml: name: Rsn maxLength: 4 title: AdjstmntAmtAndRsn xml: name: AdjstmntAmtAndRsn attribute: false wrapped: false AdjstmntAmtAndRsn4: type: object properties: additional_information: type: string xml: name: AddtlInf description: Additional Information maxLength: 105 amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' credit_debit_indicator: type: string xml: name: CdtDbtInd description: Credit Debit Indicator for the adjustment maxLength: 4 reason: type: string xml: name: Rsn description: Adjustment Reason maxLength: 4 title: AdjstmntAmtAndRsn xml: name: AdjstmntAmtAndRsn attribute: false wrapped: false CdtTrfTxInf: type: object properties: payment_end_to_end_id: type: string xml: name: PmtEndToEndId description: unique PI reference number from the customer. maxLength: 35 payment_instrument_id: type: string xml: name: PmtInstrId description: Payment Instrument ID. maxLength: 35 title: CdtTrfTxInf xml: name: CdtTrfTxInf attribute: false wrapped: false CdtTrfTxInf2: type: object properties: creditor: type: object allOf: - $ref: '#/definitions/Cdtr0' creditor_account: type: object allOf: - $ref: '#/definitions/CdtrAcct' instructed_amount: type: object allOf: - $ref: '#/definitions/InstdAmt' payment_end_to_end_id: type: string xml: name: PmtEndToEndId description: Payment End To End Id maxLength: 35 payment_instrument_id: type: string xml: name: PmtInstrId description: Payment Instrument ID maxLength: 35 purpose_code: type: string xml: name: Purpcd description: Purpose Code Default Value TRAD maxLength: 4 remittance_information: type: object allOf: - $ref: '#/definitions/RmtInf' title: CdtTrfTxInf2 xml: name: CdtTrfTxInf attribute: false wrapped: false Cdtr0: type: object properties: name: type: string xml: name: Name description: The name assigned to Supplier settle account number maxLength: 70 title: Cdtr0 xml: name: Cdtr attribute: false wrapped: false CdtrAcct: type: object properties: currency: type: string xml: name: Ccy description: Currency code that is part of the supplier settle account number maxLength: 3 id: type: string xml: name: Id description: This is Citi supplier settle account number maxLength: 35 title: CdtrAcct xml: name: CdtrAcct attribute: false wrapped: false Dbtr0: type: object properties: name: type: string xml: name: Name description: The name assigned to Buyer Settle account number maxLength: 70 title: Dbtr0 xml: name: Dbtr attribute: false wrapped: false DbtrAcct0: type: object properties: currency: type: string xml: name: Ccy description: Currency code that is part of the buyer settle account number maxLength: 3 id: type: string xml: name: Id description: This is Citi Buyer settlement account number maxLength: 16 title: DbtrAcct0 xml: name: DbtrAcct attribute: false wrapped: false DbtrAgt: type: object properties: name: type: string xml: name: Name description: Name of the Debtor Agent maxLength: 70 title: DbtrAgt xml: name: DbtrAgt attribute: false wrapped: false FwdgAgt: type: object properties: id: type: string xml: name: Id description: This is the Bank site’s Interchange ID. maxLength: 35 qualifier: type: string xml: name: Qualifier description: Bank Site’s Interchange ID Qualifier. Default is ZZ. maxLength: 35 title: FwdgAgt xml: name: FwdgAgt attribute: false wrapped: false GrpHdr: type: object properties: forward_agent: type: object allOf: - $ref: '#/definitions/FwdgAgt' initiating_party: type: object allOf: - $ref: '#/definitions/InitgPty4' pending_transactions: type: string xml: name: PendingTransactions description: Number of pending transactions to follow immediately for this customer maxLength: 35 title: GrpHdr xml: name: GrpHdr attribute: false wrapped: false GrpHdr31: type: object properties: forward_agent: type: object allOf: - $ref: '#/definitions/FwdgAgt' initiating_party: type: object allOf: - $ref: '#/definitions/InitgPty2' pending_transactions: type: string xml: name: PendingTransactions description: >- Number of pending transactions to follow immediately for this customer maxLength: 35 title: GrpHdr xml: name: GrpHdr attribute: false wrapped: false InitgPty2: type: object properties: id: type: string xml: name: Id description: Customers Interchange ID registered in Citi. maxLength: 35 name: type: string xml: name: Name description: Customer Name maxLength: 70 qualifier: type: string xml: name: Qualifier description: Customers Interchange ID Qualifier. Default is ZZ. maxLength: 35 title: InitgPty xml: name: InitgPty attribute: false wrapped: false InitgPty4: type: object properties: id: type: string xml: name: Id description: Customers Interchange ID registered in Citi maxLength: 35 name: type: string xml: name: Name description: Customer Name maxLength: 70 qualifier: type: string xml: name: Qualifier description: Customers Interchange ID Qualifier. Default is ZZ maxLength: 35 title: InitgPty4 xml: name: InitgPty attribute: false wrapped: false InquiryRequest: type: object properties: group_header: type: object allOf: - $ref: '#/definitions/GrpHdr31' payment_information: type: array xml: name: PmtInf items: $ref: '#/definitions/PmtInf2' title: InquiryRequest xml: name: InquiryRequest attribute: false wrapped: false InquiryResponse: type: object properties: group_header: type: object allOf: - $ref: '#/definitions/GrpHdr' original_payment_information_and_status: type: array xml: name: OrgnlPmtInfAndSts description: Original Payment Information And Status items: $ref: '#/definitions/OrgnlPmtInfAndSt0' title: InquiryResponse xml: name: InquiryResponse attribute: false wrapped: false InstdAmt: type: object properties: currency: type: string xml: name: Ccy description: Currency Code maxLength: 3 value: type: number format: double xml: name: Value description: Amount title: InstdAmt xml: name: InstdAmt attribute: false wrapped: false InstdAmt1: type: object properties: currency: type: string xml: name: Ccy description: Currency Code maxLength: 3 value: type: number format: double xml: name: Value description: Amount title: InstdAmt1 xml: name: InstdAmt attribute: false wrapped: false InstdAmt4: type: object properties: currency: type: string xml: name: Ccy description: Currency Code maxLength: 3 value: type: number format: double xml: name: Value description: Amount title: InstdAmt4 xml: name: InstdAmt attribute: false wrapped: false InvoiceRequest: type: object properties: group_header: type: object allOf: - $ref: '#/definitions/GrpHdr31' payment_information: type: array xml: name: PmtInf description: Individual PI detail items: $ref: '#/definitions/PmtInf' title: InvoiceRequest xml: name: InvoiceRequest attribute: false wrapped: false InvoiceResponse: type: object properties: group_header: type: object allOf: - $ref: '#/definitions/GrpHdr' original_payment_information_and_status: type: array xml: name: OrgnlPmtInfAndSts description: Original Payment Information And Status items: $ref: '#/definitions/OrgnlPmtInfAndSt' title: InvoiceResponse xml: name: InvoiceResponse attribute: false wrapped: false OrgnlPmtInfAndSt: type: object properties: original_control_sum: type: number format: double xml: name: OrgnlCtrlSum description: Represents the sum of all of the transactions within the PI. original_number_of_transactions: type: string xml: name: OrgnlNbOfTxs description: Number of Transactions maxLength: 15 original_payment_information_identification: type: string xml: name: OrgnlPmtInfId description: Original PI reference maxLength: 35 payment_information_status: type: string xml: name: PmtInfSts description: Payment Information Status maxLength: 35 status_reason_information: type: string xml: name: StsRsnInf description: Status Reason Information maxLength: 70 transaction_information_and_status: type: array xml: name: TxInfAndSts description: Transaction Information And Status items: $ref: '#/definitions/TxInfAndSt' title: OrgnlPmtInfAndSt xml: name: OrgnlPmtInfAndSt attribute: false wrapped: false OrgnlPmtInfAndSt0: type: object properties: original_control_sum: type: string xml: name: OrgnlCtrlSum description: Represents the sum of all of the transactions within the PI. maxLength: 35 original_number_of_transactions: type: string xml: name: OrgnlNbOfTxs description: Number of Transactions maxLength: 15 original_payment_information_identification: type: string xml: name: OrgnlPmtInfId description: Original PI reference maxLength: 35 payment_information_status: type: string xml: name: PmtInfSts description: Individual PI detail maxLength: 35 status_reason_information: type: string xml: name: StsRsnInf description: Adjustment Reason maxLength: 35 transaction_information_and_status: type: array xml: name: TxInfAndSts description: Transaction Information And Status items: $ref: '#/definitions/TxInfAndSt0' title: OrgnlPmtInfAndSt0 xml: name: OrgnlPmtInfAndSt attribute: false wrapped: false OrgnlTxRef: type: object properties: instructed_amount: type: object allOf: - $ref: '#/definitions/InstdAmt4' requested_execution_date: type: string xml: name: ReqdExctnDt description: Transaction Due Date maxLength: 35 remittance_information: type: object allOf: - $ref: '#/definitions/RmtInf0' title: OrgnlTxRef xml: name: OrgnlTxRef attribute: false wrapped: false OrgnlTxRef0: type: object properties: instructed_amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' requested_execution_date: type: string xml: name: ReqdExctnDt description: Transaction Due Date (YYYY-MM-DD) maxLength: 35 remittance_information: type: object allOf: - $ref: '#/definitions/RmtInf2' title: OrgnlTxRef0 xml: name: OrgnlTxRef attribute: false wrapped: false PmtInf: type: object properties: credit_transfer_transaction_information: type: array xml: name: CdtTrfTxInf description: Credit Transfer Transaction Information items: $ref: '#/definitions/CdtTrfTxInf2' control_sum: type: number format: double xml: name: CtrlSum description: Represents the sum of all of the transactions within the PI. debtor: type: object allOf: - $ref: '#/definitions/Dbtr0' debtor_account: type: object allOf: - $ref: '#/definitions/DbtrAcct0' debtor_agent: type: object allOf: - $ref: '#/definitions/DbtrAgt' number_of_transactions: type: string xml: name: NbOfTxs description: Number of Transactions maxLength: 15 payment_information_id: type: string xml: name: PmtInfId description: Original PI reference maxLength: 35 requested_execution_date: type: string xml: name: ReqdExctnDt description: Transaction Due Date maxLength: 35 title: PmtInf xml: name: PmtInf attribute: false wrapped: false PmtInf2: type: object properties: credit_transfer_transaction_information: type: array xml: name: CdtTrfTxInf description: Credit Transfer Transaction Information items: $ref: '#/definitions/CdtTrfTxInf' payment_information_id: type: string xml: name: PmtInfId description: Original PI reference. maxLength: 35 title: PmtInf2 xml: name: PmtInf attribute: false wrapped: false RmtInf: type: object properties: additional_remittance_information: type: array xml: name: AddtlRmtInf description: Additional Remittance information items: type: string maxLength: 80 structured: type: array xml: name: Strd description: Structured Remittance Information items: $ref: '#/definitions/Strd2' unstructured: type: array xml: name: Ustrd description: Unstructured Remittance Information items: type: string maxLength: 35 title: RmtInf xml: name: RmtInf attribute: false wrapped: false RmtInf0: type: object properties: additional_remittance_information: type: array xml: name: AddtlRmtInf items: type: string maxLength: 80 structured: type: array xml: name: Strd description: Structured Remittance Information items: $ref: '#/definitions/Strd1' unstructured: type: array xml: name: Ustrd description: Unstructured Remittance Information items: type: string maxLength: 35 title: RmtInf0 xml: name: RmtInf attribute: false wrapped: false RmtInf2: type: object properties: structured: type: array xml: name: Strd description: Structured Remittance Information items: $ref: '#/definitions/Strd2' unstructured: type: array xml: name: Ustrd description: Unstructured Remittance Information items: type: string description: items maxLength: 35 title: RmtInf2 xml: name: RmtInf attribute: false wrapped: false Strd: type: object properties: additional_remittance_information: type: array xml: name: AddtlRmtInf description: Additional Remittance information items: type: string description: items maxLength: 80 adjustment_amount_and_reason: type: array xml: name: AdjstmntAmtAndRsn description: Adjustment Amount and Reason items: $ref: '#/definitions/AdjstmntAmtAndRsn0' referred_document_number: type: string xml: name: RfrdDocNb description: Document Reference number maxLength: 15 referred_document_type: type: string xml: name: RfrdDocTp description: >- Type of record – must be CINV for invoice; CREN for Credit Memo ; DEBN for Debit Memo. maxLength: 4 related_date: type: string xml: name: RltdDt description: This is the original due date for the transaction maxLength: 35 title: Strd xml: name: Strd attribute: false wrapped: false Strd1: type: object properties: adjustment_amount_and_reason: type: array xml: name: AdjstmntAmtAndRsn items: $ref: '#/definitions/AdjstmntAmtAndRsn4' reference_document_number: type: string xml: name: RfrdDocNb description: Document Reference number maxLength: 15 reference_document_type: type: string xml: name: RfrdDocTp description: >- Type of record – must be CINV for invoice; CREN for Credit Memo; DEBN for Debit Memo. maxLength: 4 related_date: type: string xml: name: RltdDt description: This is the original due date for the transaction maxLength: 35 title: Strd1 xml: name: Strd attribute: false wrapped: false Strd2: type: object properties: additional_remittance_information: type: array xml: name: AddtlRmtInf description: Additional Remittance information items: type: string description: items maxLength: 80 adjustment_amount_and_reason: type: array xml: name: AdjstmntAmtAndRsn items: $ref: '#/definitions/AdjstmntAmtAndRsn' credit_note_amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' discount_applied_amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' due_payable_amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' referred_document_number: type: string xml: name: RfrdDocNb description: Document Reference number maxLength: 15 referred_document_type: type: string xml: name: RfrdDocTp description: >- Type of record – must be CINV for invoice; CREN for Credit Memo; DEBN for Debit Memo. maxLength: 4 related_date: type: string xml: name: RltdDt description: This is the original due date for the transaction maxLength: 35 remitted_amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' tax_amount: type: object allOf: - $ref: '#/definitions/InstdAmt1' title: Strd2 xml: name: Strd attribute: false wrapped: false TxInfAndSt: type: object properties: original_end_to_end_id: type: string xml: name: OrgnlEndToEndId description: Original End To End Id maxLength: 35 original_instrument_id: type: string xml: name: OrgnlInstrId description: Original Instrument Id maxLength: 35 original_transaction_reference: type: object allOf: - $ref: '#/definitions/OrgnlTxRef' status_reason_additional_information: type: string xml: name: StsRsnAddtlInf description: Status Reason Additional Information maxLength: 35 status_reason_code: type: string xml: name: StstRsnCd description: Status Reason Code maxLength: 4 transaction_status: type: string xml: name: TxSts description: Transaction Status maxLength: 35 title: TxInfAndSt xml: name: TxInfAndSt attribute: false wrapped: false TxInfAndSt0: type: object properties: original_end_to_end_id: type: string xml: name: OrgnlEndToEndId description: Original unique PI reference number from the customer’s incoming file. maxLength: 35 original_instructed_id: type: string xml: name: OrgnlInstrId description: Original Instructed Id maxLength: 35 original_transaction_reference: type: object allOf: - $ref: '#/definitions/OrgnlTxRef0' status_reason_additional_information: type: string xml: name: StsRsnAddtlInf description: Status Reason Information maxLength: 70 status_reason_code: type: string xml: name: StsRsnCd description: Status Reason Code maxLength: 35 transaction_status: type: string xml: name: TxSts description: Status of this PI maxLength: 35 title: TxInfAndSt0 xml: name: TxInfAndSt attribute: false wrapped: false ErrorResponse: type: object properties: ref_id: type: string xml: name: refId description: Unique identifier which can be used to track your request maxLength: 60 errors: type: array xml: name: errors wrapped: true items: $ref: '#/definitions/ErrorDetail' xml: name: errors attribute: false wrapped: false ErrorDetail: type: object properties: issue: type: string description: information about the issue maxLength: 150 action: type: string description: corrective action to be taken to resolve above issue maxLength: 150 code: type: string description: Error category which provides more insights on error type maxLength: 10 xml: name: error