openapi: 3.2.0
info:
title: Receivable Services Virtual Account-Wallet API
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}}CN3100 Keele st533L5B 3Y6North YorkOntarioCNGGHJFHJGCFFHG2024-02-29534 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_IDUSA1737720860125 Oain st155/35614526369cubaNC32USGGHJFHJGCFFHG2002-11-12534 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:
examples:
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
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.
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
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'
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'
Gateway-Un-Authorized:
value:
httpCode: '401'
httpMessage: Unauthorized
moreInformation: Invalid client identification.
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
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'
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'
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
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'
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'
Not-Found-Example:
value:
httpCode: '404'
httpMessage: Not Found
moreInformation: No resources to match the requested URI.
Gateway-Method-Not-Allowed-Example:
value:
httpCode: '405'
httpMessage: Method Not Allowed
moreInformation: The method is not allowed for the requested URL.
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
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.
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.
Reservation-Example:
value:
action: RESERVATION
header_account:
account: '0011224455'
branch_code: '930'
number_of_accounts_required: 50
purpose: C
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.
Level0-Response:
value:
request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f
status: ACCEPTED
message: Request accepted Successfully
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
Gateway-Internal-Server-Error-Example:
value:
httpCode: '500'
httpMessage: Internal Server Error
moreInformation: Internal Server Error
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
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
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.
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.
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
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.
Reservation-Pending-Inquiry:
value:
request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f
status: PENDING
message: Your request is under processing, please retry after sometime
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.
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
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
schemas:
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'
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-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'
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'
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
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.
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
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:
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'
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
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'
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'
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
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
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').\n- For 'US' virtual_account.entity.first_name and virtual_account.entity.last_name fields combined total length including spaces cannot exceed 34 characters.
\n- 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.\n- For 'US' virtual_account.entity.first_name and virtual_account.entity.last_name fields combined total length including spaces cannot exceed 34 characters.
\n- 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
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.\n
- 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\").\n
- 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
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'
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
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'
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
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'
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
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'
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
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'
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'
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'
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').
\n- For sole trader (`entity.type`='S') and individual (`entity.type`='I'), merchant age should be 18 years or above at the time of activation.
\n- Year (YYYY) and Month (MM) values in `date_of_birth` cannot be zero.
\n- 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'
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'
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'
callbacks:
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
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_ID1234567890US3210 Abcd st123L5B 111North YorkOntarioCAJamesWhite2001-05-013210 Abcd st123L5B 111North YorkOntarioCAMarkWhite2000-05-013210 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_ID1234567890US3210 Abcd st123L5B 111North YorkOntarioCAJamesWhite2001-05-013210 Abcd st123L5B 111North YorkOntarioCAMarkWhite2000-05-013210 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_ID1234567890US3210 Abcd st123L5B 111North YorkOntarioCAJamesWhite2001-05-013210 Abcd st123L5B 111North YorkOntarioCAMarkWhite2000-05-013210 Abcd st123L5B 111North YorkOntarioCA
responses:
'202':
description: Accepted
content:
application/json:
schema:
type: object
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
responses:
De-Activation-Bad-Request-Response:
$ref: '#/components/responses/Bad-Request-Sync-Response'
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.
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
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
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.
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
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.
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.
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'
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.
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}}CN3100 Keele st533L5B 3Y6North YorkOntarioCNNNGGHJFHJGCFFHG2024-02-29534 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
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.
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
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.
parameters:
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}'
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"}'
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'
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
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
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
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-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
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
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: {}