openapi: 3.0.3 info: title: Receivable Services description: >- CitiConnect API service allows you to do the virtual account (VA) creation functionality directly from your client ERP system. You can access the VA APIs create and manage functions such as update, delete, and inquiry for virtual accounts. You can create VAs using the reservation and activation endpoints. contact: name: Standards & Developer Hub url: https://tts.sandbox.developer.citi.com/citiconnect/ email: developer-support@citi.com version: 1.0.0 servers: - url: https://tts.sandbox.apib2b.citi.com/citiconnect/sb description: 'sandbox URL ' - url: https://tts.apib2b.citi.com/citiconnect/prod description: production gateway URL tags: - name: Virtual Account-Wallet paths: /receivablesservices/v2/virtualaccounts: post: tags: - Virtual Account-Wallet summary: Reserve Virtual Accounts description: >- The virtual account creation is a 2-step process (using the reservation and activation services), you can use POST and PUT endpoints one after another.
Contact your citi representative for the number of accounts you can request for reservation per API.

Use POST verb for Reservation action
- The API support XML and JSON formats.
- The reservation/activation functionality is identified based on the request payload (`action`).
- You specify values for input parameters in the body of your XML/JSON document.
- You encrypt the payload, place it in your request and send it with your application.

Content-Type: Supports application/xml and application/json.
Authorization: The OAuth Token prefixed with bearer and a space in between.

Allowed characters: A-Z, a-z, 0-9, Space
Allowed punctuation marks: ' ( ) * - , . / : ; _ & { } $ # @ [ ] operationId: virtualAccountReservation parameters: - $ref: '#/components/parameters/Client-Id' - $ref: '#/components/parameters/Idempotency-Id' requestBody: description: Describes the virtual account creation APIs request body parameters. content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Reservation-Request' examples: VAReservationExample: $ref: '#/components/examples/Reservation-Example' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Reservation-Request' examples: VAReservationExample: value: >- RESERVATION001122445593050C responses: '202': $ref: '#/components/responses/Accepted-Response' '400': $ref: '#/components/responses/Bad-Request' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '405': $ref: '#/components/responses/Method-Not-Allowed' '409': $ref: '#/components/responses/Idempotency-Duplication' '415': $ref: '#/components/responses/Unsupported-Media-Type' '429': $ref: '#/components/responses/Too-Many-Request' '500': $ref: '#/components/responses/Internal-Server-Error' security: - clientCredentials: [] callbacks: virtual-account-reservation: $ref: '#/components/callbacks/Reservation-Response' put: tags: - Virtual Account-Wallet summary: Activate Virtual Accounts description: >- The virtual account creation is a 2-step process (using the reservation and activation services), you can use POST and PUT endpoints one after another.

Use PUT verb for Activation action
- The API support XML and JSON formats.
- The reservation/activation functionality is identified based on the request payload (action).
- You specify values for input parameters in the body of your XML/JSON document.
- You encrypt the payload, place it in your request and send it with your application.

Content-Type: Supports application/xml and application/json.
Authorization: The OAuth Token prefixed with Bearer and space in between.

Allowed characters: A-Z, a-z, 0-9, Space
Allowed punctuation marks: ' ( ) * - , . / : ; _ & { } $ # @ [ ] operationId: virtualAccountActivation parameters: - $ref: '#/components/parameters/Client-Id' requestBody: description: Describes the virtual account creation APIs request body parameters. content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Activation-Request' examples: VAActivationEntityIdExample: $ref: '#/components/examples/Activation-Entity-Id-Example' VAActivationEntityDetailsExample: $ref: '#/components/examples/Activation-Entity-Details-Example' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Activation-Request' examples: VAActivationEntityIdExample: value: >- ACTIVATION5121842193010000000202133567CYDMB0TGcLscEhdjsP0YRlCA VAActivationEntityDetailsExample: value: >- ACTIVATION5121842193010000000201340652CYFDGDFGFDGC2024-02-29GHHsdc.coBNVJHGJHwatches/BusinessPurposeabcUSTAX_IDA{{$timestamp}}CN
3100 Keele st533L5B 3Y6North YorkOntarioCN
GGHJFHJGCFFHG2024-02-29
534 cYTross st533785263caraladoUSUS
callbacks: virtual-account-activation: $ref: '#/components/callbacks/Activation-Response' responses: '202': $ref: '#/components/responses/Accepted-Response' '400': $ref: '#/components/responses/Bad-Request' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '405': $ref: '#/components/responses/Method-Not-Allowed' '415': $ref: '#/components/responses/Unsupported-Media-Type' '429': $ref: '#/components/responses/Too-Many-Request' '500': $ref: '#/components/responses/Internal-Server-Error' security: - clientCredentials: [] patch: tags: - Virtual Account-Wallet summary: Update Virtual Accounts description: >- The virtual account update (using the update service endpoint) allows you to modify virtual account information.

Use the PATCH verb for Update action
- The API support XML and JSON formats.
- The update functionality is identified based on the request payload (action).
- You specify values for input parameters in the body of your XML/JSON document.
- You encrypt the payload, place it in your request, and send it with your application.

The virtual account update endpoint allows you to modify the virtual account details and status.
Below are the sub-object combinations allowed under the virtual_account object for updates:

- VALID combination 1: For `virtual_account.entity.type = C` (Company), update the entity details under a virtual_account using the `virtual_account.entity` as well as `virtual_account.beneficial_owner`
- VALID combination 2: For `virtual_account.entity.type = S` (Sole Trader), update the entity details under a virtual_account using the `virtual_account.entity`
- VALID combination 3: For `virtual_account.entity.type = I` (Individual), update the entity details under a virtual_account using the `virtual_account.entity`
- VALID combination 4: Apply the posting restrictions on virtual_account use only the `virtual_account.credit_debit_preferences` object

Below are the INVALID object combinations for the PATCH endpoint:
- INVALID combination 1: Only with `virtual_account.entity` for `virtual_account.entity.type = C` (Company)
- INVALID combination 2: Only with `virtual_account.beneficial_owner`
- INVALID combination 3: With all 3 objects, `virtual_account.entity`, `beneficial_owner`, `credit_debit_preferences`
- INVALID combination 4: With 2 objects, `virtual_account.entity`, `credit_debit_preferences`
- INVALID combination 5: With 2 objects, `virtual_account.beneficial_owner`, `credit_debit_preferences`

Content-Type: Supports application/xml and application/json.
Authorization: The OAuth Token prefixed with Bearer and space in between.

Allowed characters: A-Z, a-z, 0-9, Space
Allowed punctuation marks: ' ( ) * - , . / : ; _ & { } $ # @ [ ] operationId: virtualAccountUpdate parameters: - $ref: '#/components/parameters/Client-Id' requestBody: description: >- Describes the virtual account creation endpoint request body parameters. content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Update-Request' examples: VAUpdateEntityDetailsExample: $ref: '#/components/examples/Update-Entity-Details-Example' VAPostingRestrictionExample: $ref: '#/components/examples/Update-Posting-Restriction-Example' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Update-Request' examples: VAUpdateEntityDetailsExample: value: >- UPDATE512184219309305441932INCFGlajbO0_vpOdtwXU3OiC2002-11-12www.dd.comddddddUSTAX_IDUSA1737720860
125 Oain st155/35614526369cubaNC32US
GGHJFHJGCFFHG2002-11-12
534 cYTross st22785263caraladoUSUS
VAPostingRestrictionExample: value: >- UPDATE5121842193010000000202133567YN callbacks: virtual-account-activation: $ref: '#/components/callbacks/Update-Response' responses: '202': $ref: '#/components/responses/Accepted-Response' '400': $ref: '#/components/responses/Bad-Request' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '405': $ref: '#/components/responses/Method-Not-Allowed' '409': $ref: '#/components/responses/Idempotency-Duplication' '415': $ref: '#/components/responses/Unsupported-Media-Type' '429': $ref: '#/components/responses/Too-Many-Request' '500': $ref: '#/components/responses/Internal-Server-Error' security: - clientCredentials: [] get: tags: - Virtual Account-Wallet summary: Check Virtual Account Status and Details description: >- The virtual account inquiry endpoint can be used primarily for virtual account status check as well as information purposes.

