Adyen Notifications API
The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API.
The Notification API sends notifications to the endpoints specified in a given subscription. Subscriptions are managed through the Notification Configuration API.
openapi: 3.1.0
info:
version: '6'
x-publicVersion: true
title: Adyen Classic Platforms - Notifications
description: >-
This API is used for the classic integration. If you are just starting your
implementation, refer to our [new integration
guide](https://docs.adyen.com/marketplaces-and-platforms) instead. The
Notification API sends notifications to the endpoints specified in a given
subscription. \nSubscriptions are managed through the Notification
Configuration API. The API specifications listed here detail the format of
each notification. For more information, refer to our
[documentation](https://docs.adyen.com/marketplaces-and-platforms/classic/notifications).
x-timestamp: '2023-06-02T11:23:48Z'
termsOfService: https://www.adyen.com/legal/terms-and-conditions
contact:
name: Adyen Developer Experience team
url: https://github.com/Adyen/adyen-openapi
x-groups:
- Account holders
- Accounts
- Fund management
- Other
tags: []
x-staticResponse: response.json
webhooks:
/ACCOUNT_CLOSED:
post:
tags:
- Accounts
summary: Account closed
description: >-
Adyen sends this webhook when [an account is
closed](https://docs.adyen.com/api-explorer/#/Account/latest/post/closeAccount).
operationId: post-ACCOUNT_CLOSED
x-groupName: Accounts
x-sortIndex: 3
x-methodName: accountClosed
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountClosed:
$ref: '#/components/examples/post-ACCOUNT_CLOSED-accountClosed'
schema:
$ref: '#/components/schemas/AccountCloseNotification'
responses:
'200':
content:
application/json:
examples:
accountClosed:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_CREATED:
post:
tags:
- Accounts
summary: Account created
description: >-
Adyen sends this webhook when [an account is
created](https://docs.adyen.com/api-explorer/#/Account/latest/post/createAccount).
operationId: post-ACCOUNT_CREATED
x-groupName: Accounts
x-sortIndex: 1
x-methodName: accountCreated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountCreated:
$ref: '#/components/examples/post-ACCOUNT_CREATED-accountCreated'
schema:
$ref: '#/components/schemas/AccountCreateNotification'
responses:
'200':
content:
application/json:
examples:
accountCreated:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_FUNDS_BELOW_THRESHOLD:
post:
tags:
- Fund management
summary: Liable account's funds are below configured threshold
description: >-
Adyen sends this notification when the current funds of your liable
account are below the configured threshold.
operationId: post-ACCOUNT_FUNDS_BELOW_THRESHOLD
x-groupName: Fund management
x-sortIndex: 7
x-methodName: liableAccountsFundsAreBelowConfiguredThreshold
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountFundsBelowThreshold:
$ref: >-
#/components/examples/post-ACCOUNT_FUNDS_BELOW_THRESHOLD-accountFundsBelowThreshold
schema:
$ref: '#/components/schemas/AccountFundsBelowThresholdNotification'
responses:
'200':
content:
application/json:
examples:
accountFundsBelowThreshold:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_HOLDER_CREATED:
post:
tags:
- Account holders
summary: Account holder created
description: >-
Adyen sends this webhook when [an account holder is
created](https://docs.adyen.com/api-explorer/#/Account/latest/post/createAccountHolder).
operationId: post-ACCOUNT_HOLDER_CREATED
x-groupName: Account holders
x-sortIndex: 1
x-methodName: accountHolderCreated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountHolderCreated-businesses:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_CREATED-accountHolderCreated-businesses
accountHolderCreated-failed:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_CREATED-accountHolderCreated-failed
accountHolderCreated-individuals:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_CREATED-accountHolderCreated-individuals
schema:
$ref: '#/components/schemas/AccountHolderCreateNotification'
responses:
'200':
content:
application/json:
examples:
accountHolderCreated-businesses:
$ref: '#/components/examples/WebhookAck'
accountHolderCreated-failed:
$ref: '#/components/examples/WebhookAck'
accountHolderCreated-individuals:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_HOLDER_PAYOUT:
post:
tags:
- Fund management
summary: Paid out to account holder
description: >-
Adyen sends this notification when a [payout
request](https://docs.adyen.com/api-explorer/#/Fund/latest/post/payoutAccountHolder)
to an account holder is processed and the payout is scheduled.
operationId: post-ACCOUNT_HOLDER_PAYOUT
x-groupName: Fund management
x-sortIndex: 1
x-methodName: paidOutToAccountHolder
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountHolderPayout-failed:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_PAYOUT-accountHolderPayout-failed
accountHolderPayout-initiated:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_PAYOUT-accountHolderPayout-initiated
schema:
$ref: '#/components/schemas/AccountHolderPayoutNotification'
responses:
'200':
content:
application/json:
examples:
accountHolderPayout-failed:
$ref: '#/components/examples/WebhookAck'
accountHolderPayout-initiated:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_HOLDER_STATUS_CHANGE:
post:
tags:
- Account holders
summary: Account holder status changed
description: >-
Adyen sends this webhook when [the status of an account holder is
changed](https://docs.adyen.com/api-explorer/#/Account/latest/post/updateAccountHolderState).
operationId: post-ACCOUNT_HOLDER_STATUS_CHANGE
x-groupName: Account holders
x-sortIndex: 4
x-methodName: accountHolderStatusChanged
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountHolderStatusChange:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_STATUS_CHANGE-accountHolderStatusChange
schema:
$ref: '#/components/schemas/AccountHolderStatusChangeNotification'
responses:
'200':
content:
application/json:
examples:
accountHolderStatusChange:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_HOLDER_STORE_STATUS_CHANGE:
post:
tags:
- Account holders
summary: Store status changed
description: >-
Adyen sends this webhook when [the status of a
store](https://docs.adyen.com/api-explorer/#/Account/latest/post/createAccountHolder__reqParam_accountHolderDetails-storeDetails-status)
associated with an account holder is changed.
operationId: post-ACCOUNT_HOLDER_STORE_STATUS_CHANGE
x-groupName: Account holders
x-sortIndex: 4
x-methodName: storeStatusChanged
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountHolderStoreStatusChange:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_STORE_STATUS_CHANGE-accountHolderStoreStatusChange
schema:
$ref: '#/components/schemas/AccountHolderStoreStatusChangeNotification'
responses:
'200':
content:
application/json:
examples:
accountHolderStoreStatusChange:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_HOLDER_UPCOMING_DEADLINE:
post:
tags:
- Account holders
summary: Upcoming deadline
description: >-
Adyen sends this notification when an account holders deadline to
fulfill the requirements of a specific event is coming up.
operationId: post-ACCOUNT_HOLDER_UPCOMING_DEADLINE
x-groupName: Account holders
x-sortIndex: 1
x-methodName: upcomingDeadline
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountHolderUpcomingDeadline:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_UPCOMING_DEADLINE-accountHolderUpcomingDeadline
schema:
$ref: '#/components/schemas/AccountHolderUpcomingDeadlineNotification'
responses:
'200':
content:
application/json:
examples:
accountHolderUpcomingDeadline:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_HOLDER_UPDATED:
post:
tags:
- Account holders
summary: Account holder updated
description: >-
Adyen sends this webhook when [an account holder is
updated](https://docs.adyen.com/api-explorer/#/Account/latest/post/updateAccountHolder).
operationId: post-ACCOUNT_HOLDER_UPDATED
x-groupName: Account holders
x-sortIndex: 2
x-methodName: accountHolderUpdated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountHolderUpdated:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_UPDATED-accountHolderUpdated
schema:
$ref: '#/components/schemas/AccountHolderUpdateNotification'
responses:
'200':
content:
application/json:
examples:
accountHolderUpdated:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_HOLDER_VERIFICATION:
post:
tags:
- Account holders
summary: Verification results received
description: Adyen sends this webhook when verification results are available.
operationId: post-ACCOUNT_HOLDER_VERIFICATION
x-groupName: Account holders
x-sortIndex: 3
x-methodName: verificationResultsReceived
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountHolderVerification:
$ref: >-
#/components/examples/post-ACCOUNT_HOLDER_VERIFICATION-accountHolderVerification
schema:
$ref: '#/components/schemas/AccountHolderVerificationNotification'
responses:
'200':
content:
application/json:
examples:
accountHolderVerification:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/ACCOUNT_UPDATED:
post:
tags:
- Accounts
summary: Account updated
description: >-
Adyen sends this webhook when [an account is
updated](https://docs.adyen.com/api-explorer/#/Account/latest/post/updateAccount).
operationId: post-ACCOUNT_UPDATED
x-groupName: Accounts
x-sortIndex: 2
x-methodName: accountUpdated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
accountUpdated:
$ref: '#/components/examples/post-ACCOUNT_UPDATED-accountUpdated'
schema:
$ref: '#/components/schemas/AccountUpdateNotification'
responses:
'200':
content:
application/json:
examples:
accountUpdated:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/BENEFICIARY_SETUP:
post:
tags:
- Fund management
summary: Beneficiary defined
description: >-
Adyen sends this notification when a [benefactor/beneficiary
relationship is
created](https://docs.adyen.com/api-explorer/#/Fund/latest/post/transferFunds).
operationId: post-BENEFICIARY_SETUP
x-groupName: Fund management
x-sortIndex: 3
x-methodName: beneficiaryDefined
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
beneficiarySetup:
$ref: '#/components/examples/post-BENEFICIARY_SETUP-beneficiarySetup'
schema:
$ref: '#/components/schemas/BeneficiarySetupNotification'
responses:
'200':
content:
application/json:
examples:
beneficiarySetup:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/COMPENSATE_NEGATIVE_BALANCE:
post:
tags:
- Fund management
summary: Negative account balances compensated
description: >-
Adyen sends this notification when funds are transferred from your
platform's liable account to an overdrawn account to compensate for the
overdraft.
operationId: post-COMPENSATE_NEGATIVE_BALANCE
x-groupName: Fund management
x-sortIndex: 5
x-methodName: negativeAccountBalancesCompensated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
compensateNegativeBalance:
$ref: >-
#/components/examples/post-COMPENSATE_NEGATIVE_BALANCE-compensateNegativeBalance
schema:
$ref: '#/components/schemas/CompensateNegativeBalanceNotification'
responses:
'200':
content:
application/json:
examples:
compensateNegativeBalance:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/DIRECT_DEBIT_INITIATED:
post:
tags:
- Fund management
summary: Automated direct debit initiated
description: >-
Adyen sends this notification when a [direct debit is
initiated](https://docs.adyen.com/api-explorer/#/Fund/latest/post/debitAccountHolder).
operationId: post-DIRECT_DEBIT_INITIATED
x-groupName: Fund management
x-sortIndex: 7
x-methodName: automatedDirectDebitInitiated
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
directDebitInitiated:
$ref: >-
#/components/examples/post-DIRECT_DEBIT_INITIATED-directDebitInitiated
schema:
$ref: '#/components/schemas/DirectDebitInitiatedNotification'
responses:
'200':
content:
application/json:
examples:
directDebitInitiated:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/PAYMENT_FAILURE:
post:
tags:
- Other
summary: Booking for a capture or refund failed
description: >-
Adyen sends this notification when a [split
payment](https://docs.adyen.com/marketplaces-and-platforms/classic/processing-payments#providing-split-information)
booking for a capture or refund fails. When a booking fails due to an
invalid account status or an unknown `accountCode`, the funds are
credited or debited to or fromyour platform's liable account instead of
the account specified in the split data.
operationId: post-PAYMENT_FAILURE
x-groupName: Other
x-sortIndex: 1
x-methodName: bookingForCaptureOrRefundFailed
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
paymentFailure:
$ref: '#/components/examples/post-PAYMENT_FAILURE-paymentFailure'
schema:
$ref: '#/components/schemas/PaymentFailureNotification'
responses:
'200':
content:
application/json:
examples:
paymentFailure:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/REFUND_FUNDS_TRANSFER:
post:
tags:
- Fund management
summary: Funds transfer between accounts refunded
description: >-
Adyen sends this notification when [funds transferred between accounts
are
refunded](https://docs.adyen.com/api-explorer/#/Fund/v6/latest/refundFundsTransfer).
operationId: post-REFUND_FUNDS_TRANSFER
x-groupName: Fund management
x-sortIndex: 6
x-methodName: fundsTransferBetweenAccountsRefunded
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
refundFundsTransfer:
$ref: >-
#/components/examples/post-REFUND_FUNDS_TRANSFER-refundFundsTransfer
schema:
$ref: '#/components/schemas/RefundFundsTransferNotification'
responses:
'200':
content:
application/json:
examples:
refundFundsTransfer:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/REPORT_AVAILABLE:
post:
tags:
- Other
summary: Report available
description: >-
Adyen sends this notification when a report has been generated and it is
available for download.
operationId: post-REPORT_AVAILABLE
x-groupName: Other
x-sortIndex: 2
x-methodName: reportAvailable
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
reportAvailable:
$ref: '#/components/examples/post-REPORT_AVAILABLE-reportAvailable'
schema:
$ref: '#/components/schemas/ReportAvailableNotification'
responses:
'200':
content:
application/json:
examples:
reportAvailable:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/SCHEDULED_REFUNDS:
post:
tags:
- Fund management
summary: '''Refund Transfers Not Paid Out'' call processed and refunds scheduled'
description: >-
Adyen sends this notification when a request to [refund transfers that
are not yet paid
out](https://docs.adyen.com/api-explorer/#/Fund/latest/refundNotPaidOutTransfers)
is processed and the associated refunds are scheduled.
operationId: post-SCHEDULED_REFUNDS
x-groupName: Fund management
x-sortIndex: 4
x-methodName: refundTransfersNotPaidOutCallProcessedAndRefundsScheduled
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
scheduledRefunds:
$ref: '#/components/examples/post-SCHEDULED_REFUNDS-scheduledRefunds'
schema:
$ref: '#/components/schemas/ScheduledRefundsNotification'
responses:
'200':
content:
application/json:
examples:
scheduledRefunds:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
/TRANSFER_FUNDS:
post:
tags:
- Fund management
summary: Funds transferred between accounts
description: >-
Adyen sends this notification when [funds are transferred between
accounts](https://docs.adyen.com/api-explorer/#/Fund/latest/post/transferFunds).
operationId: post-TRANSFER_FUNDS
x-groupName: Fund management
x-sortIndex: 2
x-methodName: fundsTransferredBetweenAccounts
security:
- BasicAuth: []
requestBody:
content:
application/json:
examples:
transferFunds:
$ref: '#/components/examples/post-TRANSFER_FUNDS-transferFunds'
schema:
$ref: '#/components/schemas/TransferFundsNotification'
responses:
'200':
content:
application/json:
examples:
transferFunds:
$ref: '#/components/examples/WebhookAck'
schema:
$ref: '#/components/schemas/NotificationResponse'
description: OK - the request has succeeded.
components:
schemas:
AccountCloseNotification:
properties:
content:
description: The details of the Account update.
$ref: '#/components/schemas/CloseAccountResponse'
error:
x-addedInVersion: '5'
description: >-
Error information of failed request. No value provided here if no
error occurred on processing.
$ref: '#/components/schemas/NotificationErrorContainer'
eventDate:
x-addedInVersion: '4'
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: >-
Indicates whether the notification originated from the live
environment or the test environment. If true, the notification
originated from the live environment. If false, the notification
originated from the test environment.
type: boolean
pspReference:
description: >-
The PSP reference of the request from which the notification
originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
type: object
AccountCreateNotification:
properties:
content:
description: The details of the account creation.
$ref: '#/components/schemas/CreateAccountResponse'
error:
x-addedInVersion: '5'
description: >-
Error information of failed request. No value provided here if no
error occurred on processing.
$ref: '#/components/schemas/NotificationErrorContainer'
eventDate:
x-addedInVersion: '4'
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: >-
Indicates whether the notification originated from the live
environment or the test environment. If true, the notification
originated from the live environment. If false, the notification
originated from the test environment.
type: boolean
pspReference:
description: >-
The PSP reference of the request from which the notification
originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
type: object
AccountEvent:
properties:
event:
description: >-
The event.
>Permitted values: `InactivateAccount`, `RefundNotPaidOutTransfers`.
For more information, refer to [Verification
checks](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process).
enum:
- InactivateAccount
- RefundNotPaidOutTransfers
type: string
executionDate:
description: The date on which the event will take place.
format: date-time
type: string
reason:
description: The reason why this event has been created.
type: string
type: object
AccountFundsBelowThresholdNotification:
properties:
content:
description: Details of the liable account with funds under threshold.
$ref: '#/components/schemas/AccountFundsBelowThresholdNotificationContent'
error:
x-addedInVersion: '5'
description: >-
Error information of failed request. No value provided here if no
error occurred on processing.
$ref: '#/components/schemas/NotificationErrorContainer'
eventDate:
x-addedInVersion: '4'
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: >-
Indicates whether the notification originated from the live
environment or the test environment. If true, the notification
originated from the live environment. If false, the notification
originated from the test environment.
type: boolean
pspReference:
description: >-
The PSP reference of the request from which the notification
originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
type: object
AccountFundsBelowThresholdNotificationContent:
properties:
accountCode:
description: The code of the account with funds under threshold
type: string
balanceDate:
description: The date of the funds were found to be below threshold.
$ref: '#/components/schemas/LocalDate'
currentFunds:
description: The current funds in the liable account.
$ref: '#/components/schemas/Amount'
fundThreshold:
description: The configured fund threshold for the liable account
$ref: '#/components/schemas/Amount'
merchantAccountCode:
description: The code of the merchant account.
type: string
required:
- merchantAccountCode
- fundThreshold
type: object
AccountHolderCreateNotification:
properties:
content:
description: The details of the account holder creation.
$ref: '#/components/schemas/CreateAccountHolderResponse'
error:
x-addedInVersion: '5'
description: >-
Error information of failed request. No value provided here if no
error occurred on processing.
$ref: '#/components/schemas/NotificationErrorContainer'
eventDate:
x-addedInVersion: '4'
description: The date and time when an event has been completed.
format: date-time
type: string
eventType:
description: The event type of the notification.
type: string
executingUserKey:
description: The user or process that has triggered the notification.
type: string
live:
description: >-
Indicates whether the notification originated from the live
environment or the test environment. If true, the notification
originated from the live environment. If false, the notification
originated from the test environment.
type: boolean
pspReference:
description: >-
The PSP reference of the request from which the notification
originates.
type: string
required:
- executingUserKey
- pspReference
- eventType
- live
- eventDate
type: object
AccountHolderDetails:
properties:
address:
description: The address of the account holder.
$ref: '#/components/schemas/ViasAddress'
bankAccountDetails:
description: >-
Array of bank accounts associated with the account holder. For
details about the required `bankAccountDetail` fields, see [Required
information](https://docs.adyen.com/marketplaces-and-platforms/classic/verification-process/required-information).
items:
$ref: '#/components/schemas/BankAccountDetail'
type: array
bankAggregatorDataReference:
x-addedInVersion: '5'
description: >-
The opaque reference value returned by the Adyen API during bank
account login.
type: string
businessDetails:
description: >-
Details about the business or nonprofit account holder.
# --- truncated at 32 KB (181 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/adyen/refs/heads/main/openapi/notifications-openapi-original.yml