openapi: 3.2.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. 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 Account Notification API 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: schemas: 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 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 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:\n\n* Credit \n* Debit \n* 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' ErrorMessage: properties: httpCode: format: int32 type: integer httpMessage: type: string moreInformation: type: string required: - httpCode xml: name: errormessage 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: {}