openapi: 3.0.0
info:
description: >-
Account Notifications (webhooks) allow you to subscribe to proactive push
notifications for select accounts, eliminating the need to regularly post
update requests.
Once your subscription has been confirmed, notifications will be sent to the
endpoint you chose in your subscription request. This allows you to
integrate the notifications you receive from Citi into your automated
workflow for automated processing.
You can choose to receive notifications in either XML or JSON format, and in
near-real time when updates are available or on a regular schedule.
Download our SDKs:
* [Python
SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=python&apiTitle=all&isClientSecReq=true)
* [Java
SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=java&apiTitle=all&isClientSecReq=true)
* [.Net
SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=dotnet&apiTitle=all&isClientSecReq=true)
* [Ruby
SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=ruby&apiTitle=all&isClientSecReq=true)
* [NodeJS
SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=nodejs&apiTitle=all&isClientSecReq=true)
* [Go
SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=go&apiTitle=all&isClientSecReq=true)
* [CLI Tool
SDK](https://developer.citi.com/sandboxApi/admin/v1/downloadZipFile?language=ccapi-cli&apiTitle=all&isClientSecReq=true)
NOTE: You must be logged in to download our SDKs.
contact:
name: Standards & Developer Hub
url: https://tts.sandbox.developer.citi.com/citiconnect/
email: developer-support@citi.com
version: 1.0.0
title: Account Notifications
servers:
- url: https://tts.apib2b.citi.com/citiconnect/prod/accountstatementservices
description: Production gateway URL
- url: >-
https://tts.sandbox.apib2b.citi.com/citiconnect/sb/accountstatementservices
description: Sandbox URL
security:
- clientCredentials: []
tags:
- name: Account Notification
paths:
/v1/crdr/subscription:
post:
tags:
- Account Notification
summary: Account Notification Subscription Request
operationId: AccountNotificationSubscriptionRequest
security:
- clientCredentials: []
description: >-
Using this endpoint you can create, modify, or delete a subscription
request and set parameters such as frequency and number of
notifications.
parameters:
- in: header
name: Content-Type
description: Supports \"application/xml\" and \"application/json\".
required: true
schema:
type: string
- in: header
name: Authorization
description: The OAuth Token prefixed with "Bearer" and space in between.
required: true
schema:
type: string
- in: query
name: client_id
required: true
description: >-
Your unique client identifier, assigned as part of your onboarding
with your Citi representative.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionReqType'
example:
'@xmlns': >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
requestType: CREATE
format: XML
creditDebitIndicator: BOTH
accountIdentification: '2826628017'
branchIdentification: '032'
fromAmount: '1'
toAmount: '999999999'
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionReqType'
example: >-
CREATEXMLCRDT0821946026032099999999999
required: true
responses:
'200':
description: OK.
content:
application/json:
schema:
$ref: '#/components/schemas/SubscriptionResponse'
example:
SubscriptionResponse:
Info: >-
Request successfully submitted; please wait for the final
confirmation
application/xml:
schema:
$ref: '#/components/schemas/SubscriptionResponse'
example: >-
Request successfully submitted;
please wait for the final
confirmation
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
correlationId: q2te~bd8e9b8f-d8e5-4a48-ad13-5d1ec8bb32e815587
message: >-
Details mentioned on the request is incorrect :
accountIdentification field has invalid data
status: '400'
application/xml:
schema:
$ref: '#/components/schemas/Error'
example: >-
q2te~bd8e9b8f-d8e5-4a48-ad13-5d1ec8bb32e815587Details
mentioned on the request is incorrect : accountIdentification
field has invalid
dataCITI_CONNECT_SERVICES
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
httpCode: '401'
httpMessage: Unauthorized
moreInformation: >-
This server could not verify that you are authorized to access
the URL
application/xml:
schema:
$ref: '#/components/schemas/Error'
example: >-
401Invalid OAuth
TokenPlease use valid OAuth
Token
'404':
description: Not Found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
httpMessage: Not Found
httpCode: 404
moreInformation: No resources match requested URI
application/xml:
schema:
$ref: '#/components/schemas/Error'
example: >-
Not
Found404No
resources match requested URI
'405':
description: Method Not Allowed
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
httpMessage: Method Not Allowed
httpCode: 405
moreInformation: The method is not allowed for the requested URI
application/xml:
schema:
$ref: '#/components/schemas/Error'
example: >-
Method Not
Allowed405The
method is not allowed for the requested
URL
'415':
description: Unsupported Media Type
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
httpMessage: UNSUPPORTED MEDIA TYPE
httpCode: 415
moreInformation: Unsupported Content-Type
application/xml:
schema:
$ref: '#/components/schemas/Error'
example: >-
Unsupported Media
Type415Unsupported
Content-Type
'422':
description: Unprocessable Content
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
httpMessage: Invalid
httpCode: 422
moreInformation: >-
Provided request is invalid, please resend the request with
valid schema.
application/xml:
schema:
$ref: '#/components/schemas/Error'
example: >-
Invalid422Provided
request is invalid, please resend the request with valid
schema.
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
example:
httpMessage: Internal Server Error
httpCode: 500
moreInformation: Internal Server Error
application/xml:
schema:
$ref: '#/components/schemas/ErrorMessage'
example: >-
Internal Server
Error500Internal
Server Error
components:
securitySchemes:
clientCredentials:
description: >+
All CitiConnect APIs use the oAuth2 authentication scheme, which
requires a bearer token to authenticate your API call. The Token URL
includes the version of authentication used by this API. See the Citi Authentication API reference for
information on requesting a token.
type: oauth2
flows:
clientCredentials:
tokenUrl: /authenticationservices/v3/oauth/token
scopes: {}
schemas:
ErrorMessage:
properties:
httpCode:
format: int32
type: integer
httpMessage:
type: string
moreInformation:
type: string
required:
- httpCode
xml:
name: errormessage
Error:
properties:
status:
type: string
description: It will have category code of error
message:
type: string
description: More information about the error
correlationId:
type: string
description: Unique identifier which can be used to track the request
xml:
name: response
SubscriptionReqType:
required:
- accountIdentification
- branchIdentification
- creditDebitIndicator
- format
- requestType
properties:
requestType:
type: string
description: >-
Specifies the action to perform on the specified subscription. You
can create, modify, or delete subscriptions, based on the request
type.
enum:
- CREATE
- MODIFY
- DELETE
example: CREATE
xml:
name: ReqTp
namespace: >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
format:
type: string
description: Specifies the format to use for notifications - XML or JSON.
enum:
- XML
- JSON
example: JSON
xml:
name: Fmt
namespace: >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
creditDebitIndicator:
type: string
description: |-
The type of transaction for which you want notifications:
* Credit
* Debit
* Both
enum:
- DBIT
- CRDT
- BOTH
example: BOTH
xml:
name: CdtDbtInd
namespace: >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
accountIdentification:
minLength: 1
maxLength: 34
description: The account number associated with the subscription.
xml:
name: AcctId
namespace: >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
example: '1730173616'
branchIdentification:
type: string
description: Citi branch ID associated with the account.
minLength: 1
maxLength: 35
xml:
name: BrnchId
namespace: >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
example: '713'
fromAmount:
type: string
description: >-
The minimum amount of a transaction to trigger a notification.
Notifications will not be sent for transaction amounts below this
threshold.
xml:
name: FrAmt
namespace: >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
example: '0'
toAmount:
type: string
description: >-
The maximium amount of a transaction to trigger a notification.
Notifications will not be sent for transaction amounts above this
limit.
xml:
name: ToAmt
namespace: >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
example: '99999999999'
SubscriptionResponse:
properties:
Info:
type: string
description: Information for your request
xml:
name: Info
namespace: >-
http://com.citi.citiconnect/services/types/creditdebit/subscription
example: >-
Request successfully submitted; please wait for the final
confirmation