Canopy Notifications API

Manage notifications associated with products and accounts in Canopy.

Operations 4

GET /core/v1/notifications/configs Get available notification configurations #
POST /core/v1/notifications/configs Create a notification configuration for a product or an account #
PATCH /core/v1/notifications/configs Disable the notification configurations that match the provided filters #
GET /core/v1/notifications Get notifications #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canopyservicing-com:canopyservicing-com-notifications-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

canopyservicing-com-notifications-api-openapi.yml Raw ↑
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