swagger: '2.0' info: description: >- The FI Payment APIs lets you reconfirm or cancel payment requests against FI payments in payment insight. Download our SDKs: * [Python SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=python&apiTitle=all&isClientSecReq=true) * [Java SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=java&apiTitle=all&isClientSecReq=true) * [.Net SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=dotnet&apiTitle=all&isClientSecReq=true) * [Ruby SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=ruby&apiTitle=all&isClientSecReq=true) * [NodeJS SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=nodejs&apiTitle=all&isClientSecReq=true) * [Go SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=go&apiTitle=all&isClientSecReq=true) * [CLI Tool SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=ccapi-cli&apiTitle=all&isClientSecReq=true) Note: You must be logged in to download the SDKs. version: 3.0.0 title: FI Payment Services security: - clientCredentials: [] servers: - url: https://tts.apib2b.citi.com/citiconnect/prod/paymentservices/v3 description: production gateway URL - url: https://tts.apib2b.citi.com/citiconnect/sb/paymentservices/v3 description: sandbox URL paths: /payments/stops: post: summary: Payment Cancellation description: >- This API specification document provides descriptions of the request and response parameters for JSON content.

The FI cancellation API lets you stop or recall payment requests against FI payments in payment insight. It supports custom JSON & ISO XML (camt.056.001.09) format. Initiating an FI Cancellation API using the CitiConnect API requires a well-defined POST request where you can specify the endpoint URL to call the API. Additionally, you need to specify the values for input parameters in the body of your JSON/XML document. Finally, you will encrypt the payload, place it in your request and send it via your application. operationId: FICancellationAPI consumes: - application/json produces: - application/json 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: Content-type in: header description: Supports \"application/json\". required: true type: string - name: Authorization in: header description: The OAuth Token prefixed with "Bearer" and space in between. required: true type: string - name: request_type description: Operation name. The possible value for this header is STOP_REQUEST. in: header required: true type: string - name: FICancellationRequest in: body description: Describes the request body. required: true schema: $ref: '#/definitions/fi_cancellation_request' responses: '200': description: OK > Success response schema: $ref: '#/definitions/fi_cancellation_response' examples: application/json: transaction_status: status: ACCP type: >- Your request has been registered. We will notify you once the transaction is stopped/recalled. '400': description: BAD REQUEST schema: $ref: '#/definitions/error_response' examples: application/json: status: FAILED http_code: 400 errors: - issue: uetr/citi_reference/instruction_id cannot be null or empty. action: >- Please provide valid value for either UETR or (citi_reference/instruction_id with interbank_settlement_date). '401': description: UNAUTHORIZED schema: $ref: '#/definitions/error_response' examples: application/json: status: FAILED http_code: 401 errors: - issue: Authorization failed. action: Please try again with valid credentials. '404': description: NOT FOUND schema: $ref: '#/definitions/error_response' examples: application/json: status: FAILED http_code: 404 errors: - issue: Not found action: Please check the URL and try again later. '405': description: METHOD NOT ALLOWED schema: $ref: '#/definitions/error_response' examples: application/json: status: FAILED http_code: 405 errors: - issue: Method not allowed. action: Please use valid HTTP supported verb only. '415': description: FORBIDDEN schema: $ref: '#/definitions/error_response' examples: application/json: status: FAILED http_code: 415 errors: - issue: Provided content-type of the request is not valid. action: Resend request in valid format. '500': description: INTERNAL SERVER ERROR schema: $ref: '#/definitions/error_response' examples: application/json: status: FAILED http_code: 500 errors: - issue: Unable to process your request at this moment. action: Please try again after sometime. security: - clientCredentials: [] definitions: fi_cancellation_request: type: object properties: uetr: type: string format: uuid description: >- Unique End-to-end Transaction Reference (UETR) relating to a payment has been identified as being associated with a Request for Cancellation. It should follow UUID version 4 format. UETR or citi_reference with interbank_settlement_date or end_to_end_id / instruction_id with interbank_settlement_date is mandatory. minLength: 1 maxLength: 32 citi_reference: type: string description: >- This parameter specifies the product processor reference number for the transaction that needs to be cancelled or recalled. UETR or citi_reference with interbank_settlement_date or end_to_end_id / instruction_id with interbank_settlement_date is mandatory. maxLength: 32 end_to_end_id: type: string description: >- This is a unique end-to-end reference number that identifies a transaction that needs to be cancelled. UETR or citi_reference with interbank_settlement_date or end_to_end_id / instruction_id with interbank_settlement_date is mandatory. maxLength: 16 instruction_id: type: string description: >- This is a unique end-to-end instruction id that identifies a transaction that needs to be cancelled. UETR or citi_reference with interbank_settlement_date or end_to_end_id / instruction_id with interbank_settlement_date is mandatory. maxLength: 16 interbank_settlement_date: type: string description: >- This parameter specifies the value date (yyyy-MM-dd) of the original transaction that needs to be cancelled or recalled (the date on which funds were credited to the account). format: date reason: type: string description: >- This is the four digits cancellation code (Example - DUPL) which is specified by the customer to request to cancel the transaction. maxLength: 4 reason_description: type: string description: >- Further details on the request reason. Required for CUST and MS03 reason codes applicable to Stop services. maxLength: 150 required: - reason fi_cancellation_response: type: object description: Describes the response body in custom JSON format. properties: transaction_status: $ref: '#/definitions/transaction_status_detail' transaction_status_detail: type: object properties: status: type: string description: >- This parameter indicates the status of the cancel/recall request with set of values. for example - ACCP for Accepted or RJCT for Rejected. maxLength: 4 type: type: string description: >- This parameter provides additional information of the transaction when it is rejected/accepted. maxLength: 500 error_response: type: object description: Error response body. properties: status: type: string description: >- This parameter indicates the status of the reconfirm/reject or cancel/recall request with set of values. for example- FAILED. maxLength: 6 http_code: type: integer description: Indicates http status code to specify http response. status format: int32 pattern: ^[0-9]{3}$ errors: type: array description: >- Indicates actual error details with issues and corresponding actions to resolve the issue. items: $ref: '#/definitions/ErrorDetail' xml: wrapped: true ErrorDetail: type: object properties: issue: type: string description: More details about the issue. maxLength: 200 action: type: string description: Corrective action to be taken to resolve above issue. maxLength: 350 xml: name: error components: parameters: client_id: in: query name: client_id 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 schema: type: string contentType: in: header name: Content-Type description: Supports \"application/json\". required: true schema: type: string authorization: in: header name: Authorization description: The OAuth Token prefixed with "Bearer" and space in between. required: true schema: type: string 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.sit.apib2b.citi.com/citiconnect/sit5/authenticationservices/v3/oauth/token flow: application scopes: null