swagger: '2.0' info: description: >- The Clearing Exception Report API allows clients to review virtual cards transactions where the clearing amount is greater than the cumulative limit. version: '' title: VCA Clearing Exception Report servers: - url: https://tts.apib2b.citi.com/tts/cards description: production gateway URL - url: https://tts.sandbox.apib2b.citi.com/tts/cards description: sandbox URL schemes: - https produces: - application/json security: - clientCredentials: [] paths: /vca/v1/reports/clearingexception: post: tags: - VCA Clearing Exception Report summary: Clearing Exceptions description: '' operationId: getClearingExceptionReport parameters: - name: Content-Type in: header description: Supports application/json required: true type: string - name: Authorization in: header description: >- Oauth token included by the external client to APIm. APIm will external the client ID and pass it to Citi. required: true type: string - 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: Country in: header description: >- Three character length country code used during onboarding into Citi. required: true type: string - name: Region in: header description: >- This value will be used by APIm to route to the respective Citi backend instance required: true type: string - name: Req-Sys-Id in: header description: >- Unique ID of the API message sent. The messageId will be provided back in the corresponding response. The ID can be used for investigation and troubleshooting. The ID must be unique per integration. required: true type: string - in: body name: ClearingExceptionReportInboundRequest description: ClearingExceptionReportInboundRequest required: true schema: $ref: '#/definitions/ClearingExceptionReportInboundRequest' responses: '200': description: >-
CodeDetails
ClearingExceptionReportInboundResponsesuccess
schema: $ref: '#/definitions/ClearingExceptionReportInboundResponse' '206': description: >-
ClearingExceptionReportInboundResponsePartial success
schema: $ref: '#/definitions/ClearingExceptionReportInboundResponse' '400': description: >-
ResponseCodes400
Error CodeError Description
ERS0001Invalid Virtual Card Account Number format
ERS0003timeZone field is empty or has an invalid UTC offset time zone format
ERS0010Invalid Report ID format. Report ID must include numeric values
ERC0004Transactions were unable to be returned for the requested data range. Please try again, or contact Citi support if you have any further questions or comments.
ERS0051 startDate should not exceed today's date
ERS0052endDate should not exceed today's date
ERS0053Start Date is Mandatory.
ERS0054End Date is Mandatory.
ERS0057startDate value exceeds requested endDate value
ERS0060Client ID and/or Program Id is missing in Client Onboard Configuration setup. Contact Citi support.
ERS0061VCA ID is not present in our system
ERS0063Requested Time Zone is not supported
ERS0068Program Id is Mandatory.
ERS0069Vca Id is Mandatory.
ERS0071Virtual Card Account Number is Mandatory.
ERS0072Requested report date cannot exceed 36 months in the past from today's date
ERS0079The requested report ID(s) is for a VCA that is different than the VCA included in the request. Please include the VCA associated to the report ID(s).
ERS0080The requested report ID(s) is for a programId that is different than the programId included in the request. Please include the programId associated to the report ID(s).
ERS0081The requested report ID(s) is for a timeZone that is different than the timeZone included in the request. Please include the timeZone associated to the report ID(s).
ERS0082The requested report IDs are for different VCAs, Please include report IDs that belong to the same VCA.
ERS0083The requested report IDs are for different program IDs, Please include report IDs that belong to the same program ID.
ERS0084The requested report IDs are for different requested time zones, Please include report IDs that belong to the same requested time zone.
ERS0091startDate value must have valid format: YYYY-MM-DD
ERS0092endDate value must have valid format: YYYY-MM-DD
ERS0093The date specified in startDate does not exist
ERS0094The date specified in endDate does not exist
ERS0095Report ID included in your request is not present for the given ClientID/program ID. Please generate a new report ID for this Reports request by calling the Reports API without a report ID
ERS0096programId included in the request is unauthorized for the Clearing Exception Report API
MS0001Invalid Virtual Card Account Number
MS0002From date should be before to date.
MS0006Invalid vcaId value
MS0008Invalid Report ID
GRC0002Client ID is missing in the request header
GRC0003Invalid JSON Input
GRC0004Region ID is not available in the request
GRC0005Client Tracking ID is missing in the request header
GRC0010Client Tracking ID length should contain a min of 1 character and a max of 36 characters
GRC0011 Client ID and/or Country and/or region id is missing in Client Onboard Configuration setup. Contact Citi support.
GRC0012Necessary header value is missing
GRC0016Country code is not available in the request
schema: $ref: '#/definitions/ResponseCodes400' '500': description: >-
ResponseCode500
Error CodeError Description
GRC0001We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you have any further questions or comments.
GRC0006We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you have any further questions or comments.
GRC0009We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you have any further questions or comments.
GRC0014We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you have any further questions or comments
schema: $ref: '#/definitions/ResponseCode500' 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: ClearingExceptionReportInboundRequest: required: - endDate - programId - startDate - timeZone - vcaId - virtualCardAccountNumber properties: startDate: type: string format: alphanumeric example: '2020-07-23' description: >- Specifies the start date from when the reports can be retrieved.
Format: `YYYY-MM-DD` maxLength: 10 endDate: type: string format: alphanumeric example: '2020-07-29' description: >- Specifies the end date upto when the reports can be retrieved.
Format: `YYYY-MM-DD` maxLength: 10 programId: type: string format: long example: '233191' description: Unique ID of the company record defined in the virtual cards system. vcaId: type: string format: long example: '900497' description: A reference number that uniquely identifies the virtual card account. virtualCardAccountNumber: type: string format: alphanumeric example: '5555000075555000' description: The virtual card account number to use for transactions. maxLength: 19 timeZone: type: string format: alphanumeric example: UTC+05:30 description: Defines the time zone applicable for any date or time maxLength: 9 reportIds: type: array example: '[39824281, 2309853]' description: Report ID associated to 30-day date range report request items: type: string ClearingExceptionReportInboundResponse: required: - endDate - messageId - programId - reportStatus - startDate - timeZone - vcaId - virtualCardAccountNumber properties: vcaId: type: string format: long example: '900497' description: A reference number that uniquely identifies the virtual card account. messageId: type: string format: alphanumeric example: CITI00002022122818090320221228180903 description: >- Unique ID of the API message sent. The `messageId` will be provided back in the corresponding response. The ID can be used for investigation and troubleshooting. The ID must be unique per integration. minLength: 28 maxLength: 36 programId: type: string format: long example: '233191' description: Returned based on what client passes in the request startDate: type: string format: alphanumeric example: '2020-07-23' description: >- Specifies the start date from when the report is retrieved.
Format: `YYYY-MM-DD` maxLength: 10 endDate: type: string format: alphanumeric example: '2020-07-29' description: >- Specifies the end date up to when the report is retrieved.
Format: `YYYY-MM-DD` maxLength: 10 reportStatus: type: string format: alphanumeric example: Completed description: >- Defines the status of the data that was requested whether the request has been processed or not. maxLength: 16 warning: type: string format: alphanumeric example: string description: >- Warning information regarding a non-fatal response condition that may be taken into account, but can be ignored maxLength: 200 timeZone: type: string format: alphanumeric example: UTC+05:30 description: Defines the time zone applicable for any date or time maxLength: 9 virtualCardAccountNumber: type: string format: alphanumeric example: '5555000075555000' description: The virtual card account number to use for transactions. maxLength: 19 info: type: array items: $ref: '#/definitions/Info' clearingRecords: type: array items: $ref: '#/definitions/ClearingRecords' Info: required: - status properties: fromDate: type: string format: alphanumeric example: '2020-07-23' description: >- These are fields returned by Citi to breakup the total requested date range of 30 days for Mastercard.
Format: `YYYY-MM-DD` maxLength: 10 toDate: type: string format: alphanumeric example: '2020-07-29' description: >- These are fields returned by Citi to breakup the total requested date range of 30 days for Mastercard.
Format: `YYYY-MM-DD` maxLength: 10 status: type: string format: alphanumeric example: Completed description: >- Defines the status of the data that was requested whether the request has been processed or not.
Possible values:
Completed
Pending
Failed maxLength: 10 reportId: type: string format: alphanumeric example: '1234567' description: >- Specifies the report Id generated from Master Card for given 30 day range maxLength: 19 errorCode: type: string format: alphanumeric example: ERS0001 description: >- The error code if there is any error occurred while retrieving the transaction errorMessage: type: string format: alphanumeric example: >- Unable to connect master card network at this request, please try again after some time. description: >- The error description that corresponds to error code when there is any error occurred while retrieving the transaction maxLength: 200 ClearingRecords: required: - authorizationAmount - cumulativeSpendLimit - settlementAmount - settlementCurrencyCode - settlementCurrencyDescription - spendVelocityLimit - transactionPostDate properties: transactionPostDate: type: string format: alphanumeric example: '2020-12-23' description: Specifies card transaction once its posted / settled from network maxLength: 10 settlementAmount: type: string format: double example: '100.02' description: Specifies card transaction amount where actual settlement was done maxLength: 12 settlementCurrencyCode: type: string format: alphanumeric example: USD description: >- Specifies the currency code on which actual settlement of transaction was done maxLength: 3 settlementCurrencyDescription: type: string format: alphanumeric example: U.S. Dollar description: >- Specifies the currency code description on which actual settlement of transaction was done maxLength: 70 authorizationAmount: type: string format: double example: '95.02' description: >- Specifies the value of transaction amount part of the authorization request maxLength: 12 cumulativeSpendLimit: type: string format: double example: '100.02' maxLength: 14 periodType: type: string format: alphanumeric example: C description: >- Period for which the control values are valid before they reset.