- Scenario 1: `request_id` (applicable only for reservation API (verb: POST) `request_ids`))
- Scenario 2: `virtual_account`
- Scenario 3: `virtual_account`, `branch_code`
- Scenario 4: `request_id` and `virtual_account` (preference will be given to `virtual_account` and the `request_id` will be ignored) operationId: virtualAccountInquiry parameters: - $ref: '#/components/parameters/Client-Id' - $ref: '#/components/parameters/Branch-Code' - $ref: '#/components/parameters/Reservation-Request-Id' - $ref: '#/components/parameters/Encrypted-Params' responses: '200': $ref: '#/components/responses/Inquiry-Response' '400': $ref: '#/components/responses/Bad-Request-Sync-Response' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '405': $ref: '#/components/responses/Method-Not-Allowed' '429': $ref: '#/components/responses/Too-Many-Request' '500': $ref: '#/components/responses/Internal-Server-Error' security: - clientCredentials: [] delete: tags: - Virtual Account-Wallet summary: Deactivate Virtual Accounts description: >- Deactivation can be performed only if an account holds no balances.
Deactivation is an irreversible action
Please perform the necessary verification before deactivating any virtual accounts. operationId: virtualAccountDeactivation parameters: - $ref: '#/components/parameters/Client-Id' - $ref: '#/components/parameters/Branch-Code' - $ref: '#/components/parameters/Encrypted-Params' responses: '202': $ref: '#/components/responses/De-Activation-Accepted-Response' '400': $ref: '#/components/responses/De-Activation-Bad-Request-Response' '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/Not-Found' '405': $ref: '#/components/responses/Method-Not-Allowed' '429': $ref: '#/components/responses/Too-Many-Request' '500': $ref: '#/components/responses/Internal-Server-Error' callbacks: virtual-account-activation: $ref: '#/components/callbacks/De-Activation-Response' components: parameters: Client-Id: name: client_id in: query description: >- Unique reference shared during CitiConnect API onboarding (`client_id` used during OAuth token generation). required: true schema: type: string maxLength: 128 example: f56f0f6b-74fe-4dfa-b4ab-0da35a46b65e Idempotency-Id: name: Idempotency-Id in: header description: >- Your unique identification for a POST request
- Maximum length is 128.
- CitiConnect API responds with an error (HTTP status 4XX) if your POST request idempotency identification value is a duplicate across a recent history of idempotency identifications in Citi's database
- If you don't receive any response (HTTP status 2XX, 4XX or 5XX) from Citi to your POST request and you wish to retry, re-initiate your request with the same idempotency identification to prevent an accidental duplicate payment. required: true schema: type: string maxLength: 128 example: a44cbb606de4edb9a7a123414bba3bb Apim-Guid: name: Apim-Guid in: header required: true description: >- Unique system-generated reference number, refer this number in case of any discrepancy reporting to a Citi representative. schema: type: string maxLength: 52 minLength: 1 example: na-apimgwgtds04~4a98cbc5-d813-4e65-bc81-d70f0f87f6ec Event-Type: name: Event-Type in: header required: true description: Describes the PUSH Notification (callback) event type. schema: type: string maxLength: 20 minLength: 1 example: VAMAPI Event-Name: name: Event-Name in: header required: true description: Describes the PUSH Notification (callback) event name. schema: type: string maxLength: 20 minLength: 1 example: Status Update Pagination-Metadata: name: Pagination-Metadata in: header required: true description: >- current_page: current page number
total_page: total number of pages available for your request
page_size: total number of records available in the current page
has_more: anymore message or records expected schema: type: string example: '{"current_page":2, "total_pages":10, "page_size":100,"has_more":true}' Branch-Code: name: branch_code in: query required: false description: Citi's bank code associated with given a header account number. schema: type: string minLength: 3 maxLength: 4 example: '960' Reservation-Request-Id: name: request_id in: query required: false description: >- request_id received as part of 'Reservation API' response.
Inquiry using the `request_id` parameter can be done only if the virtual account is not ACTIVATED yet.
Inquiry can be made up to 90 days from the date from which the `request_id` was created. schema: type: string minLength: 1 maxLength: 40 example: 0ae52a57-01ff-43a0-a8cc-6112dfcb4c64 Encrypted-Params: name: Encrypted-Params in: header schema: type: string description: >- Encrypt the key values as below:
- Virtual account

Use your digital cert to do the encryption.

virtual_account:
In the GET operation: Virtual account that was reserved as well as activated are allowed
In DELETE operation: Virtual account that was activated is only allowed example: '{"virtual_account":"1234567890"}' schemas: Virtual-Account-Reservation-Request: title: VirtualAccountReservationRequest xml: name: VirtualAccountReservationRequest required: - action properties: action: title: action xml: name: Action type: string description: >- Action is a request type.
- Choose the action value as ''RESERVATION'', if you want to reserve virtual accounts for the previous virtual header account. enum: - RESERVATION example: RESERVATION header_account: $ref: '#/components/schemas/Header-Account' number_of_accounts_required: title: number_of_accounts_required xml: name: NumAcctReq type: integer minimum: 1 maximum: 50000 description: >- Required parameter only if the value of the `action` parameter is 'RESERVATION'.

This parameter specifies the number of virtual accounts requested to be reserved. Minimum account that can be requested/supported under one API call is 1. Contact your Citi representative for the number of accounts you are allowed to request per API call. example: 10 purpose: $ref: '#/components/schemas/Purpose-Ref' Virtual-Account-Activation-Request: title: VirtualAccountActivationRequest xml: name: VirtualAccountActivationRequest required: - action properties: action: title: action xml: name: Action type: string description: >- Action is a request type.
- Choose the action value as ''ACTIVATION'', if you want to activate the virtual account which was reserved earlier. enum: - ACTIVATION example: ACTIVATION header_account: $ref: '#/components/schemas/Header-Account' virtual_account: $ref: '#/components/schemas/Virtual-Account' Virtual-Account-Update-Request: title: VirtualAccountRequest xml: name: VirtualAccountUpdateRequest required: - action properties: action: title: action xml: name: Action type: string description: >- Action is a request type.
- Choose the action value as 'UPDATE', if you want to update the virtual account details that were stored earlier. enum: - UPDATE example: UPDATE header_account: $ref: '#/components/schemas/Header-Account' virtual_account: $ref: '#/components/schemas/Virtual-Account-Update' Header-Account: title: HeaderAccount xml: name: HeaderAccount type: object properties: account: title: account xml: name: Account type: string minLength: 1 maxLength: 40 description: >- Required parameter if the value of the `action` parameter is 'RESERVATION' (or) 'ACTIVATION' (or) 'UPDATE'. Specifies the header account number assigned during the account opening. example: '0123456789' branch_code: title: branch_code xml: name: BranchCode type: string minLength: 3 maxLength: 4 description: Citi's bank code associated with given a header account number. example: '820' Virtual-Account: title: VirtualAccount xml: name: VirtualAccount type: object properties: account: title: account xml: name: Account type: string minLength: 1 maxLength: 40 description: >- Required parameter only if the value of the `action` parameter is 'ACTIVATION'.

