Canopy Notifications API
Manage notifications associated with products and accounts in Canopy.
Manage notifications associated with products and accounts in Canopy.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/canopyservicing-com:canopyservicing-com-notifications-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Canopy Servicing Core Notifications API
description: 'Canopy allows you to easily manage credit, installment, or other more complex lending programs from a servicing and compliance perspective -
whether newly launched or migrated from existing systems. using canopy, you can track balances and transactions for each customer of your product, both in real-time and historically.
You can see how various policy and product changes would impact your customers, and readily generate compliance reports and minimize your risk with all real-time information always on hand.
Canopy additionally surfaces information around all of your lending activity through its intuitive ui which provides a customer support interface as well as at-a-glance data needed for compliance and insights.
Simply configure your product`s policies through our create product api endpoint, and then you can immediately begin adding customer accounts and relying on canopy for accurate servicing information.'
contact:
name: Canopy Support
url: https://www.canopyservicing.com/contact
email: support@canopyservicing.com
version: 1.0.0
servers:
- url: Contact sales to enable your sandbox
description: Your private sandbox environment
- url: https://demo-api.us.canopyservicing.com
description: Demo environment
tags:
- name: Notifications
description: Manage notifications associated with products and accounts in Canopy.
paths:
/core/v1/notifications/configs:
get:
tags:
- Notifications
summary: Get available notification configurations
description: Gets the notification configurations for a product or an account.
operationId: NotificationsCBV_get_notification_configs_core_v1_notifications_configs_get
security:
- HTTPBearer: []
parameters:
- name: product_id
in: query
required: false
schema:
type: string
description: Returns the notification configs for the provided product_id.
examples:
- can_123
title: Product Id
description: Returns the notification configs for the provided product_id.
- name: account_id
in: query
required: false
schema:
type: string
description: Returns the notification configs for the provided account_id.
examples:
- can_123
title: Account Id
description: Returns the notification configs for the provided account_id.
responses:
'200':
description: Returns a list of notification configurations associated with a product or an account, if provided. Otherwise, returns a list of all available notification configurations.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GetNotificationConfigResponse'
title: Response Notificationscbv Get Notification Configs Core V1 Notifications Configs Get
'400':
description: Your request is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrBadRequestSchema'
'404':
description: Entity not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrNotFoundSchema'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'500':
description: A server error has occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrServerErrorSchema'
post:
tags:
- Notifications
summary: Create a notification configuration for a product or an account
description: Creates a notification configuration for a product or an account.
operationId: NotificationsCBV_create_notification_configs_core_v1_notifications_configs_post
security:
- HTTPBearer: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateNotificationConfigRequest'
description: Notification configuration creation parameters
responses:
'201':
description: Returns the created notification configuration.
content:
application/json:
schema:
$ref: '#/components/schemas/GetNotificationConfigResponse'
'400':
description: Your request is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrBadRequestSchema'
'404':
description: Entity not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrNotFoundSchema'
'409':
description: Entity already exists.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrConflictSchema'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'500':
description: A server error has occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrServerErrorSchema'
patch:
tags:
- Notifications
summary: Disable the notification configurations that match the provided filters
description: Disables the notification configurations that match the provided filters.
operationId: NotificationsCBV_disable_notification_configs_core_v1_notifications_configs_patch
security:
- HTTPBearer: []
parameters:
- name: product_id
in: query
required: false
schema:
type: string
description: Disables the notification configs for the provided product_id.
examples:
- can_123
title: Product Id
description: Disables the notification configs for the provided product_id.
- name: account_id
in: query
required: false
schema:
type: string
description: Disables the notification configs for the provided account_id.
examples:
- can_123
title: Account Id
description: Disables the notification configs for the provided account_id.
- name: configuration_id
in: query
required: false
schema:
type: integer
description: Disables the notification config with the provided ID.
examples:
- 123
title: Configuration Id
description: Disables the notification config with the provided ID.
- name: notification_type
in: query
required: false
schema:
enum:
- MINIMUM_PAYMENT_DUE
- PAYMENT_PROCESSED
- REVOLVING_STATEMENT_ISSUED
- INSTALLMENT_LOAN_STATEMENT_ISSUED
- LINE_OF_CREDIT_CREATE
- LINE_OF_CREDIT_EOD_BALANCE
- LTV_THRESHOLD_EXCEEDED
- LTV_BREACH_RESOLVED
- TRANSACTION_CREATED
- TRANSACTION_STATUS_UPDATED
- MINIMUM_PAYMENT_MISSED
- PAYMENT_MISSED
- PAYMENT_DUE_DATE
- ACCOUNT_SYSTEM_TAG_APPLIED
- ACCOUNT_SYSTEM_TAG_REMOVED
- CARD_ISSUED
- CARD_STATUS_UPDATED
- CARD_RENEWED
- LINE_OF_CREDIT_STATUS_UPDATED
- ACCOUNT_OWNERSHIP_TRANSFERRED
- RECONCILIATION_EXCEPTIONS_DETECTED
- COLLATERAL_STATUS_UPDATED
- GRADUATION_REVIEW_PENDING
type: string
description: Disables the notification configs with the provided notification type.
examples:
- PAYMENT_PROCESSED
title: Notification Type
description: Disables the notification configs with the provided notification type.
responses:
'200':
description: Returns the list of disabled notification configurations.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GetNotificationConfigResponse'
title: Response Notificationscbv Disable Notification Configs Core V1 Notifications Configs Patch
'400':
description: Your request is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrBadRequestSchema'
'404':
description: Entity not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrNotFoundSchema'
'409':
description: Entity already exists.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrConflictSchema'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'500':
description: A server error has occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrServerErrorSchema'
/core/v1/notifications:
get:
tags:
- Notifications
summary: Get notifications
description: Gets the notifications for a product or an account.
operationId: NotificationsCBV_get_notifications_core_v1_notifications_get
security:
- HTTPBearer: []
parameters:
- name: product_id
in: query
required: false
schema:
type: string
description: Returns the notifications for the provided product_id.
examples:
- can_123
title: Product Id
description: Returns the notifications for the provided product_id.
- name: account_id
in: query
required: false
schema:
type: string
description: Returns the notifications for the provided account_id.
examples:
- can_123
title: Account Id
description: Returns the notifications for the provided account_id.
- name: notification_type
in: query
required: false
schema:
type: string
description: Comma-separated list of notification types to filter by (no whitespaces).
examples:
- PAYMENT_PROCESSED,PAYMENT_REVERSED
title: Notification Type
description: Comma-separated list of notification types to filter by (no whitespaces).
- name: status
in: query
required: false
schema:
type: string
description: Comma-separated list of notification statuses to filter by (no whitespaces).
examples:
- SENT,FAILED
title: Status
description: Comma-separated list of notification statuses to filter by (no whitespaces).
- name: effective_at_after
in: query
required: false
schema:
type: string
description: Returns notifications with an `effective_at` date more recent (or equal) than the timestamp passed as a value. Due to format constraints, it is highly recommended to encodeURIComponent() the value before passing it as a query parameter.
examples:
- '2024-03-20T09:12:28Z'
title: Effective At After
description: Returns notifications with an `effective_at` date more recent (or equal) than the timestamp passed as a value. Due to format constraints, it is highly recommended to encodeURIComponent() the value before passing it as a query parameter.
- name: effective_at_before
in: query
required: false
schema:
type: string
description: Returns notifications with an `effective_at` date older (or equal) than the timestamp passed as a value. Due to format constraints, it is highly recommended to encodeURIComponent() the value before passing it as a query parameter.
examples:
- '2024-07-20T09:12:28Z'
title: Effective At Before
description: Returns notifications with an `effective_at` date older (or equal) than the timestamp passed as a value. Due to format constraints, it is highly recommended to encodeURIComponent() the value before passing it as a query parameter.
responses:
'200':
description: Returns a list of scheduled notifications.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/GetScheduledNotificationResponse'
title: Response Notificationscbv Get Notifications Core V1 Notifications Get
'400':
description: Your request is invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrBadRequestSchema'
'404':
description: Entity not found.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrNotFoundSchema'
'422':
description: Validation Error
content:
application/json:
schema:
$ref: '#/components/schemas/HTTPValidationError'
'500':
description: A server error has occurred.
content:
application/json:
schema:
$ref: '#/components/schemas/ErrServerErrorSchema'
components:
schemas:
GetNotificationConfigResponse:
properties:
config_id:
type: integer
title: Config Id
description: The ID associated with the notification configuration for future requests. If not provided on creation, Canopy will generate this field.
hidden: false
applied_to_type:
$ref: '#/components/schemas/NotificationAppliedToType'
description: The type of entity the notification configuration is applied to.
applied_to_id:
type: string
title: Applied To Id
description: The ID associated with the entity the notification configuration is applied to.
notification_type:
$ref: '#/components/schemas/NotificationType'
description: The type of notification this configuration is associated with.
hidden: false
time_offset:
type: string
title: Time Offset
description: Time offset from the originating event to schedule the notification for.
periodic_interval:
type: string
title: Periodic Interval
description: The interval at which the recurring notification should be sent.
is_active:
type: boolean
title: Is Active
description: Whether the notification configuration is currently active.
hidden: false
type: object
required:
- config_id
- applied_to_type
- applied_to_id
- notification_type
- is_active
title: GetNotificationConfigResponse
description: Base response schema for surfacing notification config information to the user.
ErrBadRequestSchema:
properties:
message:
type: string
title: Message
description: The error message
examples:
- Your request is invalid.
type: object
required:
- message
title: ErrBadRequestSchema
NotificationType:
type: string
enum:
- ACCOUNT_CREATE
- ACCOUNT_UPDATE
- ACCOUNT_MIGRATION_SUCCESSFUL
- ACCOUNT_CALCULATIONS_CHANGE
- ACCOUNT_DELINQUENCY
- ACCOUNT_TAG_APPLIED
- ACCOUNT_TAG_REMOVED
- ACCOUNT_SYSTEM_TAG_APPLIED
- ACCOUNT_SYSTEM_TAG_REMOVED
- LINE_ITEM_CREATE
- LINE_ITEM_UPDATE
- TRANSACTION_CREATED
- TRANSACTION_STATUS_UPDATED
- STATEMENT_GENERATION
- REVOLVING_STATEMENT_ISSUED
- INSTALLMENT_LOAN_STATEMENT_ISSUED
- MINIMUM_PAYMENT_DUE
- PAYMENT_DUE_DATE
- MINIMUM_PAYMENT_MISSED
- PAYMENT_MISSED
- PAYMENT_PROCESSED
- PAYMENT_REVERSED
- LOANS_RESTRUCTURE
- LINE_OF_CREDIT_CREATE
- LINE_OF_CREDIT_EOD_BALANCE
- LINE_OF_CREDIT_STATUS_UPDATED
- LTV_THRESHOLD_EXCEEDED
- LTV_BREACH_RESOLVED
- COLLATERAL_STATUS_UPDATED
- CARD_ISSUED
- CARD_STATUS_UPDATED
- CARD_RENEWED
- ACCOUNT_OWNERSHIP_TRANSFERRED
- GRADUATION_REVIEW_PENDING
- RECONCILIATION_EXCEPTIONS_DETECTED
title: NotificationType
ValidationError:
properties:
loc:
items:
anyOf:
- type: string
- type: integer
type: array
title: Location
msg:
type: string
title: Message
type:
type: string
title: Error Type
input:
title: Input
ctx:
type: object
title: Context
type: object
required:
- loc
- msg
- type
title: ValidationError
NotificationAppliedToType:
type: string
enum:
- ACCOUNT
- PRODUCT
title: NotificationAppliedToType
NotificationStatus:
type: string
enum:
- NEW
- SENT
- FAILED
- CANCELLED
title: NotificationStatus
ErrNotFoundSchema:
properties:
message:
type: string
title: Message
description: The error message
examples:
- Entity not found.
type: object
required:
- message
title: ErrNotFoundSchema
ErrConflictSchema:
properties:
message:
type: string
title: Message
description: The error message
examples:
- Entity already exists.
type: object
required:
- message
title: ErrConflictSchema
GetScheduledNotificationResponse:
properties:
config_id:
type: integer
title: Config Id
description: Unique identifier for the notification configuration associated with this notification.
hidden: false
account_id:
type: string
title: Account Id
description: Unique identifier of the account associated with this notification.
notification_type:
$ref: '#/components/schemas/NotificationType'
description: The event type that triggered this notification.
hidden: false
effective_at:
type: string
title: Effective At
description: The timestamp at which this notification should be sent.
hidden: false
payload:
additionalProperties: {}
type: object
title: Payload
description: The data payload associated with this notification.
status:
$ref: '#/components/schemas/NotificationStatus'
description: Current status of the notification.
hidden: false
hmac_signature:
type: string
title: Hmac Signature
description: HMAC signature used for verifying the authenticity and integrity of the notification payload.
type: object
required:
- config_id
- notification_type
- effective_at
- status
title: GetScheduledNotificationResponse
description: Base response schema for surfacing notification information to the user.
ErrServerErrorSchema:
properties:
message:
type: string
title: Message
description: The error message
examples:
- A server error has occurred.
type: object
required:
- message
title: ErrServerErrorSchema
CreateNotificationConfigRequest:
properties:
notification_type:
type: string
enum:
- MINIMUM_PAYMENT_DUE
- PAYMENT_PROCESSED
- REVOLVING_STATEMENT_ISSUED
- INSTALLMENT_LOAN_STATEMENT_ISSUED
- LINE_OF_CREDIT_CREATE
- LINE_OF_CREDIT_EOD_BALANCE
- LTV_THRESHOLD_EXCEEDED
- LTV_BREACH_RESOLVED
- TRANSACTION_CREATED
- TRANSACTION_STATUS_UPDATED
- MINIMUM_PAYMENT_MISSED
- PAYMENT_MISSED
- PAYMENT_DUE_DATE
- ACCOUNT_SYSTEM_TAG_APPLIED
- ACCOUNT_SYSTEM_TAG_REMOVED
- CARD_ISSUED
- CARD_STATUS_UPDATED
- CARD_RENEWED
- LINE_OF_CREDIT_STATUS_UPDATED
- ACCOUNT_OWNERSHIP_TRANSFERRED
- RECONCILIATION_EXCEPTIONS_DETECTED
- COLLATERAL_STATUS_UPDATED
- GRADUATION_REVIEW_PENDING
title: Notification Type
description: The type of notification this configuration is associated with.
examples:
- MINIMUM_PAYMENT_DUE
hidden: false
applied_to_type:
$ref: '#/components/schemas/NotificationAppliedToType'
description: The type of entity the notification configuration is applied to.
examples:
- PRODUCT
- ACCOUNT
applied_to_id:
type: string
title: Applied To Id
description: The ID associated with the entity the notification configuration is applied to.
examples:
- can_123
time_offset:
type: string
title: Time Offset
description: Time offset from the originating event to schedule the notification for.
examples:
- 1 day
periodic_interval:
type: string
title: Periodic Interval
description: The interval at which the recurring notification should be sent.
examples:
- 1 day
type: object
required:
- notification_type
title: CreateNotificationConfigRequest
description: Request schema for creating a notification configuration on a product or an account.
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
securitySchemes:
HTTPBearer:
type: http
scheme: bearer