Possible Values:
D = Daily
The balances of control parameters enabled for a VCA are reset with their original values every day at 00:00:00.

M = Monthly
The balances of control parameters enabled for a VCA are reset with their original values at the start of every month.

W = Weekly
The balances of control parameters enabled for a VCA are reset with their original values every Monday at 00:00:00.

Q = Quarterly
The balances of control parameters enabled for a VCA are reset with their original values on the first day of every quarter at 00:00:00.
Quarter 1: January 01 - March 31.
Quarter 2: April 01 - June 30.
Quarter 3: July 01 - September 30.
Quarter 4: October 01 - December 31.

Y = Annually
The balances of control parameters enabled for a VCA are reset with their original values every year on January 1st at 00:00:00.

C = Continuous
The balances of control parameters enabled for a VCA are retained continuously for the validity period defined. Balances do not reset with their original values throughout the validity period. maxLength: 1 spendVelocityLimit: type: string format: double example: '200.9' description: Difference between cumulativeSpendLimit and settlementAmount maxLength: 14 customReference: type: array description: Array of custom refernce lable & value pairs items: $ref: '#/definitions/CustomReference' CustomReference: properties: customReferenceLabel: type: string format: alphanumeric example: Purchase Type description: Specifies the label of a custom reference field. maxLength: 50 customReferenceValue: type: string format: alphanumeric example: Airlines description: Specifies the value of a custom reference field. maxLength: 80 ClearingExceptionReportErrorResponse: properties: errorMessage: type: array items: $ref: '#/definitions/ErrorResponseCode' ErrorResponseCode: properties: code: type: string format: alphanumeric description: which indicates the error code enum: - ERS0060 - ERS0052 - ERS0054 - ERS0051 - ERS0053 - ERS0057 - MS0002 - ERS0072 - ERS0003 - ERS0063 - ERS0004 - ERS0061 - MS0006 - ERS0001 - GRC0001 - GRC0002 - GRC0003 - GRC0004 - GRC0007 - GRC0011 - GRC0012 - GRC0014 - ERS0067 - ERS0068 - ERS0069 - ERS0070 - ERS0071 - ERC0004 description: type: string format: alphanumeric description: >- The error description that corresponds to error code when there is any
error occurred while retrieving the transaction.
* `ERS0001`-Invalid Virtual Card Account Number format
* `ERS0003`-timeZone field is empty or has an invalid UTC offset time zone format
* `ERS0010`-Invalid Report ID format. Report ID must include numeric values
* `ERC0004`-Transactions were unable to be returned for the requested data range. Please try again, or contact Citi support if you have any further questions or comments.
* `ERS0051`- startDate should not exceed todays date
* `ERS0052`-endDate should not exceed todays date
* `ERS0053`-Start Date is Mandatory.
* `ERS0054`-End Date is Mandatory.
* `ERS0057`-startDate value exceeds requested endDate value
* `ERS0060`-Client ID and/or Program Id is missing in Client Onboard Configuration setup. Contact Citi support.
* `ERS0061`-VCA ID is not present in our system\t
* `ERS0063`-Requested Time Zone is not supported
* `ERS0068`-Program Id is Mandatory.\t
* `ERS0069`-Vca Id is Mandatory.
* `ERS0071`-Virtual Card Account Number is Mandatory.
* `ERS0072`-Requested report date cannot exceed 36 months in the past from todays date
* `ERS0079`-The requested report ID(s) is for a VCA that is different than the VCA included in the request. Please include the VCA associated to the report ID(s).
* `ERS0080`-The requested report ID(s) is for a programId that is different than the programId included in the request. Please include the programId associated to the report ID(s).
* `ERS0081`-The requested report ID(s) is for a timeZone that is different than the timeZone included in the request. Please include the timeZone associated to the report ID(s).
* `ERS0082`-The requested report IDs are for different VCAs, Please include report IDs that belong to the same VCA.
* `ERS0083`-The requested report IDs are for different program IDs, Please include report IDs that belong to the same program ID.
* `ERS0084`-The requested report IDs are for different requested time zones, Please include report IDs that belong to the same requested time zone.
* `ERS0091`-startDate value must have valid format: YYYY-MM-DD
* `ERS0092`-endDate value must have valid format: YYYY-MM-DD
* `ERS0093`-The date specified in startDate does not exist
* `ERS0094`-The date specified in endDate does not exist
* `ERS0095`-Report ID included in your request is not present for the given ClientID/program ID. Please generate a new report ID for this Reports request by calling the Reports API without a report ID
* `ERS0096`-programId included in the request is unauthorized for the Clearing Exception Report API
* `MS0001`-Invalid Virtual Card Account Number
* `MS0002`-From date should be before to date.
* `MS0006`-Invalid vcaId value
* `MS0008`-Invalid Report ID
* `GRC0001`-We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you have any further questions or comments
* `GRC0002`-Client ID is missing in the request header\t
* `GRC0003`-Invalid JSON Input
* `GRC0004`-Region ID is not available in the request
* `GRC0005`-Client Tracking ID is missing in the request header
* `GRC0010`-Client Tracking ID length should contain a min of 1 character and a max of 36 characters
* `GRC0011`- Client ID and/or Country and/or region id is missing in Client Onboard Configuration setup. Contact Citi support.
* `GRC0012`-Necessary header value is missing
* `GRC0014`-We have encountered an error and couldn't receive your request. Please try again, or contact Citi support if you have any further questions or comments\t
* `GRC0016`-Country code is not available in the request ResponseCodes400: properties: errors: type: array items: $ref: '#/definitions/ResponseCodes' ResponseCodes: required: - errorCode - errorDescription properties: errorCode: type: string format: alphanumeric example: ERS0072 description: which indicates the error code maxLength: 30 errorDescription: type: string format: alphanumeric example: >- Requested report date cannot exceed 36 months in the past from today s date description: which indicates the error description maxLength: 300 ResponseCode500: properties: errors: type: array items: $ref: '#/definitions/ResponseCode' ResponseCode: properties: errorCode: type: string example: GRC0014 description: which indicates the error code errorDescription: type: string example: >- We have encountered an error and could not receive your request. Please try again, or contact Citi support if you have any further questions or comments description: which indicates the error description