This parameter specifies the virtual account to be activated. example: '0123456789' purpose: $ref: '#/components/schemas/Purpose-Ref' balance_display_option: title: balance_display_option xml: name: BalanceDisplayOption type: string enum: - 'Y' - 'N' description: >- This parameter is only applicable if the value of the `action` parameter is set to 'ACTIVATION'.

This parameter specifies whether to display opening or closing balances or not. Default value is 'Y'.

Description of possible parameter values:
Y - Show virtual account opening and closing balances.

N - Show ZERO opening and closing balance for virtual account in statements and reports. example: 'Y' entity: $ref: '#/components/schemas/Entity' beneficial_owner: title: BeneficialOwner description: >- This parameter is only applicable if the value of the `action` parameter is set to 'ACTIVATION' and the relevant purpose parameter is ENUMS.

Required parameter if the `entity.id` parameter is not used.

- Not applicable for sole trader (`entity.type`='S') and individual (`entity.type`='I').

- For company (`entity.type`='C'), where `entity.address.country` = 'CN', `beneficial_owner` fields are optional. xml: name: BeneficialOwner wrapped: true type: array minItems: 1 maxItems: 4 items: $ref: '#/components/schemas/Beneficial-Owner' Virtual-Account-Update: title: VirtualAccount xml: name: VirtualAccount type: object properties: account: title: account xml: name: Account type: string minLength: 1 maxLength: 40 description: >- Required parameter if the value of the `action` parameter is 'UPDATE'.

This parameter specifies the virtual account details to be modified. example: '0123456789' entity: $ref: '#/components/schemas/Entity-Update' beneficial_owner: title: BeneficialOwner description: >- Note: Provides the complete beneficial owner's list which is updated into the system. This action replaces the existing beneficial owner's details

Required object if the `entity` object is used.

- Not applicable for sole trader (`entity.type`='S') and individual (`entity.type`='I') xml: name: BeneficialOwner wrapped: true type: array minItems: 1 maxItems: 4 items: $ref: '#/components/schemas/Beneficial-Owner-Update' credit_debit_preferences: $ref: '#/components/schemas/Credit-Debit-Preferences-Update-Request' Header-Account-Sync-Response: title: HeaderAccountResponse xml: name: HeaderAccount type: object required: - account - branch_code properties: account: title: account xml: name: Account type: string minLength: 1 maxLength: 40 description: >- Specifies the header account number under which the virtual accounts are reserved/activated. example: '0123456789' branch_code: title: branch_code xml: name: BranchCode type: string minLength: 3 maxLength: 4 description: Citi's bank code associated with given a header account number. example: '820' Virtual-Account-Sync-Response: title: VirtualAccountResponse xml: name: VirtualAccount type: object required: - account - status properties: account: title: account xml: name: Account type: string minLength: 1 maxLength: 40 description: >- This parameter specifies the virtual account for which the inquiry results are shown. example: '0123456789' status: title: status xml: name: Status type: string description: >- Status of the virtual account presented in the inquiry.
Possible status:
- `RESERVED`
- `ACTIVE`
- `CLOSED` example: ACTIVE balance_display_option: title: balance_display_option xml: name: BalanceDisplayOption type: string enum: - 'Y' - 'N' description: >- This parameter specifies whether 'opening' or 'closing' balances are displayed.
Default value is 'Y'.

Description of possible parameter values:
Y - Show virtual account opening and closing balances.

N - Show ZERO opening and closing balance for virtual account in statements and reports. example: 'Y' entity: $ref: '#/components/schemas/Entity-Sync-Response' credit_debit_preferences: $ref: '#/components/schemas/Credit-Debit-Preferences-Response' beneficial_owner: title: BeneficialOwner description: >- Parameters are applicable only if the value of the `action` parameter is set to 'ACTIVATION' and the relevant purpose parameter is ENUMS. xml: name: BeneficialOwner wrapped: true type: array minItems: 1 maxItems: 4 items: $ref: '#/components/schemas/Beneficial-Owner-Sync-Response' Entity-Sync-Response: title: Entity description: Parameters are shown only if the virtual account is activated. xml: name: Entity allOf: - type: object title: Entity properties: id: title: id xml: name: Id type: string minLength: 20 maxLength: 20 description: >- The entity ID that was assigned specifically to the entity that was activated under this virtual account. example: EN_45678901234567890 last_name: title: last_name xml: name: LastName type: string maxLength: 210 description: >- Entity Name (concatenated form of 'first_name' and 'last_name') pertaining to the entity that was activated under this virtual account. example: LastName date_of_birth: title: date_of_birth xml: name: DateOfBirth type: string minLength: 10 maxLength: 10 pattern: >- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ description: >- Date of birth or incorporation date pertaining to the entity that was activated under this virtual account. This parameter is represented in a fixed 10-digit format (YYYY-MM-DD) as per ISO standards. example: '1995-04-01' org_prvt_identification: $ref: >- #/components/schemas/Organisation-Private-Identification-Sync-Response address: $ref: '#/components/schemas/Address-Sync-Response' Credit-Debit-Preferences-Update-Request: title: Credit-Debit-Preferences-Request xml: name: CreditDebitPreferences description: >- Option to revoke the debit or credit privileges into the virtual account. type: object properties: disallow_credit: type: string description: Preference chosen to disallow credit on a virtual account. title: disallow_credit xml: name: DisallowCredit enum: - 'Y' - 'N' example: 'Y' disallow_debit: type: string description: Preference chosen to disallow debit on a virtual account. title: disallow_debit xml: name: DisallowDebit enum: - 'Y' - 'N' example: 'N' Credit-Debit-Preferences-Response: title: Credit-Debit-Preferences-Response xml: name: CreditDebitPreferences description: >- Option to revoke the debit or credit privileges into the virtual account. type: object properties: disallow_credit: type: string description: Preference chosen to disallow a credit on virtual accounts. title: disallow_credit xml: name: DisallowCredit enum: - 'Y' - 'N' example: 'Y' disallow_debit: type: string description: Preference chosen to disallow a debit on virtual account. title: disallow_debit xml: name: DisallowDebit enum: - 'Y' - 'N' example: 'N' Entity: title: Entity description: >- Required parameter only if the value of `action` is set to 'ACTIVATION'. xml: name: Entity allOf: - $ref: '#/components/schemas/Entity-Contact-Name' - type: object - required: - country_of_operation properties: id: title: id xml: name: Id type: string minLength: 20 maxLength: 20 description: >- For activation, either the `entity.id` (or) rest of the entity details under the entity object are required. example: EN_45678901234567890 type: title: type xml: name: Type type: string enum: - C - S - I description: >- Required parameter under the `entity` object if the `id` parameter is not used.
Populate the entity type applicable for the entity being activated under this virtual account.

C = COMPANY

S = SOLE TRADER - enterprise owned and run by one person and in which there is no legal distinction between the owner and the business entity

