Canopy Payments API
Manage payments on a line of credit for your customers in Canopy.
Manage payments on a line of credit for your customers 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-payments-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 Payments 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: Payments
description: Manage payments on a line of credit for your customers in Canopy.
paths:
/advance/v1/accounts/{account_id}/advances/{advance_id}/payment:
post:
tags:
- Payments
summary: Create a payment for an advance
operationId: AdvanceCBV_post_payment_advance_v1_accounts__account_id__advances__advance_id__payment_post
security:
- HTTPBearer: []
parameters:
- name: account_id
in: path
required: true
schema:
type: string
title: Account Id
- name: advance_id
in: path
required: true
schema:
type: string
description: The unique identifier of the advance.
title: Advance Id
description: The unique identifier of the advance.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PostAdvancePaymentBody'
responses:
'201':
description: Creates a new payment for the specified advance.
content:
application/json:
schema:
$ref: '#/components/schemas/PostAdvancePaymentResponse'
'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'
/revolving/v1/accounts/{account_id}/line_of_credit/{line_of_credit_id}/payment:
post:
tags:
- Payments
summary: Create a payment for a line of credit
description: Creates a new payment for a line of credit.
operationId: PaymentCBV_create_payment_revolving_v1_accounts__account_id__line_of_credit__line_of_credit_id__payment_post
security:
- HTTPBearer: []
parameters:
- name: account_id
in: path
required: true
schema:
type: string
title: Account Id
- name: line_of_credit_id
in: path
required: true
schema:
type: string
description: ID of the Line of Credit
title: Line Of Credit Id
description: ID of the Line of Credit
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePaymentSchema'
description: Payment creation parameters
responses:
'201':
description: Returns the created payment
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePaymentResponse'
'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'
/revolving/v1/accounts/{account_id}/line_of_credit/{line_of_credit_id}/backdated_action/payment:
post:
tags:
- Payments
summary: Create a backdated payment for a line of credit
description: Creates a new payment for a line of credit.
operationId: PaymentCBV_create_backdated_payment_revolving_v1_accounts__account_id__line_of_credit__line_of_credit_id__backdated_action_payment_post
security:
- HTTPBearer: []
parameters:
- name: account_id
in: path
required: true
schema:
type: string
title: Account Id
- name: line_of_credit_id
in: path
required: true
schema:
type: string
description: ID of the Line of Credit
title: Line Of Credit Id
description: ID of the Line of Credit
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateBackdatedPaymentSchema'
description: Payment creation parameters
responses:
'201':
description: Returns the created payment
content:
application/json:
schema:
$ref: '#/components/schemas/CreatePaymentResponse'
'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'
components:
schemas:
AdvancePouringStatusValue:
type: string
enum:
- PENDING
- POURED
title: AdvancePouringStatusValue
PostAdvancePaymentBody:
properties:
amount_cents:
type: integer
title: Amount Cents
description: The amount of the payment, in cents
examples:
- 100000
hidden: false
settlement_status:
$ref: '#/components/schemas/AdvanceSettlementStatusValue'
description: The settlement status of the payment
examples:
- PENDING
- SETTLED
type: object
required:
- amount_cents
title: PostAdvancePaymentBody
AdvanceSettlementStatus:
properties:
effective_at:
type: string
title: Effective At
issued_at:
type: string
title: Issued At
value:
$ref: '#/components/schemas/AdvanceSettlementStatusValue'
type: object
required:
- effective_at
- issued_at
- value
title: AdvanceSettlementStatus
CreateBackdatedPaymentSchema:
properties:
payment_id:
type: string
title: Payment Id
description: The ID associated to be with the payment for future requests. If not provided on payment creation, Canopy will generate this field.
examples:
- payment_1
amount_cents:
type: integer
title: Amount Cents
description: The amount in cents of the payment
examples:
- 100000
hidden: false
allocation:
$ref: '#/components/schemas/OffsetAllocation'
description: The type of allocation to apply to the payment
examples:
- PRINCIPAL
- INTEREST
- FEES
metadata:
anyOf:
- additionalProperties: true
type: object
- items:
additionalProperties: true
type: object
type: array
- items: {}
type: array
maxLength: 100
title: Metadata
description: Metadata that can be associated with the payment
settlement_status:
type: string
enum:
- PENDING
- SETTLED
title: Settlement Status
description: The settlement status of the payment
default: SETTLED
examples:
- PENDING
- SETTLED
backdated_to:
type: string
title: Backdated To
description: The date and time to backdate the payment to on the line of credit
examples:
- '2019-10-15T23:59:59Z'
hidden: false
type: object
required:
- amount_cents
- backdated_to
title: CreateBackdatedPaymentSchema
CreatePaymentResponse:
properties:
account_id:
type: string
title: Account Id
description: The account id.
hidden: false
line_of_credit_id:
type: string
title: Line Of Credit Id
description: The line of credit id.
hidden: false
effective_at:
type: string
title: Effective At
description: The effective at date.
hidden: false
issued_at:
type: string
title: Issued At
description: The issued at date.
hidden: false
status:
anyOf:
- additionalProperties: true
type: object
- items:
additionalProperties: true
type: object
type: array
- items: {}
type: array
title: Status
description: The status of the entity.
hidden: false
metadata:
anyOf:
- additionalProperties: true
type: object
- items:
additionalProperties: true
type: object
type: array
- items: {}
type: array
title: Metadata
description: The metadata of the entity.
hidden: false
payment_id:
type: string
title: Payment Id
description: The ID of the payment.
hidden: false
original_amount_cents:
type: integer
title: Original Amount Cents
description: The original amount in cents of the payment.
hidden: false
type: object
required:
- account_id
- line_of_credit_id
- effective_at
- issued_at
- payment_id
- original_amount_cents
title: CreatePaymentResponse
description: Response schema for the create payment endpoint.
ErrBadRequestSchema:
properties:
message:
type: string
title: Message
description: The error message
examples:
- Your request is invalid.
type: object
required:
- message
title: ErrBadRequestSchema
HTTPValidationError:
properties:
detail:
items:
$ref: '#/components/schemas/ValidationError'
type: array
title: Detail
type: object
title: HTTPValidationError
ErrConflictSchema:
properties:
message:
type: string
title: Message
description: The error message
examples:
- Entity already exists.
type: object
required:
- message
title: ErrConflictSchema
CreatePaymentSchema:
properties:
payment_id:
type: string
title: Payment Id
description: The ID associated to be with the payment for future requests. If not provided on payment creation, Canopy will generate this field.
examples:
- payment_1
amount_cents:
type: integer
title: Amount Cents
description: The amount in cents of the payment
examples:
- 100000
hidden: false
allocation:
$ref: '#/components/schemas/OffsetAllocation'
description: The type of allocation to apply to the payment
examples:
- PRINCIPAL
- INTEREST
- FEES
metadata:
anyOf:
- additionalProperties: true
type: object
- items:
additionalProperties: true
type: object
type: array
- items: {}
type: array
maxLength: 100
title: Metadata
description: Metadata that can be associated with the payment
settlement_status:
type: string
enum:
- PENDING
- SETTLED
title: Settlement Status
description: The settlement status of the payment
default: SETTLED
examples:
- PENDING
- SETTLED
type: object
required:
- amount_cents
title: CreatePaymentSchema
AdvanceSettlementStatusValue:
type: string
enum:
- PENDING
- SETTLED
title: AdvanceSettlementStatusValue
AdvancePouringStatus:
properties:
effective_at:
type: string
title: Effective At
issued_at:
type: string
title: Issued At
value:
$ref: '#/components/schemas/AdvancePouringStatusValue'
type: object
required:
- effective_at
- issued_at
- value
title: AdvancePouringStatus
AdvancePaymentStatuses:
properties:
pouring:
$ref: '#/components/schemas/AdvancePouringStatus'
reversal:
$ref: '#/components/schemas/AdvanceReversalStatus'
settlement:
$ref: '#/components/schemas/AdvanceSettlementStatus'
type: object
required:
- pouring
- reversal
- settlement
title: AdvancePaymentStatuses
AdvanceReversalStatusValue:
type: string
enum:
- NONE
- PENDING
- REVERSED
title: AdvanceReversalStatusValue
PostAdvancePaymentResponse:
properties:
account_id:
type: string
title: Account Id
advance_id:
type: string
title: Advance Id
transaction_id:
type: string
title: Transaction Id
original_amount_cents:
type: integer
title: Original Amount Cents
balance_cents:
type: integer
title: Balance Cents
effective_at:
type: string
title: Effective At
issued_at:
type: string
title: Issued At
statuses:
$ref: '#/components/schemas/AdvancePaymentStatuses'
type: object
required:
- account_id
- advance_id
- transaction_id
- original_amount_cents
- balance_cents
- effective_at
- issued_at
- statuses
title: PostAdvancePaymentResponse
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
AdvanceReversalStatus:
properties:
effective_at:
type: string
title: Effective At
issued_at:
type: string
title: Issued At
value:
$ref: '#/components/schemas/AdvanceReversalStatusValue'
type: object
required:
- effective_at
- issued_at
- value
title: AdvanceReversalStatus
ErrNotFoundSchema:
properties:
message:
type: string
title: Message
description: The error message
examples:
- Entity not found.
type: object
required:
- message
title: ErrNotFoundSchema
OffsetAllocation:
type: string
enum:
- PRINCIPAL
- INTEREST
- FEES
title: OffsetAllocation
ErrServerErrorSchema:
properties:
message:
type: string
title: Message
description: The error message
examples:
- A server error has occurred.
type: object
required:
- message
title: ErrServerErrorSchema
securitySchemes:
HTTPBearer:
type: http
scheme: bearer