openapi: 3.0.3
info:
title: Entity Whitelisting
description: >-
This CitiConnect API allows clients to whitelist the entity ID creation
functionality directly from their ERP system. Clients can also create and
manage entity IDs using `PATCH` for update and `GET` for inquiry.
You can provide your merchant (entity) and merchant's beneficial owner,
entity details with whom you want to work. Citi will validate the entity
information and create/confirm the entity ID details. This information can
then be given to Citi's client who is the managing the merchants/entities on
their end.
version: 1.0.0
security:
- Client Credentials: []
servers:
- url: https://tts.sandbox.apib2b.citi.com/citiconnect/sb
description: sandbox URL
- url: https://b2b.tts.icgservices.citi.com/citiconnect/prod
description: production gateway URL
tags:
- name: Entity ID
description: >-
Entity ID Management.
- Use POST verb for Create
-
Use PATCH verb for Update
- Use GET verb for
Inquiry
paths:
/addonservices/v1/entityids:
post:
summary: Create the Entity ID
description: >-
Through entity ID creation process you can create Entity IDs for the
merchant whom you want to have the business establishment.
Use
POST verb for Create action
- This endpoint support
XML and JSON formats.
- 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.
operationId: createEntityId
parameters:
- $ref: '#/components/parameters/Client-Id'
- $ref: '#/components/parameters/Idempotency-Id'
requestBody:
description: Describes the entity ID creation endpoint request body parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/Entity-Id-Request'
examples:
EntityIDCreateExample:
$ref: '#/components/examples/EntityID-Create-Request-Example'
application/xml:
schema:
$ref: '#/components/schemas/Entity-Id-Request'
examples:
EntityIDCreateExample:
$ref: '#/components/examples/EntityID-Create-Request-Example'
responses:
'202':
$ref: '#/components/responses/Entity-Id-202-Response'
'400':
$ref: '#/components/responses/Ncle-Bad-Request'
'401':
$ref: '#/components/responses/Ncle-Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/Ncle-Not-Found'
'405':
$ref: '#/components/responses/Ncle-Method-Not-Allowed'
'409':
$ref: '#/components/responses/Idempotency-Duplication'
'415':
$ref: '#/components/responses/Ncle-Unsupported-Media-Type'
'429':
$ref: '#/components/responses/Too-Many-Request'
'500':
$ref: '#/components/responses/Ncle-Internal-Server-Error'
security:
- Client Credentials: []
callbacks:
EntityIdPostAsyncResponse:
$ref: '#/components/callbacks/EntityId-Create-Async-Response'
patch:
summary: Update the Entity details
description: >-
Through entity ID creation process you can update entity details
pertaining to the merchant.
Use PATCH verb for
Update action
- This endpoint supports XML and JSON formats.
- 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.
operationId: modifyEntityId
parameters:
- $ref: '#/components/parameters/Client-Id'
requestBody:
description: Describes the entity ID update endpoint request body parameters.
content:
application/json:
schema:
$ref: '#/components/schemas/Entity-Id-Request'
examples:
EntityIDUpdateExample:
$ref: '#/components/examples/EntityID-Update-Request-Example'
application/xml:
schema:
$ref: '#/components/schemas/Entity-Id-Request'
examples:
EntityIDUpdateExample:
$ref: '#/components/examples/EntityID-Update-Request-Example'
responses:
'202':
$ref: '#/components/responses/Entity-Id-202-Response'
'400':
$ref: '#/components/responses/Ncle-Bad-Request'
'401':
$ref: '#/components/responses/Ncle-Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/Ncle-Not-Found'
'405':
$ref: '#/components/responses/Ncle-Method-Not-Allowed'
'415':
$ref: '#/components/responses/Ncle-Unsupported-Media-Type'
'429':
$ref: '#/components/responses/Too-Many-Request'
'500':
$ref: '#/components/responses/Ncle-Internal-Server-Error'
security:
- Client Credentials: []
callbacks:
EntityIdPatchAsyncResponse:
$ref: '#/components/callbacks/EntityId-Update-Async-Response'
get:
summary: Check Entity ID Status and Details
description: >-
The entity ID inquiry endpoint is used to check the entity ID status.
Use GET verb for Inquiry action
- This
endpoint supports XML and JSON formats.
- You specify the response
format needed in the accept header.
Content-Type: Supports
application/xml and application/json.
Authorization: The
OAuth token prefixed with bearer and space in between.
operationId: getEntityDetails
parameters:
- $ref: '#/components/parameters/Client-Id'
- $ref: '#/components/parameters/Entity-Id'
- $ref: '#/components/parameters/Country-Of-Operation'
responses:
'200':
$ref: '#/components/responses/Entity-Id-Sync-Response'
'400':
$ref: '#/components/responses/Bad-Sync-Request'
'401':
$ref: '#/components/responses/Ncle-Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/Ncle-Not-Found'
'429':
$ref: '#/components/responses/Too-Many-Request'
'500':
$ref: '#/components/responses/Ncle-Internal-Server-Error'
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: 40
example: f56f0f6b-74fe-4dfa-b4ab-0da35a46b65e
Entity-Id:
name: entity_id
in: query
description: >-
`entity_id` that was assigned during the 'CREATE' action in the 'POST'
endpoint.
required: true
schema:
type: string
maxLength: 20
minLength: 20
example: A1234567890123456789
Country-Of-Operation:
name: country_of_operation
in: query
description: >-
Country code of where the entity is operated. This is the 2-digit ISO
code which was entered during the creation process.
required: true
schema:
type: string
maxLength: 2
minLength: 2
example: US
pattern: ^[A-Z]{2}$
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, reinitiate your request
with the same idempotency identification to prevent 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 to this number in case
of any discrepancy when contacting 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 (webhook) 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 (webhook) event name.
schema:
type: string
maxLength: 20
minLength: 1
example: Status Update
schemas:
Entity-Id-Request:
title: EntityIDRequest
xml:
name: EntityIDRequest
required:
- entity
type: object
properties:
entity_id:
title: EntityId
xml:
name: EntityId
description: >-
Entity ID that was assigned during the 'CREATE' action under POST
endpoint. This is a required parameter for the PATCH endpoint.
type: string
maxLength: 20
minLength: 20
example: A1234567890123456789
entity:
$ref: '#/components/schemas/Entity'
beneficial_owner:
title: BeneficialOwner
description: >-
Parameters are applicable for both 'POST' and 'PATCH' endpoints.
Information for up to four (4) beneficial owners is
allowed.
Maintain the beneficial owner details order as per
their ownership with the entity.
- Not applicable for Sole
Trader (`entity.type`='S').
xml:
name: BeneficialOwner
wrapped: true
type: array
minItems: 1
maxItems: 4
items:
$ref: '#/components/schemas/Beneficial-Owner'
EntityId-Async-Response:
title: EntityIDAsyncResponse
xml:
name: EntityIDResponse
required:
- request_id
type: object
properties:
request_id:
title: request_id
xml:
name: RequestId
type: string
description: Auto-generated unique identification assigned for the request.
entity_id:
title: entity_id
xml:
name: EntityId
type: string
description: Entity ID that is assigned specifically to the merchant.
entity_status:
title: entity_status
xml:
name: EntityStatus
type: string
minLength: 1
maxLength: 30
description: >-
Status of the entity ID.
Possible statuses are
PENDING
SUCCESS
REJECTED .
example: SUCCESS
entity:
$ref: '#/components/schemas/Entity'
beneficial_owner:
title: BeneficialOwner
description: Beneficial owners of the given merchant.
xml:
name: BeneficialOwner
wrapped: true
type: array
minItems: 1
maxItems: 4
items:
$ref: '#/components/schemas/Beneficial-Owner'
error_details:
title: error_details
type: array
xml:
name: ErrorDetails
wrapped: true
items:
$ref: '#/components/schemas/Ncle-Error-Detail'
Entity-Sync:
title: Entity
description: >-
Entity details provided during the 'CREATE' (POST) and 'UPDATE' (PATCH)
operations.
xml:
name: Entity
allOf:
- $ref: '#/components/schemas/Contact-Name-Entity'
- type: object
- required:
- country_of_operation
- address
- org_prvt_identification
properties:
type:
title: type
xml:
name: Type
type: string
enum:
- C
- S
description: >-
Type of the entity populated during the entity creation.
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.
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: >-
Date of birth of the owner or the incorporation date of the
entity populated during the entity creation.
example: '1996-06-25'
website:
title: website
xml:
name: Website
type: string
minLength: 0
maxLength: 200
description: >-
Website of the entity provided during the entity creation
process.
example: http://www.dd.com
store_name:
title: store_name
xml:
name: StoreName
type: string
minLength: 0
maxLength: 105
description: >-
Store name of entity provided during the entity creation or
update process. Optional parameter, should not be considered as
an entity name.
example: ABC
business_purpose:
title: business_purpose
xml:
name: BusinessPurpose
type: string
minLength: 0
maxLength: 105
description: >-
Business purpose for the entity provided during the entity
creation or update process.
example: Trade
acronym:
title: acronym
xml:
name: Acronym
type: string
minLength: 0
maxLength: 105
description: >-
Acronym for the entity provided during the entity creation or
update process.
example: Buss
country_of_operation:
title: country_of_operation
xml:
name: CtryOfOpr
type: string
minLength: 2
maxLength: 2
pattern: ^[A-Z]{2}$
description: Country code of where the entity is operated.
example: US
org_prvt_identification:
$ref: '#/components/schemas/Organisation-Private-Identification'
address:
$ref: '#/components/schemas/Ncle-Address'
beneficial_owner:
title: BeneficialOwner
description: >-
Beneficiary owner details provided during 'CREATE' (POST) and
'UPDATE' (PATCH) operations.
- Not applicable for the
sole trader type (`entity.type`='S').
xml:
name: BeneficialOwner
wrapped: true
type: array
minItems: 1
maxItems: 4
items:
$ref: '#/components/schemas/Beneficial-Owner'
Entity:
title: Entity
description: >-
Required object for both 'CREATE' (POST) and 'UPDATE' (PATCH)
operations.
xml:
name: Entity
allOf:
- $ref: '#/components/schemas/Contact-Name-Entity'
- type: object
- required:
- country_of_operation
- address
- org_prvt_identification
- type
properties:
type:
title: type
xml:
name: Type
type: string
enum:
- C
- S
description: >-
Required parameter for POST endpoint.
Populate the entity
type applicable for the entity / merchant.
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.
- Non-Modifiable
parameter under 'PATCH' endpoint.
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: >-
Applicable for POST endpoint,
Optional parameter when
`type='C'`
Required parameter when `type='S'`.
The date of birth or incorporation date pertaining to the entity
that is being activated under this entity ID. This parameter is
displayed in a fixed 10-digit format (YYYY-MM-DD) as per the ISO
standard.
- This parameter is non-modifiable under the
'PATCH' endpoint.
example: '1996-06-25'
website:
title: website
xml:
name: Website
type: string
minLength: 0
maxLength: 200
description: >-
Populate the website of the entity.
- This parameter
is modifiable under the 'PATCH' endpoint.
example: http://www.dd.com
store_name:
title: store_name
xml:
name: StoreName
type: string
minLength: 0
maxLength: 105
description: >-
Enter the store name of the entity.
- This parameter
is modifiable under the 'PATCH' endpoint.
example: ABC
business_purpose:
title: business_purpose
xml:
name: BusinessPurpose
type: string
minLength: 0
maxLength: 105
description: >-
Enter the business purpose applicable for the entity.
- This parameter is modifiable under the 'PATCH' endpoint.
example: Trade
acronym:
title: acronym
xml:
name: Acronym
type: string
minLength: 0
maxLength: 105
description: >-
Enter the acronym for the entity.
- This parameter is
modifiable under the 'PATCH' endpoint.
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` in which the entity operates.
- This parameter is non-modifiable under the 'PATCH' endpoint.
example: US
org_prvt_identification:
$ref: '#/components/schemas/Organisation-Private-Identification'
address:
$ref: '#/components/schemas/Ncle-Address'
Contact-Name-Entity:
title: Contact-Name-Entity
xml:
name: ContactNameEntity
type: object
required:
- last_name
properties:
first_name:
title: first_name
xml:
name: FirstName
type: string
minLength: 1
maxLength: 105
description: >-
First name of entity linked to the merchant.
Further
`entity.type` level applicability is mentioned below,
-
Required for sole trader (`entity.type`='S')
- Not applicable
for company (`entity.type`='C').
- This parameter is
modifiable under the 'PATCH' endpoint.
- For 'US', the `virtual_account.entity.first_name` and the
`virtual_account.entity.last_name` parameters combined total length
including spaces cannot exceed 34 characters.
example: John
last_name:
title: last_name
xml:
name: LastName
type: string
minLength: 1
maxLength: 105
description: >-
Last name of entity linked to the merchant.
- For sole
trader (`entity.type`='S') - include the last name
- For
company (`entity.type`='C') - include the legal entity name.
- This parameter is modifiable under the 'PATCH' endpoint.
- For 'US', `virtual_account.entity.first_name` and the
`virtual_account.entity.last_name` parameters combined total length
including spaces cannot exceed 34 characters.
example: Thomas
Contact-Name-BO:
title: Contact-Name-BO
xml:
name: ContactNameBO
type: object
required:
- first_name
- last_name
properties:
first_name:
title: first_name
xml:
name: FirstName
type: string
minLength: 1
maxLength: 105
description: >-
First name of beneficial owner linked to the merchant.
-
This parameter is modifiable under the 'PATCH' endpoint.
example: John
last_name:
title: last_name
xml:
name: LastName
type: string
minLength: 1
maxLength: 105
description: >-
Last name of beneficial owner linked to the merchant.
-
This parameter is modifiable under the 'PATCH' endpoint.
example: Thomas
Organisation-Private-Identification:
title: OrganisationPrivateIdentification
xml:
name: OrganisationPrivateIdentification
type: object
required:
- type
- id
- country_of_issuance
description: Non-Modifiable parameter under 'PATCH' endpoint.
properties:
type:
title: type
xml:
name: Type
type: string
enum:
- TAX_ID
description: >-
Type of the identification that is provided below in this object.
Type maximum length can be up to 200 characters. - 'TAX_ID' Tax
Identification
- Non-Modifiable parameter under 'PATCH'
endpoint.
example: TAX_ID
id:
title: id
xml:
name: Id
type: string
minLength: 1
maxLength: 255
description: >-
Identification pertaining to the entity.
- Non-Modifiable
parameter under 'PATCH' endpoint.
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.
- Non-Modifiable parameter under 'PATCH' endpoint.
example: US
Ncle-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 `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 entity (or) beneficial owner of entity. Required
parameter under `Address` object.
- This parameter is
modifiable under the 'PATCH' endpoint.
example: 3210 Abcd st
building_number:
title: building_number
xml:
name: BldgNb
type: string
minLength: 1
maxLength: 16
description: >-
Address details of entity (or) beneficial owner of entity.
- This parameter is modifiable under the 'PATCH' endpoint.
- If the building number is not present, then provide the
`virtual_account.entity.building_number` as N/A.
example: '123'
postal_code:
title: postal_code
xml:
name: PstCd
type: string
minLength: 1
maxLength: 16
description: >-
Address details of entity (or) beneficial owner of entity. Required
parameter under `Address` object.
- This parameter is
modifiable under the 'PATCH' endpoint.
example: L5B 111
town_name:
title: town_name
xml:
name: TwnNm
type: string
minLength: 1
maxLength: 35
description: >-
Address details of entity (or) beneficial owner of entity. Required
parameter under `Address` object.
- This parameter is
modifiable under the 'PATCH' endpoint.
example: North York
country_sub_division:
title: country_sub_division
xml:
name: CtrySubDvsn
type: string
minLength: 1
maxLength: 35
description: >-
Address details of Entity (or) beneficial owner of entity. Required
parameter under `Address` object.
- This parameter is
modifiable under the 'PATCH' endpoint.
example: Ontario
country:
title: country
xml:
name: Ctry
type: string
minLength: 2
maxLength: 2
pattern: ^[A-Z]{2}$
description: >-
Address details of Entity (or) beneficial owner of Entity. Required
parameter under `Address` object.
- This parameter is
modifiable under the 'PATCH' endpoint.
example: US
Beneficial-Owner:
title: BeneficialOwner
xml:
name: BeneficialOwner
allOf:
- $ref: '#/components/schemas/Contact-Name-BO'
- type: object
- required:
- date_of_birth
- address
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 under `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 fixed 10 digit format
(YYYY-MM-DD) as per ISO format.
- Non-Modifiable
parameter under 'PATCH' endpoint.
example: '1980-04-01'
address:
$ref: '#/components/schemas/Ncle-Address'
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
Entity-Id-Response:
title: EntityIdResponse
type: object
xml:
name: EntityIdResponse
properties:
request_id:
$ref: '#/components/schemas/Request-Id'
status:
title: status
xml:
name: Status
type: string
minLength: 1
maxLength: 20
description: Status of the request.
example: ACCEPTED
message:
title: message
xml:
name: Message
type: string
minLength: 1
maxLength: 400
description: Detailed response description for given request.
example: Request accepted Successfully
Entity-Id-Sync-Response:
title: EntityIdResponse
type: object
xml:
name: EntityIdResponse
properties:
entity_id:
title: entity_id
xml:
name: EntityId
type: string
maxLength: 20
minLength: 1
example: A90184799234242
entity_status:
title: entity_status
xml:
name: EntityStatus
type: string
minLength: 1
maxLength: 20
description: >-
Status of the request.
Possible statuses are
PENDING
SUCCESS
REJECTED .
example: SUCCESS
entity:
title: entity
xml:
name: Entity
wrapped: true
type: array
items:
$ref: '#/components/schemas/Entity-Sync'
Error-Message:
title: ErrorMessage
xml:
name: ErrorMessage
description: Description of error.
type: object
properties:
ref_id:
type: string
title: ref_id
xml:
name: RefId
maxLength: 60
pattern: \w*\W*
description: Unique reference ID for particular request.
error_details:
title: error_details
type: array
xml:
name: ErrorDetails
wrapped: true
items:
$ref: '#/components/schemas/Ncle-Error-Detail'
Apim-Error:
title: ApimError
xml:
name: ApimError
type: object
properties:
httpCode:
title: httpCode
xml:
name: HttpCode
type: string
description: HTTP status code of the 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.
Apim-Json-Error:
title: ApimJsonError
xml:
name: ApimJsonError
type: object
properties:
status:
title: status
xml:
name: Status
type: string
description: HTTP status code of the API response.
message:
title: message
xml:
name: Message
type: string
description: Short message about the issue.
Ncle-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.
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
securitySchemes:
Client Credentials:
description: >+
All CitiConnect APIs use the oAuth2 authentication scheme, which
requires a bearer token to authenticate your API call. The Token URL
includes the version of authentication used by this API. See the Citi Authentication API reference for
information on requesting a token.
type: oauth2
flows:
authorizationCode:
authorizationUrl: /authenticationservices/v3/oauth/token
tokenUrl: /authenticationservices/v3/oauth/token
scopes:
addonservices: Grant read-only access to add-on services
responses:
Entity-Id-202-Response:
description: EntityID response
headers:
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:
$ref: '#/components/schemas/Entity-Id-Response'
examples:
SynchronousResponseExample:
$ref: '#/components/examples/Entity-Id-Response-Example'
application/xml:
schema:
$ref: '#/components/schemas/Entity-Id-Response'
examples:
SynchronousResponseExample:
$ref: '#/components/examples/Entity-Id-Response-Example'
Entity-Id-Sync-Response:
description: EntityID Sync response.
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:
$ref: '#/components/schemas/Entity-Id-Sync-Response'
examples:
SynchronousSuccessResponseExample:
$ref: '#/components/examples/Entity-Id-Sync-Success-Response-Example'
SynchronousPendingResponseExample:
$ref: '#/components/examples/Entity-Id-Sync-Pending-Response-Example'
SynchronousRejectResponseExample:
$ref: '#/components/examples/Entity-Id-Sync-Reject-Response-Example'
application/xml:
schema:
$ref: '#/components/schemas/Entity-Id-Sync-Response'
examples:
SynchronousSuccessResponseExample:
$ref: '#/components/examples/Entity-Id-Sync-Success-Response-Example'
SynchronousPendingResponseExample:
$ref: '#/components/examples/Entity-Id-Sync-Pending-Response-Example'
SynchronousRejectResponseExample:
$ref: '#/components/examples/Entity-Id-Sync-Reject-Response-Example'
Bad-Sync-Request:
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Message'
examples:
BadRequest:
$ref: '#/components/examples/Bad-Request-Json-Sync-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Message'
examples:
BadRequest:
$ref: '#/components/examples/Bad-Request-Xml-Sync-Example'
Ncle-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:
$ref: '#/components/examples/Bad-Request-Xml-Example'
Ncle-Unauthorized:
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Message'
examples:
Unauthorized:
$ref: '#/components/examples/Ncle-Unauthorized-Example'
GatewayUnauthorized:
$ref: '#/components/examples/Gateway-Un-Authorized'
application/xml:
schema:
$ref: '#/components/schemas/Error-Message'
examples:
Unauthorized:
$ref: '#/components/examples/Ncle-Unauthorized-Example'
GatewayUnauthorized:
$ref: '#/components/examples/Gateway-Un-Authorized'
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:
$ref: '#/components/examples/Idempotency-Duplication-Example'
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:
$ref: '#/components/examples/Forbidden-Example'
Ncle-Method-Not-Allowed:
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Message'
examples:
MethodNotAllowed:
$ref: '#/components/examples/Ncle-Method-Not-Allowed-Example'
GatewayMethodNotAllowed:
$ref: '#/components/examples/Gateway-Method-Not-Allowed-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Message'
examples:
MethodNotAllowed:
$ref: '#/components/examples/Ncle-Method-Not-Allowed-Example'
GatewayMethodNotAllowed:
$ref: '#/components/examples/Gateway-Method-Not-Allowed-Example'
Ncle-Not-Found:
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Apim-Error'
examples:
NotFound:
$ref: '#/components/examples/Ncle-Not-Found-Example'
application/xml:
schema:
$ref: '#/components/schemas/Apim-Error'
examples:
NotFound:
$ref: '#/components/examples/Ncle-Not-Found-Example'
Too-Many-Request:
description: Too Many Request
content:
application/json:
schema:
$ref: '#/components/schemas/Apim-Json-Error'
examples:
TooManyRequest:
$ref: '#/components/examples/Too-Many-Request-Example'
application/xml:
schema:
$ref: '#/components/schemas/Apim-Json-Error'
examples:
TooManyRequest:
$ref: '#/components/examples/Too-Many-Request-Example'
Ncle-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:
$ref: '#/components/examples/Unsupported-Media-Type-Example'
Ncle-Internal-Server-Error:
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error-Message'
examples:
InternalServerError:
$ref: '#/components/examples/Ncle-Internal-Server-Error-Example'
GatewayInternalServerError:
$ref: '#/components/examples/Gateway-Internal-Server-Error-Example'
application/xml:
schema:
$ref: '#/components/schemas/Error-Message'
examples:
InternalServerError:
$ref: '#/components/examples/Ncle-Internal-Server-Error-Example'
GatewayInternalServerError:
$ref: '#/components/examples/Gateway-Internal-Server-Error-Example'
callbacks:
EntityId-Create-Async-Response:
'{$notificationURL}':
post:
parameters:
- $ref: '#/components/parameters/Apim-Guid'
- $ref: '#/components/parameters/Event-Type'
- $ref: '#/components/parameters/Event-Name'
description: >-
Periodical status updates gets triggered in an asynchronous manner
(Webhook / PUSH Notifications) to the notificationURL that client
shared.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EntityId-Async-Response'
examples:
AsynchronousSuccessResponseExample:
$ref: >-
#/components/examples/EntityId-Create-Async-Success-Response-Example
AsynchronousPendingResponseExample:
$ref: >-
#/components/examples/EntityId-Create-Async-Pending-Response-Example
AsynchronousRejectResponseExample:
$ref: >-
#/components/examples/EntityId-Create-Async-Reject-Response-Example
AsynchronousFailureResponseExample:
$ref: >-
#/components/examples/EntityId-Async-Failure-Response-Example
application/xml:
schema:
$ref: '#/components/schemas/EntityId-Async-Response'
examples:
AsynchronousSuccessResponseExample:
$ref: >-
#/components/examples/EntityId-Create-Async-Success-Response-Example
AsynchronousPendingResponseExample:
$ref: >-
#/components/examples/EntityId-Create-Async-Pending-Response-Example
AsynchronousRejectResponseExample:
$ref: >-
#/components/examples/EntityId-Create-Async-Reject-Response-Example
AsynchronousFailureResponseExample:
$ref: >-
#/components/examples/EntityId-Async-Failure-Response-Example
responses:
'202':
description: Accepted
content:
application/json:
schema:
type: object
EntityId-Update-Async-Response:
'{$notificationURL}':
post:
parameters:
- $ref: '#/components/parameters/Apim-Guid'
- $ref: '#/components/parameters/Event-Type'
- $ref: '#/components/parameters/Event-Name'
description: >-
Periodical status updates gets triggered in an asynchronous manner
(Webhook / PUSH Notifications) to the notificationURL that client
shared.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/EntityId-Async-Response'
examples:
AsynchronousSuccessResponseExample:
$ref: >-
#/components/examples/EntityId-Update-Async-Success-Response-Example
AsynchronousPendingResponseExample:
$ref: >-
#/components/examples/EntityId-Update-Async-Pending-Response-Example
AsynchronousRejectResponseExample:
$ref: >-
#/components/examples/EntityId-Update-Async-Reject-Response-Example
AsynchronousFailureResponseExample:
$ref: >-
#/components/examples/EntityId-Async-Failure-Response-Example
application/xml:
schema:
$ref: '#/components/schemas/EntityId-Async-Response'
examples:
AsynchronousSuccessResponseExample:
$ref: >-
#/components/examples/EntityId-Update-Async-Success-Response-Example
AsynchronousPendingResponseExample:
$ref: >-
#/components/examples/EntityId-Update-Async-Pending-Response-Example
AsynchronousRejectResponseExample:
$ref: >-
#/components/examples/EntityId-Update-Async-Reject-Response-Example
AsynchronousFailureResponseExample:
$ref: >-
#/components/examples/EntityId-Async-Failure-Response-Example
responses:
'202':
description: Accepted
content:
application/json:
schema:
type: object
examples:
EntityID-Create-Request-Example:
value:
entity:
last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: US
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: US
- 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: US
EntityID-Update-Request-Example:
value:
entity_id: A1234567890123456789
entity:
last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: US
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: US
- 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: US
Entity-Id-Response-Example:
value:
request_id: ec689822-9864-4c4d-9d68-222467627902
status: CREATED
message: Request accepted Successfully
EntityId-Create-Async-Success-Response-Example:
value:
request_id: ec689822-9864-4c4d-9d68-222467627902
entity_id: 9CT5RGG9NPBE60M
entity_status: SUCCESS
entity:
last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: US
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: US
EntityId-Create-Async-Pending-Response-Example:
value:
request_id: ec689822-9864-4c4d-9d68-222467627902
entity_id: 9CT5RGG9NPBE60M
entity_status: PENDING
entity:
last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: Cuba
country_sub_division: Ontario
country: US
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: US
EntityId-Create-Async-Reject-Response-Example:
value:
request_id: ec689822-9864-4c4d-9d68-222467627902
entity_id: 9CT5RGG9NPBE60M
entity_status: REJECTED
entity:
last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: Cuba
country_sub_division: Ontario
country: US
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: US
EntityId-Async-Failure-Response-Example:
value:
request_id: 29b9c9d7-d4d9-48ce-8823-f9b3ee276b8f
error_details:
- code: NCLSS01
issue: Client Name is mandatory
action: Populate client name and Resend
EntityId-Update-Async-Success-Response-Example:
value:
request_id: ec689822-9864-4c4d-9d68-222467627902
entity_id: 9CT5RGG9NPBE60M
entity_status: SUCCESS
entity:
last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: US
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: US
EntityId-Update-Async-Pending-Response-Example:
value:
request_id: ec689822-9864-4c4d-9d68-222467627902
entity_id: 9CT5RGG9NPBE60M
entity_status: PENDING
entity:
last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: Cuba
country_sub_division: Ontario
country: US
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: US
EntityId-Update-Async-Reject-Response-Example:
value:
request_id: ec689822-9864-4c4d-9d68-222467627902
entity_id: 9CT5RGG9NPBE60M
entity_status: REJECTED
entity:
last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: Cuba
country_sub_division: Ontario
country: US
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: US
Entity-Id-Sync-Success-Response-Example:
value:
entity_id: 9CT5RGG9NPBE60M
entity_status: SUCCESS
entity:
- last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
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: US
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: US
Entity-Id-Sync-Pending-Response-Example:
value:
entity_id: 9CT5RGG9NPBE60M
entity_status: PENDING
entity:
- last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
org_prvt_identification:
type: TAX_ID
id: '1234567890'
country_of_issuance: US
address:
street_name: 125 ABC st
building_number: 155/356
postal_code: '121212121'
town_name: cuba
country_sub_division: NC32
country: US
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: US
Entity-Id-Sync-Reject-Response-Example:
value:
entity_id: 9CT5RGG9NPBE60M
entity_status: REJECTED
entity:
- last_name: INC
first_name: ABC
type: C
website: www.dd.com
store_name: ABC
business_purpose: Trade
acronym: Buss
country_of_operation: US
org_prvt_identification:
type: TAX_ID
id: '1234567890'
country_of_issuance: US
address:
street_name: 125 ABC st
building_number: 155/356
postal_code: '121212121'
town_name: cuba
country_sub_division: NC32
country: US
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: US
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 property
entity.address.street_name
action: >-
please provide valid value for property entity.type, size must be
between 1 and 70
Bad-Request-Xml-Sync-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
- code: VC00012
issue: >-
provided value is not within the range for property
entity.address.street_name
action: >-
please provide valid value for property entity.type, size must be
between 1 and 70
Bad-Request-Json-Sync-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
- code: VC00012
issue: provided value is not within the range for query-param entity_id
action: >-
please provide valid value for query-param entity_id, size must be
between 20 and 20
Bad-Request-Xml-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
- code: VC00012
issue: provided value is not within the range for query-param entity_id
action: >-
please provide valid value for query-param entity_id, size must be
between 20 and 20
Ncle-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
Ncle-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 header
Ncle-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 refer to documentation provided or contact support team
Gateway-Internal-Server-Error-Example:
value:
status: '500'
message: Internal Server Error
Forbidden-Example:
value:
ref_id: ec689822-9864-4c4d-9d68-222467627902
error_details:
- code: CC00008
issue: User does not have privilege to access this functionality
action: please reach out to support team to enable this feature
Ncle-Not-Found-Example:
value:
httpCode: '404'
httpMessage: Not Found
moreInformation: No resources match requested URI
Too-Many-Request-Example:
value:
status: '429'
message: Requests are exceeding the allowed limit
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