I = INDIVIDUAL - natural person who is the sole owner of the enterprise and is personally liable for all the debts of the enterprise. example: C date_of_birth: title: date_of_birth xml: name: DateOfBirth type: string minLength: 10 maxLength: 10 pattern: >- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ description: >- Populates the date of birth or incorporation date pertaining to the entity that is being activated under this virtual account. It is in fixed 10-digit format (YYYY-MM-DD) as per ISO standard.
- Required parameter when sole trader (`entity.type`='S') or individual (`entity.type`='I') is present
- Optional for company (`entity. Type`='C').
- For sole trader (`entity.type`='S') and individual (`entity.type`='I'), merchant age should be 18 years or above at the time of activation.
- Year (YYYY) and Month (MM) values in `date_of_birth` cannot be zero.
- For company (`entity.type`='C'), the incorporation date cannot be a future date. example: '1995-04-01' website: title: website xml: name: Website type: string maxLength: 200 description: >- Enter the website of entity being activated under this virtual account. example: http://www.dd.com store_name: title: store_name xml: name: StoreName type: string maxLength: 105 description: >- Enter the store name of the entity being activated under this virtual account. Optional field, should not be considered as the entity name. example: ABC business_purpose: title: business_purpose xml: name: BusinessPurpose type: string maxLength: 105 description: >- Populate the business purpose applicable for the entity being activated under this virtual account. example: Trade acronym: title: acronym xml: name: Acronym type: string maxLength: 105 description: >- Populate the acronym for the entity being activated under this virtual account. example: Buss country_of_operation: title: country_of_operation xml: name: CtryOfOpr type: string minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ description: >- Enter the 'Country code' under which the entity is operated.
Required parameter for both `entity.id` (or) entity details combination. example: CA org_prvt_identification: $ref: '#/components/schemas/Organisation-Private-Identification' address: $ref: '#/components/schemas/Address' Entity-Update: title: Entity description: >- Required parameter only if the value of 'action' parameter is set to 'ACTIVATION'. xml: name: Entity allOf: - $ref: '#/components/schemas/Entity-Contact-Name' - type: object - required: - country_of_operation properties: id: title: id xml: name: Id type: string minLength: 20 maxLength: 20 description: >- For update `entity id` is mandatory and populate the ID that was associated with this virtual account. example: EN_45678901234567890 website: title: website xml: name: Website type: string maxLength: 200 description: >- Enter the website of the entity being activated under this virtual account. example: http://www.dd.com store_name: title: store_name xml: name: StoreName type: string maxLength: 105 description: >- Enter the store name of the entity being activated under this virtual account. Optional parameter, should not be considered as the entity name. example: ABC business_purpose: title: business_purpose xml: name: BusinessPurpose type: string maxLength: 105 description: >- Enter the business purpose applicable for the entity being activated under this virtual account. example: Trade acronym: title: acronym xml: name: Acronym type: string maxLength: 105 description: >- Enter the acronym for the entity being activated under this virtual account. example: Buss type: title: type xml: name: Type type: string enum: - C - S - I description: >- Enter the acronym for the entity being activated under this virtual account.

C = COMPANY

S = SOLE TRADER - enterprise owned and run by one person and in which there is no legal distinction between the owner and the business entity.

I = INDIVIDUAL - natural person who is the sole owner of the enterprise and is personally liable for all the debts of the enterprise. example: C date_of_birth: title: date_of_birth xml: name: DateOfBirth type: string minLength: 10 maxLength: 10 pattern: >- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ description: >- Populates the date of birth or incorporation date pertaining to the entity that is being activated under this virtual account. It is in fixed 10-digit format (YYYY-MM-DD) as per ISO standard.
- Required parameter when sole trader (`entity.type`='S') or individual (`entity.type`='I') is present
- Optional for company (`entity. Type`='C'). example: '1995-04-01' country_of_operation: title: country_of_operation xml: name: CtryOfOpr type: string minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ description: >- Enter the 'Country code' in which the entity is operated.
Required parameter for both `entity.id` (or) the entity details combination. example: CA org_prvt_identification: $ref: >- #/components/schemas/Organisation-Private-Identification-Update-Request address: $ref: '#/components/schemas/Address' Entity-Contact-Name: title: Entity-Contact-Name xml: name: EntityContactName type: object properties: first_name: title: first_name xml: name: FirstName type: string minLength: 1 maxLength: 105 description: >- First name of entity linked to a virtual account.
Required parameter if the `entity` object is used.
- Required parameter when sole trader (`entity.type`='S') or individual (`entity.type`='I') is present
- Not applicable for company (`entity.type`='C'). - For 'US' virtual_account.entity.first_name and virtual_account.entity.last_name fields combined total length including spaces cannot exceed 34 characters.
- For sole trader (`entity.type`='S') and individual (`entity.type`='I'), `entity.first_name` and `entity.last_name` should not be same. example: John last_name: title: last_name or entity_name xml: name: LastName type: string minLength: 1 maxLength: 105 description: >- Last name of the entity linked to a virtual account.
Required parameter if the `entity` object is used.

- For sole trader (`entity.type`='S') or individual (`entity.type`='I') - include the last name
- For company (`entity.type`='C') - include the legal entity name. - For 'US' virtual_account.entity.first_name and virtual_account.entity.last_name fields combined total length including spaces cannot exceed 34 characters.
- For company (`entity.type`='C'), `entity.last_name` should not be same as `beneficial_owner.first_name` + `beneficial_owner.last_name` (spaces between first name and last name removed) for any beneficial owner. example: Thomas Bo-Contact-Name: title: Bo-Contact-Name xml: name: BoContactName type: object properties: first_name: title: first_name xml: name: FirstName type: string minLength: 1 maxLength: 105 description: >- First name of the entity's beneficial owner.
Required parameter if the `virtual_account.beneficial_owner` object is not used. example: John last_name: title: last_name xml: name: LastName type: string minLength: 1 maxLength: 105 description: >- Last name of the entity's beneficial owner.
Required parameter if the `virtual_account.beneficial_owner` object is not used. example: Thomas Organisation-Private-Identification: title: OrganisationPrivateIdentification xml: name: OrganisationPrivateIdentification type: object required: - type - id - country_of_issuance description: Required parameter if the `entity.id` parameter is not used. properties: type: title: type xml: name: Type type: string enum: - TAX_ID description: >- Type of the identification that is provided in this object. Type maximum length can be up to 200 characters. - 'TAX_ID' Tax Identification example: TAX_ID id: title: id xml: name: Id type: string minLength: 1 maxLength: 255 description: >- Identification pertaining to the entity which is used for the virtual account activation.
- If `org_prvt_identification.type` is `TAX_ID`, then `org_prvt_identification.id` should be 1 to 35 characters and should not be blank, repeated single digit values (for example, "1111111111111"), or simple sequential values (for example, "1234567891011").
- For US, if `org_prvt_identification.type` is `TAX_ID`, then `org_prvt_identification.id` should be in EIN format (XX-XXXXXXX). example: '1234567890' country_of_issuance: title: country_of_issuance xml: name: CountryOfIssuance type: string minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ description: Country code where the provided identification has been issued. example: US Organisation-Private-Identification-Update-Request: title: OrganisationPrivateIdentification xml: name: OrganisationPrivateIdentification type: object required: - type - id - country_of_issuance properties: type: title: type xml: name: Type type: string enum: - TAX_ID description: >- Type of the identification that is populated in this object. - 'TAX_ID' Tax Identification example: TAX_ID id: title: id xml: name: Id type: string minLength: 1 maxLength: 255 description: >- Identification pertaining to the entity which is used for the virtual account activation. example: '1234567890' country_of_issuance: title: country_of_issuance xml: name: CountryOfIssuance type: string minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ description: Country code where the provided identification has been issued. example: US Organisation-Private-Identification-Sync-Response: title: OrganisationPrivateIdentificationSyncResponse xml: name: OrganisationPrivateIdentification type: object properties: type: title: type xml: name: Type type: string minLength: 1 maxLength: 200 enum: - TAX_ID description: >- Type of the identification that is populated in this object. - 'TAX_ID' Tax Identification example: TAX_ID id: title: id xml: name: Id type: string minLength: 1 maxLength: 255 description: >- Identification pertaining to the entity which is used for the virtual account activation. example: '1234567890' country_of_issuance: title: country_of_issuance xml: name: CountryOfIssuance type: string minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ description: Country code where the provided identification has been issued. example: US Address: title: Address xml: name: Address type: object required: - street_name - building_number - postal_code - town_name - country_sub_division - country description: >- Address object is required if the `entity` object is used. - For 'US' combined total length for entity address including spaces cannot exceed 100 characters and this restriction is not applicable for beneficial owner. properties: street_name: title: street_name xml: name: StrtNm type: string minLength: 1 maxLength: 70 description: >- Address details of the entity (or) the beneficial owner of the virtual account. Required parameter in the `Address` object. example: 3100 Keele st building_number: title: building_number xml: name: BldgNb type: string minLength: 1 maxLength: 16 description: >- Address details of the entity (or) the beneficial owner of the virtual account. - If building number is not present then provide virtual_account.entity.building_number as N/A. example: '533' postal_code: title: postal_code xml: name: PstCd type: string minLength: 1 maxLength: 16 description: >- Address details of the entity (or) the beneficial owner of virtual account. Required parameter in the `Address` object. example: L5B 3Y6 town_name: title: town_name xml: name: TwnNm type: string minLength: 1 maxLength: 35 description: >- Address details of the entity (or) the beneficial owner of the virtual account. Required parameter in the `Address` object. example: North York country_sub_division: title: country_sub_division xml: name: CtrySubDvsn type: string minLength: 1 maxLength: 35 description: >- Address details of the entity (or) the beneficial owner of the virtual account. Required parameter in the `Address` object. example: Ontario country: title: country xml: name: Ctry type: string minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ description: >- Address details of the entity (or) the beneficial owner of the virtual account. Required parameter in the `Address` object. example: CA Address-Sync-Response: title: AddressSyncResponse xml: name: Address type: object properties: street_name: title: street_name xml: name: StrtNm type: string minLength: 1 maxLength: 70 description: >- Address details of the entity (or) the beneficial owner of the virtual account. example: 3210 Abcd st building_number: title: building_number xml: name: BldgNb type: string minLength: 1 maxLength: 16 description: >- Address details of the entity (or) the beneficial owner of the virtual account. example: '123' postal_code: title: postal_code xml: name: PstCd type: string minLength: 1 maxLength: 16 description: >- Address details of the entity (or) the beneficial owner of the virtual account. example: L5B 111 town_name: title: town_name xml: name: TwnNm type: string minLength: 1 maxLength: 35 description: >- Address details of the entity (or) the beneficial owner of the virtual account. example: North York country_sub_division: title: country_sub_division xml: name: CtrySubDvsn type: string minLength: 1 maxLength: 35 description: >- Address details of the entity (or) the beneficial owner of the virtual account. example: Ontario country: title: country xml: name: Ctry type: string minLength: 2 maxLength: 2 pattern: ^[A-Z]{2}$ description: >- Address details of the entity (or) the beneficial owner of the virtual account. example: CA Beneficial-Owner-Update: title: BeneficialOwner xml: name: BeneficialOwner allOf: - $ref: '#/components/schemas/Bo-Contact-Name' - title: ContactName - type: object - required: - date_of_birth properties: date_of_birth: title: date_of_birth xml: name: DateOfBirth type: string minLength: 10 maxLength: 10 pattern: >- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ description: >- Required parameter in the `Beneficial Owner` object if the object is used.
Populates the date of birth date pertaining to the Beneficial owner of the entity. It is in a fixed 10-digit format (YYYY-MM-DD) as per the ISO standard. example: '1980-04-01' address: $ref: '#/components/schemas/Address' Beneficial-Owner: title: BeneficialOwner xml: name: BeneficialOwner allOf: - $ref: '#/components/schemas/Bo-Contact-Name' - type: object - required: - date_of_birth properties: date_of_birth: title: date_of_birth xml: name: DateOfBirth type: string minLength: 10 maxLength: 10 pattern: >- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ description: >- Required parameter in the `Beneficial Owner` object if the object is used.
Populates the date of birth date pertaining to the Beneficial owner of the entity. It is in a fixed 10-digit format (YYYY-MM-DD) as per the ISO standard.

