openapi: 3.2.0 info: title: Modulr Channel Manager Webhook Notifications API description: Modulr API license: name: © Modulr Finance url: https://www.modulrfinance.com version: '1.0' servers: - url: https://api-sandbox.modulrfinance.com/api-sandbox-token security: - modulo_security: [] tags: - name: Channel Manager Webhook Notifications paths: /channel-managers/webhook-notifications: get: tags: - Channel Manager Webhook Notifications summary: Retrieve Webhook notification configurations description: Retrieve Webhook notification configurations for the authenticated Channel Manager operationId: channelManagerGetWebhookNotifications parameters: - name: page in: query required: false style: form explode: true schema: type: integer format: int32 default: 0 minimum: 0 - name: size in: query required: false style: form explode: true schema: type: integer format: int32 default: 20 maximum: 500 minimum: 1 responses: '200': description: Webhook notifications retrieved content: application/json: schema: $ref: '#/components/schemas/channelmanager.WebhookNotificationPageResponse' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/channelmanager.MessageResponse' security: - HMAC: [] - TOKEN: [] post: tags: - Channel Manager Webhook Notifications summary: Create a Webhook notification configuration description: Create a Webhook notification configuration for the authenticated Channel Manager operationId: channelManagerCreateWebhookNotification requestBody: content: application/json: schema: $ref: '#/components/schemas/channelmanager.CreateWebhookNotificationRequest' required: true responses: '201': description: Webhook notification created content: application/json: schema: $ref: '#/components/schemas/channelmanager.WebhookNotificationResponse' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/channelmanager.MessageResponse' security: - HMAC: [] - TOKEN: [] /channel-managers/webhook-notifications/{notificationId}: get: tags: - Channel Manager Webhook Notifications summary: Retrieve Webhook notification configuration description: Retrieve a Webhook notification configuration for the authenticated Channel Manager operationId: channelManagerGetWebhookNotification parameters: - name: notificationId in: path required: true style: simple explode: false schema: type: string responses: '200': description: Webhook notification retrieved content: application/json: schema: $ref: '#/components/schemas/channelmanager.WebhookNotificationResponse' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/channelmanager.MessageResponse' security: - HMAC: [] - TOKEN: [] patch: tags: - Channel Manager Webhook Notifications summary: Update a specific Webhook notification configuration for a Channel Manager description: Update a specific Webhook notification configuration for a Channel Manager. Replace operations are the only available operationId: channelManagerUpdateWebhookNotification parameters: - name: notificationId in: path required: true style: simple explode: false schema: type: string requestBody: content: application/json: schema: type: array items: $ref: '#/components/schemas/channelmanager.Replace' required: true responses: '200': description: OK '400': description: When parameters are invalid parameters content: '*/*': schema: type: array items: $ref: '#/components/schemas/channelmanager.MessageResponse' security: - HMAC: [] - TOKEN: [] /channel-managers/webhook-notifications/{notificationId}/failures: get: tags: - Channel Manager Webhook Notifications summary: Retrieve Webhook notification configurations description: Retrieve Webhook notification configurations for the authenticated Channel Manager operationId: channelManagerGetWebhookNotifications_1 parameters: - name: notificationId in: path required: true style: simple explode: false schema: type: string - name: page in: query required: false style: form explode: true schema: type: integer format: int32 default: 0 minimum: 0 - name: size in: query required: false style: form explode: true schema: type: integer format: int32 default: 20 maximum: 500 minimum: 1 responses: '200': description: Webhook notifications retrieved content: application/json: schema: $ref: '#/components/schemas/channelmanager.WebhookNotificationPageResponse' '400': description: Bad Request content: '*/*': schema: type: array items: $ref: '#/components/schemas/channelmanager.MessageResponse' security: - HMAC: [] - TOKEN: [] components: schemas: channelmanager.Replace: allOf: - $ref: '#/components/schemas/channelmanager.PatchOperation' - type: object properties: value: $ref: '#/components/schemas/channelmanager.JsonNode' description: Replace field required: - op - path - value channelmanager.CreateWebhookNotificationRequest: type: object properties: type: type: string description: Webhook type destination: type: string description: URL destination example: https://example.com/webhook maxLength: 250 minLength: 12 pattern: ^(?i)(https://)([\w\.-]+)\.([a-z\.]{2,10})([\w\./-])* retry: type: boolean description: Flag indicating whether failed webhooks should be retried secret: type: string description: Webhook secret, must be 32 chars maxLength: 32 minLength: 32 hmacAlgorithm: type: string description: Signing algorithm that is used in Webhook HMAC calculation enum: - hmac-sha1 - hmac-sha256 - hmac-sha384 - hmac-sha512 required: - destination - hmacAlgorithm - retry - secret - type channelmanager.WebhookNotificationResponse: type: object properties: id: type: string description: Unique identifier for the notification type: type: string description: Webhook type enum: - PAYIN - PAYOUT - CARD_AUTH - CARD_AUTH_OFFLINE status: type: string description: Status of notification enum: - ACTIVE - INACTIVE destination: type: string description: URL destination retry: type: boolean description: Flag indicating whether failed webhooks should be retried secret: type: string description: Webhook secret, must be 32 chars hmacAlgorithm: type: string description: Signing algorithm that is used in Webhook HMAC calculation enum: - hmac-sha1 - hmac-sha256 - hmac-sha384 - hmac-sha512 channelmanager.JsonNode: {} channelmanager.PatchOperation: type: object discriminator: propertyName: op mapping: add: '#/components/schemas/channelmanager.Add' move: '#/components/schemas/channelmanager.Move' test: '#/components/schemas/channelmanager.Test' replace: '#/components/schemas/channelmanager.Replace' copy: '#/components/schemas/channelmanager.Copy' remove: '#/components/schemas/channelmanager.Remove' properties: op: type: string path: type: string example: /path/to/field required: - op - path channelmanager.MessageResponse: type: object properties: field: type: string code: type: string enum: - GENERAL - BUSINESSRULE - MFASTATUS - MFAERROR - MFATIMEOUT - MFADEVICEMM - MFAMESSAGEINVALID - NOTFOUND - DUPLICATE - INVALID - CONNECTION - RETRY - RATELIMIT - PERMISSION - NOTACCEPTABLE - MFAVERIFICATION - TOKENEXPIRED errorCode: type: string message: type: string sourceService: type: string channelmanager.WebhookNotificationPageResponse: type: object properties: content: type: array description: List of responses on the current page items: $ref: '#/components/schemas/channelmanager.WebhookNotificationResponse' size: type: integer format: int32 description: Page size totalSize: type: integer format: int64 description: Total count page: type: integer format: int32 description: Current page number, 0 based; i.e first-page = 0, second-page = 1 totalPages: type: integer format: int32 description: Total pages required: - content - page - size - totalPages - totalSize securitySchemes: modulo_security: type: apiKey name: Authorization in: header TOKEN: type: apiKey name: Authorization in: header x-readme: proxy-enabled: false