- For company (`entity.type`='C'), Beneficial Owner age should be 18 years or above at the time of activation.
- Year (YYYY) and Month (MM) values in `date_of_birth` cannot be zero. example: '1980-04-01' address: $ref: '#/components/schemas/Address' Beneficial-Owner-Sync-Response: title: BeneficialOwnerSyncResponse xml: name: BeneficialOwnerSyncResponse allOf: - $ref: '#/components/schemas/Bo-Contact-Name' - type: object properties: date_of_birth: title: date_of_birth xml: name: DateOfBirth type: string minLength: 10 maxLength: 10 pattern: >- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ description: >- Required parameter in the `Beneficial Owner` object if the object is used.
Populates the date of birth date pertaining to the Beneficial owner of the entity. It is in a fixed 10-digit format (YYYY-MM-DD) as per the ISO standard. example: '1980-04-01' address: $ref: '#/components/schemas/Address-Sync-Response' Purpose-Ref: title: purpose xml: name: Purpose type: string enum: - C description: >- This parameter specifies the purpose for the creation of the virtual account. This is a required parameter for both the `action` parameters, 'RESERVATION' and 'ACTIVATION'.
Allowed value is 'C'.
- 'C' - Client's Customer example: C Virtual-Account-Inquiry-Response: title: VirtualAccountInquiryResponse xml: name: VirtualAccountInquiryResponse required: - status - header_account - virtual_account type: object properties: request_id: title: request_id xml: name: RequestId type: string description: Auto-generated unique identification assigned to the request. example: 30b9c9d7-d4d9-48ce-8823-f9b3ee276b8d header_account: $ref: '#/components/schemas/Header-Account-Sync-Response' virtual_account: $ref: '#/components/schemas/Virtual-Account-Sync-Response' Virtual-Account-Update-Response: title: VirtualAccountResponse xml: name: VirtualAccountResponse properties: request_id: title: request_id xml: name: RequestId type: string minLength: 1 maxLength: 40 description: Auto-generated unique identification assigned to the request. example: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f status: title: status xml: name: Status type: string minLength: 1 maxLength: 20 description: >- Status of the request.
Possible statuses are
SUCCESS
REJECTED
PENDING
NOTIFICATION-SUCC example: SUCCESS message: title: message xml: name: Message type: string minLength: 1 maxLength: 400 description: Detailed response description for a given request. example: Request accepted Successfully action: title: action xml: name: Action type: string description: >- Action of the given request.
- ''INTERNALUPDATE''
- ''INTERNALREVIEW''
- ''UPDATE''. example: UPDATE branch_code: title: branch_code xml: name: BranchCode type: string minLength: 3 maxLength: 4 description: Citi's bank code associated with given a header account number. example: '820' error_details: title: error_details type: array xml: name: ErrorDetails wrapped: true items: $ref: '#/components/schemas/Error-Detail' virtual_account: $ref: '#/components/schemas/Virtual-Account-Update' Virtual-Account-Response: title: VirtualAccountResponse xml: name: VirtualAccountResponse properties: request_id: title: request_id xml: name: RequestId type: string minLength: 1 maxLength: 40 description: Auto-generated unique identification assigned for the request. example: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f status: title: status xml: name: Status type: string minLength: 1 maxLength: 20 description: >- Status of the request.
Possible statuses are
SUCCESS
REJECTED
PENDING example: SUCCESS message: title: message xml: name: Message type: string minLength: 1 maxLength: 400 description: Detailed response for the particular request. example: Request accepted Successfully action: title: action xml: name: Action type: string description: >- Action of the given request.
- ''RESERVATION''
- ''ACTIVATION''
- ''DEACTIVATE''. example: DEACTIVATE branch_code: title: branch_code xml: name: BranchCode type: string minLength: 3 maxLength: 4 description: Citi's bank code associated with given a header account number. example: '820' error_details: title: error_details type: array xml: name: ErrorDetails wrapped: true items: $ref: '#/components/schemas/Error-Detail' account: title: account xml: name: Account wrapped: true type: array items: $ref: '#/components/schemas/Accounts' Accounts: type: object title: Accounts properties: virtual_account: title: virtualAccount xml: name: VirtualAccount type: string minLength: 1 maxLength: 40 description: >- Required parameter only if the value of the `action` parameter is set to 'ACTIVATION'.

This parameter specifies the virtual account to be activated. example: '0123456789' entity_id: title: id xml: name: EntityId type: string minLength: 20 maxLength: 20 description: >- ID that was assigned specific to the entity being activated under this virtual account. example: EN_45678901234567890 iban: title: iban xml: name: Iban type: string description: >- The International Bank Account Number (IBAN) for the virtual account. pattern: ^[A-Z]{2}[0-9]{2}[A-Z0-9]{4}[0-9]{7}([A-Z0-9]?){0,16}$ example: GB29NWBK60161331926819 Error-Detail: title: ErrorDetail type: object xml: name: ErrorDetail properties: code: title: code xml: name: Code type: string maxLength: 7 description: >- Unique ID for the error code.

Under GET method and callbacks, this parameter is a non-retrievable internal error code:
CC00013. issue: title: issue xml: name: Issue type: string description: More details about the issue. maxLength: 200 action: title: action xml: name: Action type: string description: Corrective action to be taken to resolve above issue. maxLength: 350 Error-Message: title: ErrorMessage xml: name: ErrorMessage description: Description of the error. properties: ref_id: type: string title: ref_id xml: name: RefId maxLength: 60 pattern: \w*\W* description: Unique reference ID for a particular request. error_details: title: error_details type: array items: $ref: '#/components/schemas/Error-Detail' xml: name: ErrorDetails wrapped: true httpCode: title: httpCode xml: name: httpCode type: string description: HTTP status code of this API. httpMessage: title: httpMessage xml: name: httpMessage type: string description: Short message about the issue. moreInformation: title: moreInformation xml: name: moreInformation type: string description: More information about the issue. 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: /authenticationservices/v3/oauth/token scopes: {} responses: Inquiry-Response: description: VA Status Inquiry headers: apim-guid: schema: type: string description: Citi's unique identification for your request. Deprecation: description: >- The date when the API was stopped or will be stopped by the system owner. ISO 8601-1:2019 format. schema: type: string format: date-time Sunset: description: >- The date when the API will no longer be supported by the system owner. The API will no longer be responsive and all REQUESTS will generate an error. ISO 8601-1:2019 format. schema: type: string format: date-time Link: description: Latest working URL that can be used for the same purpose. schema: type: string RateLimit-Limit: description: >- The rate limit ceiling for that given request measured in a 24 hour cycle. schema: type: string RateLimit-Remaining: description: The number of requests left in a 15 minute window. schema: type: string RateLimit-Reset: description: The remaining window before the rate limit resets. ISO 8601-1:2019. schema: type: string format: date-time content: application/json: schema: oneOf: - $ref: '#/components/schemas/Virtual-Account-Inquiry-Response' - $ref: '#/components/schemas/Virtual-Account-Response' examples: VirtualAccountResponseExample: $ref: '#/components/examples/Inquiry-Sync-Account-Response' RequestIDResponseExample: $ref: '#/components/examples/Reservation-Success-Async' RequestIDPendingResponseExample: $ref: '#/components/examples/Reservation-Pending-Inquiry' application/xml: schema: oneOf: - $ref: '#/components/schemas/Virtual-Account-Inquiry-Response' - $ref: '#/components/schemas/Virtual-Account-Response' examples: VirtualAccountResponseExample: value: >- feeb8c90-ee61-4321-8905-c33c746455fd5121842193010000000202133567ACTIVEYDMB0TGcLscEhdjsP0YRlFDGDFGFDG2024-02-29TAX_IDA{{$timestamp}}CN
3100 Keele st533L5B 3Y6North YorkOntarioCN
NNGGHJFHJGCFFHG2024-02-29
534 cYTross st533785263caraladoUSUS
RequestIDResponseExample: value: >- 312e398f-86ca-4afa-839c-c5b12cb8ef87SUCCESSAccount Reservation Request Successfully ProcessedRESERVATION9301000000020213356710000000202133575100000002021335831000000020213359110000000202133604 RequestIDPendingResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fPENDINGYour request is under processing, please retry after sometime Accepted-Response: description: Accepted headers: Deprecation: description: >- The date when this API was stopped or will be stopped by the system owner. ISO 8601-1:2019 format. schema: type: string format: date-time Sunset: description: >- The date when this API will no longer be Supported by the system owner. The API will no longer be responsive and all REQUESTS will generate an error. ISO 8601-1:2019 format. schema: type: string format: date-time Link: description: Latest working URL that can be used for the same purpose. schema: type: string RateLimit-Limit: description: >- The rate limit ceiling for that given request measured in a 24 hour cycle. schema: type: string RateLimit-Remaining: description: The number of requests left in a 15 minute window. schema: type: string RateLimit-Reset: description: The remaining window before the rate limit resets. ISO 8601-1:2019. schema: type: string format: date-time content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: SynchronousResponseExample: $ref: '#/components/examples/Level0-Response' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: SynchronousResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fACCEPTEDRequest accepted Successfully De-Activation-Accepted-Response: description: Accepted content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: SynchronousResponseExample: $ref: '#/components/examples/Level0-Response' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: SynchronousResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fACCEPTEDRequest accepted Successfully Bad-Request-Sync-Response: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: Bad-Request: $ref: '#/components/examples/Bad-Request-Sync-Response-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: Bad-Request-Sync-Xml-Response-Example: $ref: '#/components/examples/Bad-Request-Sync-Response-Example' De-Activation-Bad-Request-Response: $ref: '#/components/responses/Bad-Request-Sync-Response' Bad-Request: description: Bad Request content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: BadRequest: $ref: '#/components/examples/Bad-Request-Json-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: BadRequest: value: >- ec689822-9864-4c4d-9d68-222467627902VC00012Provided value is not within the range for the header_account.branch_code parameter.Please provide a valid value for the header_account.branch_code parameter, size must be between 3 and 4. Unauthorized: description: Unauthorized content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: Unauthorized: $ref: '#/components/examples/Unauthorized-Example' GatewayUnauthorized: $ref: '#/components/examples/Gateway-Un-Authorized' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: Unauthorized: value: >- ec689822-9864-4c4d-9d68-222467627902CC00007User does not have authorization to access.Please use valid credentials to access this functionality.CC00007User does not have authorization to access.Please use valid credentials to access this functionality. GatewayUnauthorized: value: >- 401UnauthorizedInvalid client identification. Idempotency-Duplication: description: Conflict content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: IdempotencyDuplicationExample: $ref: '#/components/examples/Idempotency-Duplication-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: IdempotencyDuplicationExample: value: >- ec689822-9864-4c4d-9d68-222467627902VC00016Idempotency-Id provided is currently being used in another request.Please do not repeat the same request again. Forbidden: description: Forbidden content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: Forbidden: $ref: '#/components/examples/Forbidden-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: Forbidden: value: >- ec689822-9864-4c4d-9d68-222467627902CC00008User does not have the privileges to access this functionality.Please reach out to support team to enable this feature. Method-Not-Allowed: description: Method Not Allowed content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: MethodNotAllowed: $ref: '#/components/examples/Method-Not-Allowed-Example' GatewayMethodNotAllowed: $ref: '#/components/examples/Gateway-Method-Not-Allowed-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: MethodNotAllowed: value: >- ec689822-9864-4c4d-9d68-222467627902CC00007Method Not AllowedPlease use valid method type GatewayMethodNotAllowed: value: >- 405Method Not AllowedThe method is not allowed for the requested URL. Not-Found: description: Not Found content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: NotFound: $ref: '#/components/examples/Not-Found-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: NotFound: value: >- 404Not FoundNo resources match requested URI Too-Many-Request: description: Too Many Request content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: TooManyRequest: $ref: '#/components/examples/Too-Many-Request-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: TooManyRequest: value: >- ec689822-9864-4c4d-9d68-222467627902CC00009Requests are exceeding the allowed limitResend the request after ${time} minutes Unsupported-Media-Type: description: Unsupported Media Type content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: UnsupportedMediaType: $ref: '#/components/examples/Unsupported-Media-Type-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: UnsupportedMediaType: value: >- ec689822-9864-4c4d-9d68-222467627902CC00002Media type not supportedPlease use valid content-type in the header. Internal-Server-Error: description: Internal Server Error content: application/json: schema: $ref: '#/components/schemas/Error-Message' examples: InternalServerError: $ref: '#/components/examples/Internal-Server-Error-Example' GatewayInternalServerError: $ref: '#/components/examples/Gateway-Internal-Server-Error-Example' InternalError: $ref: '#/components/examples/Internal-Error-Example' application/xml: schema: $ref: '#/components/schemas/Error-Message' examples: InternalServerError: value: >- ec689822-9864-4c4d-9d68-222467627902CC00004Unable to serve your request at this moment.Please contact the support team. GatewayInternalServerError: value: >- 500Internal Server ErrorInternal Server Error InternalError: value: >- ec689822-9864-4c4d-9d68-222467627902CC00013Unable to process your request at this time.Please contact the support team for further assistance. callbacks: Reservation-Response: '{$notificationURL}': post: parameters: - $ref: '#/components/parameters/Apim-Guid' - $ref: '#/components/parameters/Event-Type' - $ref: '#/components/parameters/Event-Name' - $ref: '#/components/parameters/Pagination-Metadata' description: >- A periodic status update is triggered in an asynchronous manner (Callback/PUSH notifications) to the `notificationURL` that the client shared. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: AsynchronousSuccessResponseExample: $ref: '#/components/examples/Reservation-Success-Async' AsynchronousFailureResponseExample: $ref: '#/components/examples/Reservation-Failure-Async' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: AsynchronousSuccessResponseExample: value: >- e4994334-f776-4234-a304-1bbc5be9eccbRESERVATIONSUCCESSAccount Reservation Request Successfully Processed9301000000020153313910000000201533147100000002015331551000000020153316310000000201533171 AsynchronousFailureResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fRESERVATIONREJECTEDVC00001Invalid Header AccountPlease provide valid Header Account820 responses: '202': description: Accepted content: application/json: schema: type: object Activation-Response: '{$notificationURL}': post: parameters: - $ref: '#/components/parameters/Apim-Guid' - $ref: '#/components/parameters/Event-Type' - $ref: '#/components/parameters/Event-Name' description: >- Periodic status updates are triggered in an asynchronous manner (Callback/PUSH notifications) to the `notificationURL` that the client shared. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: AsynchronousSuccessResponseExample: $ref: '#/components/examples/Activation-Success-Async' AsynchronousFailureResponseExample: $ref: '#/components/examples/Activation-Failure-Async' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: AsynchronousSuccessResponseExample: value: >- bfe1c5f6-35c0-4149-b8e1-adab23da3afbACTIVATIONSUCCESSThe Virtual Account Number is now active93010000000201340652eEDWVSV00W-CgC20CbBnGB29NWBK60161331926819 AsynchronousFailureResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fACTIVATIONREJECTEDVC00001Invalid Virtual accountPlease provide a valid virtual account.820 responses: '202': description: Accepted content: application/json: schema: type: object Update-Response: '{$notificationURL}': post: parameters: - $ref: '#/components/parameters/Apim-Guid' - $ref: '#/components/parameters/Event-Type' - $ref: '#/components/parameters/Event-Name' description: >- Periodic status updates are triggered in an asynchronous manner (Callback/PUSH notifications) to the `notificationURL` that the client shared. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Update-Response' examples: AsynchronousEntityDetailsSuccessResponseExample: $ref: '#/components/examples/Update-Entity-Details-Async' AsynchronousPostingRestrictionSuccessResponseExample: $ref: '#/components/examples/Update-Posting-Restriction-Async' AsynchronousFailureResponseExample: $ref: '#/components/examples/Update-Failure-Async' AsynchronousRescreenSuccessResponseExample: $ref: '#/components/examples/Rescreen-Async' AsynchronousBroadcastSuccessResponseExample: $ref: '#/components/examples/Broadcast-Async' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Update-Response' examples: AsynchronousEntityDetailsSuccessResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fUPDATESUCCESSVirtual account number is updated now.8200123456789INCEN_45678901234567890Cwww.ddee.comABCTradeBussCATAX_ID1234567890US
3210 Abcd st123L5B 111North YorkOntarioCA
JamesWhite2001-05-01
3210 Abcd st123L5B 111North YorkOntarioCA
MarkWhite2000-05-01
3210 Abcd st123L5B 111North YorkOntarioCA
AsynchronousPostingRestrictionSuccessResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fUPDATESUCCESSVirtual account 323545 is now updated.8200123456789YN AsynchronousFailureResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fUPDATEREJECTEDVC00001Invalid virtual account.Please provide a valid virtual account820 AsynchronousRescreenSuccessResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fINTERNALREVIEWNOTIFICATION-SUCCPlease note the merchant account reflected has been changed.8200123456789INCEN_45678901234567890Cwww.ddee.comABCTradeBussCATAX_ID1234567890US
3210 Abcd st123L5B 111North YorkOntarioCA
JamesWhite2001-05-01
3210 Abcd st123L5B 111North YorkOntarioCA
MarkWhite2000-05-01
3210 Abcd st123L5B 111North YorkOntarioCA
AsynchronousBroadcastSuccessResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fINTERNALUPDATENOTIFICATION-SUCCPlease note the merchant account reflected has been changed per your request.8200123456789INCEN_45678901234567890Cwww.ddee.comABCTradeBussCATAX_ID1234567890US
3210 Abcd st123L5B 111North YorkOntarioCA
JamesWhite2001-05-01
3210 Abcd st123L5B 111North YorkOntarioCA
MarkWhite2000-05-01
3210 Abcd st123L5B 111North YorkOntarioCA
responses: '202': description: Accepted content: application/json: schema: type: object De-Activation-Response: '{$notificationURL}': post: parameters: - $ref: '#/components/parameters/Apim-Guid' - $ref: '#/components/parameters/Event-Type' - $ref: '#/components/parameters/Event-Name' description: >- Periodic status updates are triggered in an asynchronous manner (Callback/PUSH notifications) to the `notificationURL` that the client shared. requestBody: required: true content: application/json: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: AsynchronousSuccessResponseExample: $ref: '#/components/examples/De-Activation-Success-Async' AsynchronousFailureResponseExample: $ref: '#/components/examples/De-Activation-Failure-Async' application/xml: schema: $ref: '#/components/schemas/Virtual-Account-Response' examples: AsynchronousSuccessResponseExample: value: >- 878a21a6-ad8c-456e-bdc7-d293eccdbcf5DEACTIVATESUCCESSThe Virtual Account Number is now successfully Closed.93010000000201340652 AsynchronousFailureResponseExample: value: >- 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8fDEACTIVATEREJECTEDVC00001Invalid virtual account.Please provide a valid virtual account.820 responses: '202': description: Accepted content: application/json: schema: type: object examples: Reservation-Example: value: action: RESERVATION header_account: account: '0011224455' branch_code: '930' number_of_accounts_required: 50 purpose: C Activation-Entity-Id-Example: value: action: ACTIVATION header_account: account: '0011224455' branch_code: '930' virtual_account: account: '0123456789' purpose: C balance_display_option: 'Y' entity: id: EN_45678901234567890 country_of_operation: CA Activation-Entity-Details-Example: value: action: ACTIVATION header_account: account: '0011224455' branch_code: '930' virtual_account: account: '0123456789' purpose: C balance_display_option: 'Y' entity: last_name: INC type: C website: www.dd.com store_name: ABC business_purpose: Trade acronym: Buss country_of_operation: CA org_prvt_identification: type: TAX_ID id: '1234567890' country_of_issuance: US address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA beneficial_owner: - last_name: James first_name: White date_of_birth: '2001-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA - last_name: Mark first_name: White date_of_birth: '2000-05-01' address: street_name: 3210 Abcd st building_number: '12' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA Update-Entity-Details-Example: value: action: UPDATE header_account: account: '01010202030' branch_code: '930' virtual_account: account: '0123456789' entity: last_name: INC id: EN_45678901234567890 type: C website: www.ddee.com store_name: ABC business_purpose: Trade acronym: Buss country_of_operation: CA org_prvt_identification: type: TAX_ID id: '1234567890' country_of_issuance: US address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA beneficial_owner: - last_name: James first_name: White date_of_birth: '2001-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA - last_name: Mark first_name: White date_of_birth: '2000-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA Update-Posting-Restriction-Example: value: action: UPDATE header_account: account: '01010202030' branch_code: '930' virtual_account: account: '0123456789' credit_debit_preferences: disallow_credit: 'Y' disallow_debit: 'N' Level0-Response: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f status: ACCEPTED message: Request accepted Successfully Inquiry-Sync-Account-Response: value: request_id: 0ae52a57-01ff-43a0-a8cc-6112dfcb4c64 header_account: account: '0123456789' branch_code: '820' virtual_account: account: '0123456789' status: ACTIVATED balance_display_option: 'Y' credit_debit_preferences: disallow_credit: 'Y' disallow_debit: 'N' entity: id: EN_123456789 last_name: David Copperfield date_of_birth: '1999-11-11' org_prvt_identification: type: TAX_ID id: '1234567890' country_of_issuance: US address: street_name: Interface Lane building_number: '1101' postal_code: '123456' town_name: Charlotte country_sub_division: NC country: US beneficial_owner: - last_name: James first_name: White date_of_birth: '1999-11-11' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA Reservation-Success-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: RESERVATION status: SUCCESS message: Account Reservation Request Successfully Processed branch_code: '820' account: - virtual_account: '25252548' Reservation-Pending-Inquiry: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f status: PENDING message: Your request is under processing, please retry after sometime Reservation-Failure-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: RESERVATION status: REJECTED error_details: - code: VC00001 issue: Invalid Header Account action: Please provide valid Header Account branch_code: '820' Activation-Success-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: ACTIVATION status: SUCCESS message: Virtual account number is now active. branch_code: '820' account: - virtual_account: '25252548' entity_id: EN_45678901234567890 iban: GB29NWBK60161331926819 Activation-Failure-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: ACTIVATION status: REJECTED error_details: - code: VC00001 issue: Invalid Virtual account action: Please provide a valid virtual account. branch_code: '820' Update-Entity-Details-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: UPDATE status: SUCCESS message: Virtual account number is updated now. branch_code: '820' virtual_account: account: '0123456789' entity: last_name: INC id: EN_45678901234567890 type: C website: www.ddee.com store_name: ABC business_purpose: Trade acronym: Buss country_of_operation: CA org_prvt_identification: type: TAX_ID id: '1234567890' country_of_issuance: US address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA beneficial_owner: - last_name: James first_name: White date_of_birth: '2001-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA - last_name: Mark first_name: White date_of_birth: '2000-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA Rescreen-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: INTERNALREVIEW status: NOTIFICATION-SUCC message: Please note the merchant account reflected has been changed. branch_code: '820' virtual_account: account: '0123456789' entity: last_name: INC id: EN_45678901234567890 type: C website: www.ddee.com store_name: ABC business_purpose: Trade acronym: Buss country_of_operation: CA org_prvt_identification: type: TAX_ID id: '1234567890' country_of_issuance: US address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA beneficial_owner: - last_name: James first_name: White date_of_birth: '2001-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA - last_name: Mark first_name: White date_of_birth: '2000-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA Broadcast-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: INTERNALUPDATE status: NOTIFICATION-SUCC message: >- Please note the merchant account reflected has been changed per your request. branch_code: '820' virtual_account: account: '0123456789' entity: last_name: INC id: EN_45678901234567890 type: C website: www.ddee.com store_name: ABC business_purpose: Trade acronym: Buss country_of_operation: CA org_prvt_identification: type: TAX_ID id: '1234567890' country_of_issuance: US address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA beneficial_owner: - last_name: James first_name: White date_of_birth: '2001-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA - last_name: Mark first_name: White date_of_birth: '2000-05-01' address: street_name: 3210 Abcd st building_number: '123' postal_code: L5B 111 town_name: North York country_sub_division: Ontario country: CA Update-Posting-Restriction-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: UPDATE status: SUCCESS message: Virtual account 323545 is now updated. branch_code: '820' virtual_account: account: '0123456789' credit_debit_preferences: disallow_credit: 'Y' disallow_debit: 'N' Update-Failure-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: UPDATE status: REJECTED error_details: - code: VC00001 issue: Invalid virtual account. action: Please provide a valid virtual account branch_code: '820' De-Activation-Success-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: DEACTIVATE status: SUCCESS message: Virtual account number is closed successfully. branch_code: '820' account: - virtual_account: '25252548' De-Activation-Failure-Async: value: request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f action: DEACTIVATE status: REJECTED error_details: - code: VC00001 issue: Invalid virtual account. action: Please provide a valid virtual account. branch_code: '820' Bad-Request-Json-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: VC00012 issue: >- Provided value is not within the range for the header_account.branch_code parameter. action: >- Please provide a valid value for the header_account.branch_code parameter, size must be between 3 and 4. Bad-Request-Sync-Response-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: VC00012 issue: >- Provided value is not within the range for the virtual_account parameter. action: >- please provide valid value for the virtual_account parameter, size must be between 8 and 12. Unauthorized-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: CC00007 issue: User does not have authorization to access. action: Please use valid credentials to access this functionality. - code: CC00007 issue: User does not have authorization to access. action: Please use valid credentials to access this functionality. Gateway-Un-Authorized: value: httpCode: '401' httpMessage: Unauthorized moreInformation: Invalid client identification. Method-Not-Allowed-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: CC00007 issue: Method Not Allowed action: Please use valid method type Gateway-Method-Not-Allowed-Example: value: httpCode: '405' httpMessage: Method Not Allowed moreInformation: The method is not allowed for the requested URL. Unsupported-Media-Type-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: CC00002 issue: Media type not supported action: Please use valid content-type in the header. Internal-Server-Error-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: CC00004 issue: Unable to serve your request at this moment. action: Please contact the support team. Internal-Error-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: CC00013 issue: Unable to process your request at this time. action: Please contact the support team for further assistance. Gateway-Internal-Server-Error-Example: value: httpCode: '500' httpMessage: Internal Server Error moreInformation: Internal Server Error Forbidden-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: CC00008 issue: User does not have the privileges to access this functionality. action: Please reach out to support team to enable this feature. Not-Found-Example: value: httpCode: '404' httpMessage: Not Found moreInformation: No resources to match the requested URI. Too-Many-Request-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: CC00009 issue: Requests are exceeding the allowed limit action: Resend the request after ${time} minutes Idempotency-Duplication-Example: value: ref_id: ec689822-9864-4c4d-9d68-222467627902 error_details: - code: VC00016 issue: >- Idempotency-Id provided is currently being used in another request. action: Please do not repeat the same request again.