Canopy Servicing Core API

API Overview
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.

This is the documentation for version 1.1.1 of the API. Last update on Jun 17, 2021.

Base URL
https://sandbox-api.canopyservicing.com

Getting Started

Get started in three easy steps.

1) Review the Authentication tutorial to connect and experiment with our Sandbox environment.

2) Create your own credentials in our public sandbox.

3) Follow the onboarding steps once you've logged into the public sandbox.

Once your product is configured and launched in Canopy, you have access to the full power of the Servicing API! You can take advantage of sample workflows provided by our team, or construct your own using this API documentation.


Authentication

To create your organization within Canopy, register for our public sandbox. You can find a full guide to authenticating in Canopy in our developer onboarding tutorial.



Test it out

To get going quickly, we recommend using an API collaboration tool called Postman. You can use the buttons below to import our collection, which points to the environment you want to build against and already has our API endpoints configured. Be sure to define the required environment variables.

If you'd just like to get set up with Canopy and send some requests with pre-populated sample data, we recommend using our Quickstart collection.

When you'd like to start applying some business logic and try formulating what your actual implementation looks like, we recommend starting with our public sandbox.

Once you've explored our public sandbox and formulated your business model, you can test in our protected UAT environment.

Quickstart: Quickstart

Public Sandbox: Public Sandbox

Protected UAT: Protected UAT

Production: Run in Postman


Pagination

Canopy uses a two-factor basis to drive the order of responses in GET requests with an array of results. They are first ordered by effective_at by when the entity is effective in the system, and second by an internal index to make sure the order is always universal. From the caller's perspective, you can let Canopy know where to start its pagination response by providing a starting_after or ending_before string value. If neither a starting_after nor ending_before value is provided, we'll assume you're requesting the very first page of responses. In subsequent requests, you can simply grab these values from the paging key in the response body from your previous request. If you're aiming to provide your users with a link to the previous page, use the ending_before query parameter in your next request. If going to the next page, use the starting_after value instead.


Api users

Authenticate to use the appropriate environment (sandbox or production) within Canopy

Get all API users in your organization

Returns a list of all API users in your organization.

Responses
  • 200 array[object]

    Array of API Users

    • api_user_id Required / string

      The unique ID in Canopy for this API user

    • organization_name Required / string

      The organization to which the API user belongs.

    • name_first string

      The first name of the API user.

    • name_last string

      The last name of the API user.

    • email Required / string(email)

      The email address of this API User

    • phone string

      Phone number of the API user

    • role Required / integer

      The role of this user in the API

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    No Api Users found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/api_users
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/api_users
Response example (200)
[ { "api_user_id": "dc3d83c5-b31e-48eb-80e7-38f12ac1a6e5", "organization_name": "Lever Card 3000", "name_first": "Analise", "name_last": "Goldberg", "email": "marissa@globex.com", "phone": "1-123-456-7890", "role": 1 } ]
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Invite a new API user to Canopy

When you create a new API user via this POST request, an email invite will be sent for the new user to join your organization. The email invite includes a link with a unique token that will allow the new user to register to join your team in Canopy.

Body
  • role Required / number

    Assign a role to users to dictate permissions and API access level . Contact our team for a full list of options.

    Default value is 1.

  • email Required / string(email)

    The email address of this API User.

Responses
  • 200 object

    Successfully invited a new user

    • email Required / string(email)

      The email address of this API User

    • created_at Required / string(date-time)

      The Date-Time which the invitation was created in the API

    • expires_at Required / string(date-time)

      The Date-Time which the invitation expires

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input.

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/api_users
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/api_users \ -H "Content-Type: application/json" \ -d '{"role":3,"email":"marissa@globex.com"}'
Request payload example
{ "role": 3, "email": "marissa@globex.com" }
Response example (200)
{ "email": "marissa@globex.com", "created_at": "2018-06-20T09:12:30+00:00", "expires_at": "2018-06-21T09:12:30+00:00" }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Log in as an API user

When provided appropriate credentials, this route signs in an API user.

Body
  • email Required / string(email)

    The API user's email address.

  • password Required / string

    The API user's password.

Responses
  • 200 object

    Successfully logged in as an API user

    • api_user_id Required / string

      The unique ID in Canopy for this API user

    • organization_name Required / string

      The organization to which the API user belongs.

    • first_name string

      The first name of the API user.

    • last_name string

      The last name of the API user.

    • email Required / string(email)

      The email address of this API User

    • phone string

      Phone number of the API user

    • role Required / string

      The role of this user in the API

      Values are SERVICING, OPERATIONS, and ADMIN.

    • token Required / string

      The unique token to be included as an x-api-key header in all subsequent requests as this user.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Not found.

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/api_users/login
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/api_users/login \ -H "Content-Type: application/json" \ -d '{"email":"marissa@globex.com","password":"secretPassword123!"}'
Request payload example
{ "email": "marissa@globex.com", "password": "secretPassword123!" }
Response example (200)
{ "api_user_id": "44197ea2-eb78-4511-bcf2-bc28201f9c01", "organization_name": "Lever Card 3000", "first_name": "Analise", "last_name": "Goldberg", "email": "marissa@globex.com", "phone": "1-123-456-7890", "role": "SERVICING", "token": "string" }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Update the password for an API User

When provided appropriate credentials, this route changes an API User's password.

Body
  • current_password Required / string

    The password of the user changing their password.

  • new_password Required / string

    The new password of the user changing their password.

  • token Required / string

    A unique token included in Canopy's reset password email.

Responses
  • 200 object

    Successfully logged in as an API user

    • api_user_id Required / string

      The unique ID in Canopy for this API user

    • organization_name Required / string

      The organization to which the API user belongs.

    • first_name string

      The first name of the API user.

    • last_name string

      The last name of the API user.

    • email Required / string(email)

      The email address of this API User

    • phone string

      Phone number of the API user

    • role Required / string

      The role of this user in the API

      Values are SERVICING, OPERATIONS, and ADMIN.

    • token Required / string

      The unique token to be included as an x-api-key header in all subsequent requests as this user.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Not found.

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/api_users/password
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/api_users/password \ -H "Content-Type: application/json" \ -d '{"current_password":"currentSecretPassword123!","new_password":"newSecretPassword123!","token":"string"}'
Request payload example
{ "current_password": "currentSecretPassword123!", "new_password": "newSecretPassword123!", "token": "string" }
Response example (200)
{ "api_user_id": "44197ea2-eb78-4511-bcf2-bc28201f9c01", "organization_name": "Lever Card 3000", "first_name": "Analise", "last_name": "Goldberg", "email": "marissa@globex.com", "phone": "1-123-456-7890", "role": "SERVICING", "token": "string" }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Complete registration for an invited API user

When provided appropriate credentials, this route updates an API user's information for registration.

Body
  • email_confirm Required / string(email)

    The email address of the user being updated.

  • new_password Required / string

    The new password of the API user.

  • name_first Required / string

    The first name of the API user.

  • name_last Required / string

    The last name of the API user.

  • phone Required / string

    The phone number to add to the API User's information.

  • token Required / string

    A unique token included in Canopy's register user email.

Responses
  • 200 object

    API user successfully registered

    • api_user_id Required / string

      The unique ID in Canopy for this API user

    • organization_name Required / string

      The organization to which the API user belongs.

    • name_first string

      The first name of the API user.

    • name_last string

      The last name of the API user.

    • email Required / string(email)

      The email address of this API User

    • phone string

      Phone number of the API user

    • role Required / integer

      The role of this user in the API

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Not found.

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/api_users/register
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/api_users/register \ -H "Content-Type: application/json" \ -d '{"email_confirm":"harriet@acmecorporation.com","new_password":"newSecretPassword123!","name_first":"Karl","name_last":"Martins","phone":"1-222-222-2222","token":"string"}'
Request payload example
{ "email_confirm": "harriet@acmecorporation.com", "new_password": "newSecretPassword123!", "name_first": "Karl", "name_last": "Martins", "phone": "1-222-222-2222", "token": "string" }
Response example (200)
{ "api_user_id": "dc3d83c5-b31e-48eb-80e7-38f12ac1a6e5", "organization_name": "Lever Card 3000", "name_first": "Analise", "name_last": "Goldberg", "email": "marissa@globex.com", "phone": "1-123-456-7890", "role": 1 }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Get summary info for an API user

Get all summarized information pertaining to the API user making the request.

Responses
  • 200 object

    API User

    • api_user_id Required / string

      The unique ID in Canopy for this API user

    • organization_name Required / string

      The organization to which the API user belongs.

    • name_first string

      The first name of the API user.

    • name_last string

      The last name of the API user.

    • email Required / string(email)

      The email address of this API User

    • phone string

      Phone number of the API user

    • role Required / integer

      The role of this user in the API

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    No API user found.

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/api_users/summary
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/api_users/summary
Response example (200)
{ "api_user_id": "dc3d83c5-b31e-48eb-80e7-38f12ac1a6e5", "organization_name": "Lever Card 3000", "name_first": "Analise", "name_last": "Goldberg", "email": "marissa@globex.com", "phone": "1-123-456-7890", "role": 1 }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Products

Create and launch credit products within the Canopy system.

Get all available products

If you have configured and launched multiple products within Canopy, retrieve information related to all of your configured products at once.

Query parameters
  • limit integer

    The maximum number of products to be returned. Defaults to 10.

    Minimum value is 0, maximum value is 100.

  • starting_after string

    Pass the value from the paging response body in your previous request. If not provided, the zero-indexed starting point will be used. Either starting_after or ending_before may be provided, but not both.

  • ending_before string

    Pass the value from the paging response body in your previous request. If not provided, the zero-indexed starting point will be used. Either starting_after or ending_before may be provided, but not both.

Responses
  • 200 object

    Array of Products

    • results array[object]

      An array of information for all products within the requested range.

      • product_id Required / string

        The Canopy-generated ID for the product.

      • created_at string(date-time)

        The Date-Time that this product was created on the server.

      • effective_at string(date-time)

        The Date-Time as of which this product is effective on the server.

      • external_product_id string

        A unique external ID that may be used interchangeably with the Canopy-generated product ID

      • product_overview Required / object

        A series of static fields about the product.

        • product_name Required / string

          Name of Product, i.e. Express Card.

        • product_type Required / string

          The Type of Product

        • product_short_description string

          A short description of the product ranging from 0 - 60 characters.

        • product_long_description Required / string

          Description of the Product ranging from 0 - 1000.

        • product_color string

          A color to be associated with the product for UI purposes.

          Default value is #4867FF.

        • external_fields array[object]
          • key string
          • value string
      • product_lifecycle_policies Required / object
        • payment_due_policies object

          The set of policies governing payment due information for the product.

          • delinquent_on_n_consecutive_late_fees integer

            After this number of consecutive late events, the account status shifts to suspended with a status subtype of delinquent

            Default value is 1.

          • charge_off_on_n_consecutive_late_fees integer

            After this number of consecutive late events, the account status shifts to suspended with a status subtype of charged_off

            Default value is 2.

        • fee_policies object

          The set of policies governing fees for the product.

          • late_fee_grace string

            Defaults to 0 days. The amount of time after a payment is late after which you would like for a late fee to be incurred.

            Default value is 0 days.

          • surcharge_fee_interval string

            The interval at which a surcharge fee is assessed.

          • default_surcharge_fee_structure array[object]

            The transaction volume structure that dictates a transaction fee.

            • surcharge_start_inclusive_cents Required / integer

              Indicates the starting transaction volume at which this fee will apply.

            • surcharge_end_exclusive_cents integer

              Indicates the ending transaction volume at which this fee will apply. If not provided, the surcharge will apply to any transaction volume above the defined start.

              Default value is 100000000000000000000.

            • percent_surcharge Required / number

              Indicates the surcharge fee as a percent of total transaction volume that will be applied to the account if the total transaction volume during the surcharge interval falls within the provided start and end range.

        • billing_cycle_policies object

          The set of policies governing the billing cycle for the product.

          • cycle_interval Required / string

            The length of the billing cycle. after which a statement is generated, and a due date assigned. IE '1 month' '3 months' or '7 days' (most common is monthly)

          • cycle_due_interval string

            Defaults to 0 days. The amount of time before statement cut that the payment should be due for the billing cycle. If positive, it will count days from the start of the cycle. Note, this field has a signage convention: if negative, it will count days back from the end of the cycle. IE '25 days' indicates that payments are due 25 days after the statement is cut. -5 days indicates that payments will be due five days prior to the cut of the next cycle. Cannot exceed the duration of the billing cycle.

            Default value is 0 days.

          • first_cycle_interval string

            Defaults to 0 days. If applicable, the amount of time you would like between origination and the first statement cut. IE '10 days'. If you would like the first billing cycle to be the same length as all other billing cycles, either do not include this field in the request, or set its value to the same as billing_cycle_period

            Default value is 0 days.

          • close_of_business_time string(time)

            Defaults to EST Midnight. Time of the close of business. Note* this value will be converted into the product_time_zone This is used for statement cuts and partner-level and issuing bank-level reconciliation

            Default value is 23:59:59-05:00.

          • product_time_zone string

            Timezone denoted as an Olson-style timezone defining the timezone for the product. All times in any response data for accounts using this product will be denominated in this timezone. Shifts due to daylight savings will be accounted for where relevant, and all output timestamps will be denoted as UTC offsets normalized based on this value. Defaults to America/New_York if not provided.

            Default value is America/New_York.

        • interest_policies object

          The Interest Policy Object

          • interest_calc_time string(time)

            Defaults to EST 1AM. Interest for this policy is calculated at this time every X interval.

            Default value is 01:00:00-05:00.

        • default_attributes object
          • default_credit_limit_cents Required / integer

            The default maximum principal credit (in cents) available for a customer account. This default limit can be overridden on a per-account basis if a credit_limit is selected at the time of assigning an account to a product. Credit limits for an account can also be updated post-account creation.

            Default value is 0.

          • default_late_fee_cents integer

            The default maximum principal credit (in cents) available for a customer account. This default limit can be overridden on a per-account basis if a credit_limit is selected at the time of assigning an account to a product. Credit limits for an account can also be updated post-account creation.

            Default value is 0.

          • default_payment_reversal_fee_cents integer

            The default maximum principal credit (in cents) available for a customer account. This default limit can be overridden on a per-account basis if a credit_limit is selected at the time of assigning an account to a product. Credit limits for an account can also be updated post-account creation.

            Default value is 0.

      • promotional_policies Required / object

        If applicable, a promotional configuration for the product.

        • promo_len integer

          The number of billing cycles from account origination during which accounts on this product are on a promotional period.

          Default value is 0.

        • promo_min_pay_type string

          Current due calculation method for the promotional period.

          Values are AM, PERCENT_INTEREST, PERCENT_PRINCIPAL, and NONE. Default value is NONE.

        • promo_purchase_window_len integer

          If applicable, the number of billing cycles from account origination under which this product falls under a purchas window period.

          Default value is 0.

        • promo_min_pay_percent number

          Defaults to 100. The percent of new interest in the cycle used to determine the minimum payment.

          Default value is 100.

        • promo_interest_deferred boolean

          Indicates whether interest accrued during the promotional period is deferred interest.

        • promo_default_interest_rate_percent number

          The rate that serves as the active interest rate for accounts during the promotional period.

          Default value is 0.

        • promo_apr_range_inclusive_lower number

          Optional lower bound for APR Range for the product (i.e. 2 = 2%).

          Default value is 0.

        • promo_apr_range_inclusive_upper number

          Optional upper bound for APR Range for the product (i.e. 5 = 5%).

          Default value is 0.

      • post_promotional_policies Required / object
        • post_promo_len integer

          Default duration for the amortization period during post-promotion

          Default value is 0.

        • post_promo_am_len_range_inclusive_lower integer

          Optional lower bound for amortization length in billing cycles for the product.

          Default value is 0.

        • post_promo_am_len_range_inclusive_upper integer

          Optional upper bound for amortization length in billing cycles for the product.

          Default value is 0.

        • post_promo_min_pay_type string

          Current due calculation method for the post-promotional period.

          Values are AM, PERCENT_INTEREST, PERCENT_PRINCIPAL, and NONE. Default value is AM.

        • post_promo_default_interest_rate_percent number

          The rate that serves as the active interest rate for accounts during the post-promotional period.

          Default value is 0.

        • post_promo_apr_range_inclusive_lower number

          Optional lower bound for APR Range for the product (i.e. 2 = 2%).

          Default value is 0.

        • post_promo_apr_range_inclusive_upper number

          Optional upper bound for APR Range for the product (i.e. 5 = 5%).

          Default value is 0.

      • product_summary object

        Summary of product information

        • accounts_overview object
          • account_count_total Required / integer

            Total number of accounts under the product.

      • admin object
        • migration_mode boolean

          If migration mode is on, Canopy will stop auto-generating statements for this account.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Unable to get products

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/products
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/products
Response example (200)
{ "results": [ { "product_id": "31mNprzLd2bKl6koVna68ARM", "created_at": "2019-03-20T09:12:28+00:00", "effective_at": "2016-11-27T13:19:56+00:00", "external_product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "product_overview": { "product_name": "Blue Cash Express", "product_type": "REVOLVING", "product_short_description": "12mm3apr.", "product_long_description": "Student credit card.", "product_color": "#0000FF", "external_fields": [ { "key": "client_product_id", "value": "3e93a899-d267-4193-8509-6dba53c13b7b" } ] }, "product_lifecycle_policies": { "payment_due_policies": { "delinquent_on_n_consecutive_late_fees": 2, "charge_off_on_n_consecutive_late_fees": 5 }, "fee_policies": { "late_fee_grace": "5 days", "surcharge_fee_interval": "1 month", "default_surcharge_fee_structure": [ { "surcharge_start_inclusive_cents": 0, "surcharge_end_exclusive_cents": 0, "percent_surcharge": 0 } ] }, "billing_cycle_policies": { "cycle_interval": "1 month", "cycle_due_interval": "-5 days", "first_cycle_interval": "25 days", "close_of_business_time": "17:00:00-05:00", "product_time_zone": "America/Chicago" }, "interest_policies": { "interest_calc_time": "11:21:04-08:00" }, "default_attributes": { "default_credit_limit_cents": 600000, "default_late_fee_cents": 50000, "default_payment_reversal_fee_cents": 10000 } }, "promotional_policies": { "promo_len": 6, "promo_min_pay_type": "PERCENT_PRINCIPAL", "promo_purchase_window_len": 5, "promo_min_pay_percent": 100, "promo_interest_deferred": true, "promo_default_interest_rate_percent": 3, "promo_apr_range_inclusive_lower": 2, "promo_apr_range_inclusive_upper": 5 }, "post_promotional_policies": { "post_promo_len": 48, "post_promo_am_len_range_inclusive_lower": 2, "post_promo_am_len_range_inclusive_upper": 5, "post_promo_min_pay_type": "AM", "post_promo_default_interest_rate_percent": 3, "post_promo_apr_range_inclusive_lower": 2, "post_promo_apr_range_inclusive_upper": 5 }, "product_summary": { "accounts_overview": { "account_count_total": 10005 } }, "admin": { "migration_mode": true }, "": "string" } ] }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Create a new product

At its core, Canopy allows you to create credit products that meet the specific needs of your users. We offer robust options to configure these products within our system.

For most use cases, we recommend configuring products by sending an excel file detailing your preferred configurations to the Canopy team; however, you can also configure and manage products programmatically using this API documentation.

Request body for creating a new product.

Body
  • effective_at string(date-time)

    The Date-Time as of which this product is effective on the server. Your product should be older than all accounts enrolled in it.

    Default value is 1900-01-01T12:00:00+00:00.

  • external_product_id string

    A unique external ID that may be used interchangeably with the Canopy-generated product ID

  • product_overview Required / object

    A series of static fields about the product.

    • product_name Required / string

      Name of Product, i.e. BNPL 24 Month Standard.

    • product_type Required / string

      The Type of Product

      Values are REVOLVING, INSTALLMENT, MIXED_RATE_INSTALLMENT, DEFERRED_INSTALLMENT, and FIXED_RATE_INSTALLMENT. Default value is REVOLVING.

    • product_short_description Required / string

      A short description of the product ranging from 0 - 60 characters.

    • product_long_description Required / string

      Description of the Product ranging from 0 - 1000.

    • product_color string

      A color to be associated with the product for UI purposes.

      Default value is #4867FF.

  • product_lifecycle_policies Required / object
    • payment_due_policies object

      The set of policies governing payment due information for the product.

      • delinquent_on_n_consecutive_late_fees integer

        After this number of consecutive late events, the account status shifts to suspended with a status subtype of delinquent

        Default value is 1.

      • charge_off_on_n_consecutive_late_fees integer

        After this number of consecutive late events, the account status shifts to suspended with a status subtype of charged_off

        Default value is 2.

    • fee_policies object

      The set of policies governing fees for the product.

      • late_fee_grace string

        Defaults to 0 days. The amount of time after a payment is late after which you would like for a late fee to be incurred.

        Default value is 0 days.

      • surcharge_fee_interval string

        The interval at which a surcharge fee is assessed.

      • default_surcharge_fee_structure array[object]

        The transaction volume structure that dictates a transaction fee.

        • surcharge_start_inclusive_cents Required / integer

          Indicates the starting transaction volume at which this fee will apply.

        • surcharge_end_exclusive_cents integer

          Indicates the ending transaction volume at which this fee will apply. If not provided, the surcharge will apply to any transaction volume above the defined start.

          Default value is 100000000000000000000.

        • percent_surcharge Required / number

          Indicates the surcharge fee as a percent of total transaction volume that will be applied to the account if the total transaction volume during the surcharge interval falls within the provided start and end range.

    • billing_cycle_policies object

      The set of policies governing the billing cycle for the product.

      • cycle_interval Required / string

        The length of the billing cycle. after which a statement is generated, and a due date assigned. IE '1 month' '3 months' or '7 days' (most common is monthly)

      • cycle_due_interval string

        Defaults to 0 days. The amount of time before statement cut that the payment should be due for the billing cycle. If positive, it will count days from the start of the cycle. Note, this field has a signage convention: if negative, it will count days back from the end of the cycle. IE '25 days' indicates that payments are due 25 days after the statement is cut. -5 days indicates that payments will be due five days prior to the cut of the next cycle. Cannot exceed the duration of the billing cycle.

        Default value is 0 days.

      • first_cycle_interval string

        Defaults to 0 days. If applicable, the amount of time you would like between origination and the first statement cut. IE '10 days'. If you would like the first billing cycle to be the same length as all other billing cycles, either do not include this field in the request, or set its value to the same as billing_cycle_period

        Default value is 0 days.

      • close_of_business_time string(time)

        Defaults to EST Midnight. Time of the close of business. Note* this value will be converted into the product_time_zone This is used for statement cuts and partner-level and issuing bank-level reconciliation

        Default value is 23:59:59-05:00.

      • product_time_zone string

        Timezone denoted as an Olson-style timezone defining the timezone for the product. All times in any response data for accounts using this product will be denominated in this timezone. Shifts due to daylight savings will be accounted for where relevant, and all output timestamps will be denoted as UTC offsets normalized based on this value. Defaults to America/New_York if not provided.

        Default value is America/New_York.

    • interest_policies object

      The Interest Policy Object

      • interest_calc_time string(time)

        Defaults to EST 1AM. Interest for this policy is calculated at this time every X interval.

        Default value is 01:00:00-05:00.

    • default_attributes object
      • default_credit_limit_cents Required / integer

        The default maximum principal credit (in cents) available for a customer account. For risk-based-pricing, this default limit can be overridden on a per-account basis if a credit_limit is selected at the time of assigning an account to a product in the Create Account call. Credit limits for an account can also be updated post-account creation.

        Default value is 0.

      • default_late_fee_cents integer

        The default late fee for accounts enrolled in this product. This will be used if no late fee is provided at account creation.

        Default value is 0.

      • default_payment_reversal_fee_cents integer

        The default payment reversa fee for accounts enrolled in this product. This will be used if no late fee is provided at account creation.

        Default value is 0.

  • promotional_policies Required / object

    If applicable, a promotional configuration for the product.

    • promo_len integer

      Defaults to 0. The number of billing cycles from account origination during which accounts on this product are on a promotional period.

      Default value is 0.

    • promo_min_pay_type string

      Current due calculation method for the promotional period.

      Values are AM, PERCENT_INTEREST, PERCENT_PRINCIPAL, and NONE. Default value is NONE.

    • promo_purchase_window_len integer

      If applicable, the number of billing cycles from account origination under which this product falls under a purchas window period.

      Default value is 0.

    • promo_interest_deferred boolean

      Indicates whether interest accrued during the promotional period is deferred interest.

    • promo_default_interest_rate_percent number

      The rate that serves as the active interest rate for accounts during the promotional period.

      Default value is 0.

    • promo_min_pay_percent number

      Defaults to 100. The percent of new interest in the cycle used to determine the minimum payment.

      Default value is 100.

    • promo_apr_range_inclusive_lower number

      Optional lower bound for APR Range for the product (i.e. 2 = 2%).

      Default value is 0.

    • promo_apr_range_inclusive_upper number

      Optional upper bound for APR Range for the product (i.e. 5 = 5%).

      Default value is 0.

  • post_promotional_policies Required / object
    • post_promo_len integer

      Default duration for any amortization period during post-promotion

      Default value is 0.

    • post_promo_am_len_range_inclusive_lower integer

      Optional lower bound for amortization length in billing cycles for the product.

      Default value is 0.

    • post_promo_am_len_range_inclusive_upper integer

      Optional upper bound for amortization length in billing cycles for the product.

      Default value is 100.

    • post_promo_min_pay_type string

      Current due calculation method for the post-promotional period.

      Values are AM. Default value is AM.

    • post_promo_default_interest_rate_percent number

      The rate that serves as the active interest rate for accounts during the post-promotional period.

      Default value is 0.

    • post_promo_apr_range_inclusive_lower number

      Optional lower bound for APR Range for the product (i.e. 2 = 2%).

      Default value is 0.

    • post_promo_apr_range_inclusive_upper number

      Optional upper bound for APR Range for the product (i.e. 5 = 5%).

      Default value is 0.

  • admin object
    • migration_mode boolean

      If migration mode is on, Canopy will stop auto-generating statements for this account.

Responses
  • 200 object

    Product

    • product_id Required / string

      The Canopy-generated ID for the product.

    • created_at string(date-time)

      The Date-Time that this product was created on the server.

    • effective_at string(date-time)

      The Date-Time as of which this product is effective on the server.

    • external_product_id string

      A unique external ID that may be used interchangeably with the Canopy-generated product ID

    • product_overview Required / object

      A series of static fields about the product.

      • product_name Required / string

        Name of Product, i.e. Express Card.

      • product_type Required / string

        The Type of Product

      • product_short_description string

        A short description of the product ranging from 0 - 60 characters.

      • product_long_description Required / string

        Description of the Product ranging from 0 - 1000.

      • product_color string

        A color to be associated with the product for UI purposes.

        Default value is #4867FF.

      • external_fields array[object]
        • key string
        • value string
    • product_lifecycle_policies Required / object
      • payment_due_policies object

        The set of policies governing payment due information for the product.

        • delinquent_on_n_consecutive_late_fees integer

          After this number of consecutive late events, the account status shifts to suspended with a status subtype of delinquent

          Default value is 1.

        • charge_off_on_n_consecutive_late_fees integer

          After this number of consecutive late events, the account status shifts to suspended with a status subtype of charged_off

          Default value is 2.

      • fee_policies object

        The set of policies governing fees for the product.

        • late_fee_grace string

          Defaults to 0 days. The amount of time after a payment is late after which you would like for a late fee to be incurred.

          Default value is 0 days.

        • surcharge_fee_interval string

          The interval at which a surcharge fee is assessed.

        • default_surcharge_fee_structure array[object]

          The transaction volume structure that dictates a transaction fee.

          • surcharge_start_inclusive_cents Required / integer

            Indicates the starting transaction volume at which this fee will apply.

          • surcharge_end_exclusive_cents integer

            Indicates the ending transaction volume at which this fee will apply. If not provided, the surcharge will apply to any transaction volume above the defined start.

            Default value is 100000000000000000000.

          • percent_surcharge Required / number

            Indicates the surcharge fee as a percent of total transaction volume that will be applied to the account if the total transaction volume during the surcharge interval falls within the provided start and end range.

      • billing_cycle_policies object

        The set of policies governing the billing cycle for the product.

        • cycle_interval Required / string

          The length of the billing cycle. after which a statement is generated, and a due date assigned. IE '1 month' '3 months' or '7 days' (most common is monthly)

        • cycle_due_interval string

          Defaults to 0 days. The amount of time before statement cut that the payment should be due for the billing cycle. If positive, it will count days from the start of the cycle. Note, this field has a signage convention: if negative, it will count days back from the end of the cycle. IE '25 days' indicates that payments are due 25 days after the statement is cut. -5 days indicates that payments will be due five days prior to the cut of the next cycle. Cannot exceed the duration of the billing cycle.

          Default value is 0 days.

        • first_cycle_interval string

          Defaults to 0 days. If applicable, the amount of time you would like between origination and the first statement cut. IE '10 days'. If you would like the first billing cycle to be the same length as all other billing cycles, either do not include this field in the request, or set its value to the same as billing_cycle_period

          Default value is 0 days.

        • close_of_business_time string(time)

          Defaults to EST Midnight. Time of the close of business. Note* this value will be converted into the product_time_zone This is used for statement cuts and partner-level and issuing bank-level reconciliation

          Default value is 23:59:59-05:00.

        • product_time_zone string

          Timezone denoted as an Olson-style timezone defining the timezone for the product. All times in any response data for accounts using this product will be denominated in this timezone. Shifts due to daylight savings will be accounted for where relevant, and all output timestamps will be denoted as UTC offsets normalized based on this value. Defaults to America/New_York if not provided.

          Default value is America/New_York.

      • interest_policies object

        The Interest Policy Object

        • interest_calc_time string(time)

          Defaults to EST 1AM. Interest for this policy is calculated at this time every X interval.

          Default value is 01:00:00-05:00.

      • default_attributes object
        • default_credit_limit_cents Required / integer

          The default maximum principal credit (in cents) available for a customer account. This default limit can be overridden on a per-account basis if a credit_limit is selected at the time of assigning an account to a product. Credit limits for an account can also be updated post-account creation.

          Default value is 0.

        • default_late_fee_cents integer

          The default maximum principal credit (in cents) available for a customer account. This default limit can be overridden on a per-account basis if a credit_limit is selected at the time of assigning an account to a product. Credit limits for an account can also be updated post-account creation.

          Default value is 0.

        • default_payment_reversal_fee_cents integer

          The default maximum principal credit (in cents) available for a customer account. This default limit can be overridden on a per-account basis if a credit_limit is selected at the time of assigning an account to a product. Credit limits for an account can also be updated post-account creation.

          Default value is 0.

    • promotional_policies Required / object

      If applicable, a promotional configuration for the product.

      • promo_len integer

        The number of billing cycles from account origination during which accounts on this product are on a promotional period.

        Default value is 0.

      • promo_min_pay_type string

        Current due calculation method for the promotional period.

        Values are AM, PERCENT_INTEREST, PERCENT_PRINCIPAL, and NONE. Default value is NONE.

      • promo_purchase_window_len integer

        If applicable, the number of billing cycles from account origination under which this product falls under a purchas window period.

        Default value is 0.

      • promo_min_pay_percent number

        Defaults to 100. The percent of new interest in the cycle used to determine the minimum payment.

        Default value is 100.

      • promo_interest_deferred boolean

        Indicates whether interest accrued during the promotional period is deferred interest.

      • promo_default_interest_rate_percent number

        The rate that serves as the active interest rate for accounts during the promotional period.

        Default value is 0.

      • promo_apr_range_inclusive_lower number

        Optional lower bound for APR Range for the product (i.e. 2 = 2%).

        Default value is 0.

      • promo_apr_range_inclusive_upper number

        Optional upper bound for APR Range for the product (i.e. 5 = 5%).

        Default value is 0.

    • post_promotional_policies Required / object
      • post_promo_len integer

        Default duration for the amortization period during post-promotion

        Default value is 0.

      • post_promo_am_len_range_inclusive_lower integer

        Optional lower bound for amortization length in billing cycles for the product.

        Default value is 0.

      • post_promo_am_len_range_inclusive_upper integer

        Optional upper bound for amortization length in billing cycles for the product.

        Default value is 0.

      • post_promo_min_pay_type string

        Current due calculation method for the post-promotional period.

        Values are AM, PERCENT_INTEREST, PERCENT_PRINCIPAL, and NONE. Default value is AM.

      • post_promo_default_interest_rate_percent number

        The rate that serves as the active interest rate for accounts during the post-promotional period.

        Default value is 0.

      • post_promo_apr_range_inclusive_lower number

        Optional lower bound for APR Range for the product (i.e. 2 = 2%).

        Default value is 0.

      • post_promo_apr_range_inclusive_upper number

        Optional upper bound for APR Range for the product (i.e. 5 = 5%).

        Default value is 0.

    • product_summary object

      Summary of product information

      • accounts_overview object
        • account_count_total Required / integer

          Total number of accounts under the product.

    • admin object
      • migration_mode boolean

        If migration mode is on, Canopy will stop auto-generating statements for this account.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/products
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/products \ -H "Content-Type: application/json" \ -d '{"effective_at":"2016-11-27T13:19:56+00:00","external_product_id":"95fea111-d121-40f8-9e8e-a6c335e48a45","product_overview":{"product_name":"BNPL 24 Month Standard","product_type":"REVOLVING","product_short_description":"12mm3apr.","product_long_description":"Student credit card.","product_color":"#0000FF"},"product_lifecycle_policies":{"payment_due_policies":{"delinquent_on_n_consecutive_late_fees":2,"charge_off_on_n_consecutive_late_fees":5},"fee_policies":{"late_fee_grace":"5 days","surch...}'
Request payload example
{ "effective_at": "2016-11-27T13:19:56+00:00", "external_product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "product_overview": { "product_name": "BNPL 24 Month Standard", "product_type": "REVOLVING", "product_short_description": "12mm3apr.", "product_long_description": "Student credit card.", "product_color": "#0000FF" }, "product_lifecycle_policies": { "payment_due_policies": { "delinquent_on_n_consecutive_late_fees": 2, "charge_off_on_n_consecutive_late_fees": 5 }, "fee_policies": { "late_fee_grace": "5 days", "surcharge_fee_interval": "1 month", "default_surcharge_fee_structure": [ { "surcharge_start_inclusive_cents": 0, "surcharge_end_exclusive_cents": 0, "percent_surcharge": 0 } ] }, "billing_cycle_policies": { "cycle_interval": "1 month", "cycle_due_interval": "-5 days", "first_cycle_interval": "25 days", "close_of_business_time": "17:00:00-05:00", "product_time_zone": "America/Chicago" }, "interest_policies": { "interest_calc_time": "11:21:04-08:00" }, "default_attributes": { "default_credit_limit_cents": 600000, "default_late_fee_cents": 3000, "default_payment_reversal_fee_cents": 3000 } }, "promotional_policies": { "promo_len": 6, "promo_min_pay_type": "PERCENT_PRINCIPAL", "promo_purchase_window_len": 5, "promo_interest_deferred": true, "promo_default_interest_rate_percent": 3, "promo_min_pay_percent": 100, "promo_apr_range_inclusive_lower": 2, "promo_apr_range_inclusive_upper": 5 }, "post_promotional_policies": { "post_promo_len": 48, "post_promo_am_len_range_inclusive_lower": 2, "post_promo_am_len_range_inclusive_upper": 5, "post_promo_min_pay_type": "AM", "post_promo_default_interest_rate_percent": 3, "post_promo_apr_range_inclusive_lower": 2, "post_promo_apr_range_inclusive_upper": 5 }, "admin": { "migration_mode": true } }
Response example (200)
{ "product_id": "31mNprzLd2bKl6koVna68ARM", "created_at": "2019-03-20T09:12:28+00:00", "effective_at": "2016-11-27T13:19:56+00:00", "external_product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "product_overview": { "product_name": "Blue Cash Express", "product_type": "REVOLVING", "product_short_description": "12mm3apr.", "product_long_description": "Student credit card.", "product_color": "#0000FF", "external_fields": [ { "key": "client_product_id", "value": "3e93a899-d267-4193-8509-6dba53c13b7b" } ] }, "product_lifecycle_policies": { "payment_due_policies": { "delinquent_on_n_consecutive_late_fees": 2, "charge_off_on_n_consecutive_late_fees": 5 }, "fee_policies": { "late_fee_grace": "5 days", "surcharge_fee_interval": "1 month", "default_surcharge_fee_structure": [ { "surcharge_start_inclusive_cents": 0, "surcharge_end_exclusive_cents": 0, "percent_surcharge": 0 } ] }, "billing_cycle_policies": { "cycle_interval": "1 month", "cycle_due_interval": "-5 days", "first_cycle_interval": "25 days", "close_of_business_time": "17:00:00-05:00", "product_time_zone": "America/Chicago" }, "interest_policies": { "interest_calc_time": "11:21:04-08:00" }, "default_attributes": { "default_credit_limit_cents": 600000, "default_late_fee_cents": 50000, "default_payment_reversal_fee_cents": 10000 } }, "promotional_policies": { "promo_len": 6, "promo_min_pay_type": "PERCENT_PRINCIPAL", "promo_purchase_window_len": 5, "promo_min_pay_percent": 100, "promo_interest_deferred": true, "promo_default_interest_rate_percent": 3, "promo_apr_range_inclusive_lower": 2, "promo_apr_range_inclusive_upper": 5 }, "post_promotional_policies": { "post_promo_len": 48, "post_promo_am_len_range_inclusive_lower": 2, "post_promo_am_len_range_inclusive_upper": 5, "post_promo_min_pay_type": "AM", "post_promo_default_interest_rate_percent": 3, "post_promo_apr_range_inclusive_lower": 2, "post_promo_apr_range_inclusive_upper": 5 }, "product_summary": { "accounts_overview": { "account_count_total": 10005 } }, "admin": { "migration_mode": true }, "": "string" }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Customers

Onboard customers into your system, so they can begin using your credit products

Get all accounts for all customers

Returns all accounts from the perspective of each customer. For instance, if one account has two customers, these are reflected as two separate items in the response array. Similarly, if one customer has multiple accounts, each account is reflected as a separate item in the response array.

Query parameters
  • limit integer

    The maximum number of customer accounts to be returned. Defaults to 30.

    Minimum value is 0, maximum value is 100.

  • starting_after string

    Pass the value from the paging response body in your previous request. If not provided, the zero-indexed starting point will be used. Either starting_after or ending_before may be provided, but not both.

  • ending_before string

    Pass the value from the paging response body in your previous request. If not provided, the zero-indexed starting point will be used. Either starting_after or ending_before may be provided, but not both.

  • search_parameters string

    Currently, this API only supports searching by name_first or name_last. Based on the input search parameter, the top responses from our API search, up to or less than the provided limit will be returned.

Responses
  • 200 object

    Array of Customers and their corresponding Accounts

    • results array[object]

      An array of information for all customer-account correspondences within the requested range.

      • customer_id Required / string

        A Canopy-generated ID for the customer.

      • name_prefix string

        Prefix to the customer's name. Primary account holder or controlling officer name for Business customers.

      • name_first string

        Customer's first name. Primary account holder or controlling officer name for Business customers.

      • name_middle string

        Customer's middle name. Primary account holder or controlling officer name for Business customers.

      • name_last string

        Customer's last name. Primary account holder or controlling officer name for Business customers.

      • name_suffix string

        Suffix to the customer's name

      • phone_number string

        Customer's phone number in E.164 format

      • address_line_one string

        Address line one.

      • address_line_two string

        Address line two.

      • address_city string

        Address city.

      • address_state string

        Address state.

      • address_zip string

        Five digit zipcode or nine digit 'ZIP+4'

      • ssn string

        Social security number of the customer

      • email string(email)

        The email address of this Customer

      • date_of_birth string(date)

        Customer's date of birth in ISO 8601 format

      • business_details object
        • business_legal_name string

          The legal name of the Business

        • doing_business_as string

          The DBA name of the Business

        • business_ein string

          EIN of the business

      • customer_account_role string

        The role of the customer for the account.

        Default value is PRIMARY.

      • customer_account_external_id string

        A unique number for the customer on the account. For instance, a credit card number. If none is provided, a Canopy-generated ID can be used.

      • customer_account_issuer_processor_config object
        • lithic object
          • lithic_card object
            • last_four string

              Last four digits of the card number

            • memo string

              Friendly name to identify the card

            • type string

              The type of card created by Lithic

              Values are SINGLE_USE, MERCHANT_LOCKED, and UNLOCKED.

      • account object
        • account_id Required / string

          This is generated by Canopy. A unique ID for the account.

        • created_at string(date-time)

          The Date-Time which the account was created in the API.

        • effective_at string(date-time)

          The Date-Time that this account became/becomes active.

        • external_account_id string

          Note: The value passed here must be unique. This ties to a reference of your account in an external system. For example, you may have a ten digit loan number you use to reference the account.

        • account_overview object
          • account_status Required / string

            The Status of the Account. Active upon account creation.

            Default value is active.

          • account_status_subtype string

            The subtype of the Status of the Account. Null upon account creation.

        • account_product object

          The product associated with the account.

          • product_id Required / integer

            The Canopy-generated ID for the product.

          • external_product_id string

            A unique external ID that may be used interchangeably with the Canopy-generated product ID

          • product_overview object
            • product_name Required / string

              Name of Product, i.e. Express Card.

            • product_color string

              A color to be associated with the product for UI purposes.

              Default value is #4867FF.

            • product_short_description string

              Short description of the Product - max of 30 characters.

            • product_long_description Required / string

              Description of the Product.

            • product_time_zone string

              Timezone denoted as an Olson-style timezone defining the timezone for the product. All times in any response data for accounts using this product will be denominated in this timezone. Shifts due to daylight savings will be accounted for where relevant, and all output timestamps will be denoted as UTC offsets normalized based on this value.

              Default value is America/New_York.

            • product_type Required / string

              The Type of Product. If not included, defaults to REVOLVING

          • product_lifecycle object
            • late_fee_impl_cents Required / integer

              The fee charged for late payments on the account.

              Default value is 0.

            • payment_reversal_fee_impl_cents Required / integer

              The fee charged for payment reversals on the account.

              Default value is 0.

            • origination_fee_impl_cents integer

              The fee charged at the time of account origination

              Default value is 0.

            • annual_fee_impl_cents integer

              An annual fee to be charged yearly from the date of account creation. It will reflect on the subsequent statement once incurred.

              Default value is 0.

            • monthly_fee_impl_cents integer

              A monthly fee to be charged monthly from the date of account creation. It will reflect on the subsequent statement once incurred.

              Default value is 0.

            • loan_end_date string(date-time)

              If applicable, the account's loan repayment date.

          • promo_overview object
            • promo_purchase_window_inclusive_start string(date-time)

              If applicable, the start date for a purchase window for the account

            • promo_purchase_window_exclusive_end string(date-time)

              If applicable, the end date for a purchase window for the account

            • promo_inclusive_start string(date-time)

              If applicable, the start date for a promotional period for the account.

            • promo_exclusive_end string(date-time)

              If applicable, the start date for a promotional period for the account.

            • promo_impl_interest_rate_percent number

              The percentage interest applied to the account during the promotional period (i.e. 6.2%)

              Default value is 0.

            • promo_len integer

              Defaults to 0. The number of billing cycles from account origination during which accounts on this product are on a promotional period.

          • post_promo_overview object
            • post_promo_inclusive_start string(date-time)

              If applicable, the start date for a promotional period for the account.

            • post_promo_exclusive_end string(date-time)

              If applicable, the start date for a promotional period for the account.

            • post_promo_impl_interest_rate_percent number

              The percentage interest applied to the account during the post-promotional period (i.e. 6.2%)

              Default value is 0.

            • post_promo_len integer

              If applicable, post-promotional amortization length in cycles.

              Default value is 0.

          • product_duration_information object
            • promo_len integer

              The number of billing cycles from account origination during which accounts on this product are on a promotional period.

              Default value is 0.

            • promo_purchase_window_len integer

              If applicable, the number of billing cycles from account origination under which this product falls under a purchas window period.

              Default value is 0.

        • external_fields array[object]

          An Array of External Fields. These should be used to connect accounts created in Canopy to Users in your system and any connected external systems.

          • key string

            key: i.e. Name of the External Party

          • value string

            value: i.e. External Account ID

        • min_pay_due_cents object
          • statement_min_pay_cents Required / integer

            Total amount due for the billing cycle, summing cycle principal, interest, deferred interest, and fees outstanding.

            Default value is 0.

          • min_pay_due_at string(date-time)

            The Date-Time the payment for this billing cycle is due.

        • additional_statement_min_pay_details object
          • statement_min_pay_charges_principal_cents Required / integer

            Total principal due for the billing cycle.

            Default value is 0.

          • statement_min_pay_interest_cents Required / integer

            Total interest due for the billing cycle.

            Default value is 0.

          • statement_min_pay_am_interest_cents Required / integer

            The current AM interest balance of the line item. Canopy tracks interest during an amortization period separately from deferred interest accrued during a revolving period.

            Default value is 0.

          • statement_min_pay_deferred_cents Required / integer

            Total deferred interest due for the billing cycle.

            Default value is 0.

          • statement_min_pay_am_deferred_interest_cents Required / integer

            The current AM deferred interest balance of the line item. Canopy tracks deferred interest during an amortization period separately from deferred interest accrued during a revolving period.

            Default value is 0.

          • statement_min_pay_fees_cents Required / integer

            Total fees due for the billing cycle.

            Default value is 0.

          • previous_statement_min_pay_cents Required / integer

            Previous amounts due, including fees. This is a subset of statement_min_pay_cents.

            Default value is 0.

        • payment_processor_config object
          • ach object

            ACH processing configuration.

            • payment_processor_name Required / string

              Indicates the active payment processor whose configuration will be used for ACH payments made from the account.

              Values are NONE and REPAY. Default value is NONE.

            • repay_config object
              • valid_config Required / boolean

                Indicates whether Canopy has a valid configuration stored for this ACH payment processor for this account. For example, if Canopy needs an ACH token on behalf of the account to call the processor, this field will indicate that Canopy has successfully stored the necessary token.

          • debit_card object

            Debit processing configuration.

            • payment_processor_name Required / string

              Indicates the active payment processor whose configuration will be used for Debit card payments made from the account.

              Values are NONE and REPAY. Default value is NONE.

            • repay_config object
              • valid_config Required / boolean

                Indicates whether Canopy has a valid configuration stored for this Debit card payment processor for this account. For example, if Canopy needs a Debit card token on behalf of the account to call the processor, this field will indicate that Canopy has successfully stored the necessary token.

          • autopay_enabled boolean

            Indicates whether autopay is enabled for this account. Currently, autopay is triggered 1 day prior to a payment due date. If default_payment_processor is set to NONE, autopay will not be triggered for account regardless of this field's value.

          • default_payment_processor_method string

            Configures the payment processor to be used for manual or autopay payments. This cannot be set to a value different from NONE if no valid ACH or Debit Card configs are provided.

            Values are ACH, DEBIT_CARD, and NONE. Default value is NONE.

        • issuer_processor_details object
          • lithic object
            • account_token string(uuid)

              The external unique identifier of the Lithic account against which charges are made.

        • cycle_type object
          • first_cycle_interval string

            Interval for a first cycle for this account.

        • discounts object
          • prepayment_discount_config object
            • loan_discount_cents integer

              Loan discount amount in cents.

            • loan_discount_at string(date-time)

              The Date-Time that this discount is valid.

        • summary object
          • total_balance_cents integer

            The total balance (in cents) associated with the account.

          • principal_cents integer

            The total balance (in cents) associated with the account.

          • interest_balance_cents integer

            The total interest balance (in cents) associated with the account.

          • am_interest_balance_cents integer

            The total AM interest balance (in cents) associated with the account.

            Default value is 0.

          • deferred_interest_balance_cents integer

            The total deferred interest balance (in cents) associated with the account.

            Default value is 0.

          • am_deferred_interest_balance_cents integer

            The total AM deferred interest balance (in cents) associated with the account.

            Default value is 0.

          • total_paid_to_date_cents integer

            The total sum of payments made to date (in cents) associated with the account.

          • total_interest_paid_to_date_cents integer

            The total sum of interest allocations for payments made to date (in cents) associated with the account.

          • credit_limit_cents Required / integer

            Total Amount (in cents) that this account can borrow.

          • max_approved_credit_limit_cents integer

            Total Amount (in cents) that this account can borrow.

            Default value is 0.

          • interest_rate_percent number

            The percentage interest applied to the account (i.e. 6.2 means 6.2%)

          • available_credit_cents integer

            The total available credit balance (in cents) for the account.

            Default value is 0.

          • open_to_buy_cents integer

            If applicable, the total amount of available funds for continued purchase following a purchase window pattern, where payments made do not replenish amount available for purchase.

            Default value is 0.

          • total_payoff_cents integer

            The total amount needed to pay off the loan at this exact moment.

            Default value is 0.

        • associated_entities object
          • merchant_name string

            A merchant name associated with the account

          • lender_name string

            A lender name associated with the account

    • paging object

      Pagination Information.

      • starting_after string

        Use this to drive your next request if you want the next page of results

      • ending_before string

        Use this to drive your next request if you want the previous page of results

      • has_more boolean

        Indicates whether there are additional values beyond the ending index of the paginated results.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Unable to get customers

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/customers/accounts
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/customers/accounts
Response example (200)
{ "results": [ { "customer_id": "31mNprzLd2bKl6koVna68ARM", "name_prefix": "Dr.", "name_first": "Miriam", "name_middle": "Louise", "name_last": "Trevino", "name_suffix": "Jr", "phone_number": "+14105556789", "address_line_one": "12 Strawberry Road", "address_line_two": "Suite 101", "address_city": "Atlanta", "address_state": "GA", "address_zip": "99999-1000", "ssn": "888-88-8888", "email": "marissa@protonmail.com", "date_of_birth": "1985-06-20", "business_details": { "business_legal_name": "Umbrella Corporation", "doing_business_as": "Umbrella", "business_ein": "888-88-8888" }, "customer_account_role": "PRIMARY", "customer_account_external_id": "4465220133024156", "customer_account_issuer_processor_config": { "lithic": { "lithic_card": { "last_four": "1234", "memo": "Primary College Card", "type": "MERCHANT_LOCKED" } } }, "account": { "account_id": "31mNprzLd2bKl6koVna68ARM", "created_at": "2017-06-20T09:12:14+00:00", "effective_at": "2018-03-20T09:12:28+00:00", "external_account_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "account_overview": { "account_status": "suspended", "account_status_subtype": "suspended-bankruptcy" }, "account_product": { "product_id": 4, "external_product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "product_overview": { "product_name": "Blue Cash Express", "product_color": "#0000FF", "product_short_description": "Consumer credit card", "product_long_description": "Student credit card.", "product_time_zone": "America/Chicago", "product_type": "REVOLVING" }, "product_lifecycle": { "late_fee_impl_cents": 2900, "payment_reversal_fee_impl_cents": 2900, "origination_fee_impl_cents": 2000, "annual_fee_impl_cents": 1000, "monthly_fee_impl_cents": 500, "loan_end_date": "2013-01-13T05:25:13.813+00:00" }, "promo_overview": { "promo_purchase_window_inclusive_start": "2013-01-13T05:25:13.813+00:00", "promo_purchase_window_exclusive_end": "2013-01-13T05:25:13.813+00:00", "promo_inclusive_start": "2013-01-13T05:25:13.813+00:00", "promo_exclusive_end": "2013-01-13T05:25:13.813+00:00", "promo_impl_interest_rate_percent": 6.2, "promo_len": 6 }, "post_promo_overview": { "post_promo_inclusive_start": "2013-01-13T05:25:13.813+00:00", "post_promo_exclusive_end": "2013-01-13T05:25:13.813+00:00", "post_promo_impl_interest_rate_percent": 6.2, "post_promo_len": 48 }, "product_duration_information": { "promo_len": 6, "promo_purchase_window_len": 5 } }, "external_fields": [ { "key": "Umbrella Corporation", "value": "22445702-a389-431f-927d-07b8d0750787" } ], "min_pay_due_cents": { "statement_min_pay_cents": 160000, "min_pay_due_at": "2019-10-18T23:04:48.321+00:00" }, "additional_statement_min_pay_details": { "statement_min_pay_charges_principal_cents": 100000, "statement_min_pay_interest_cents": 30000, "statement_min_pay_am_interest_cents": 200, "statement_min_pay_deferred_cents": 10000, "statement_min_pay_am_deferred_interest_cents": 200, "statement_min_pay_fees_cents": 20000, "previous_statement_min_pay_cents": 400000 }, "payment_processor_config": { "ach": { "payment_processor_name": "REPAY", "repay_config": { "valid_config": true } }, "debit_card": { "payment_processor_name": "REPAY", "repay_config": { "valid_config": true } }, "autopay_enabled": true, "default_payment_processor_method": "ACH" }, "issuer_processor_details": { "lithic": { "account_token": "349e2031-20de-40c6-87a3-214895077522" } }, "cycle_type": { "first_cycle_interval": "11 days" }, "discounts": { "prepayment_discount_config": { "loan_discount_cents": 800000, "loan_discount_at": "2018-03-20T09:12:28+00:00" } }, "summary": { "total_balance_cents": 300000, "principal_cents": 200000, "interest_balance_cents": 60000, "am_interest_balance_cents": 0, "deferred_interest_balance_cents": 40000, "am_deferred_interest_balance_cents": 0, "total_paid_to_date_cents": 40000, "total_interest_paid_to_date_cents": 10000, "credit_limit_cents": 400000, "max_approved_credit_limit_cents": 400000, "interest_rate_percent": 3, "available_credit_cents": 100000, "open_to_buy_cents": 5000, "total_payoff_cents": 900000 }, "associated_entities": { "merchant_name": "Acme Corporation", "lender_name": "Globex Lending Corp" } } } ], "paging": { "starting_after": "31mNprzLd2bKl6koVna68ARM", "ending_before": "31mNprzLd2bKl6koVna68ARM", "has_more": true } }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Create a new customer

Customer can be created within Canopy with attached data managed in a secure and compliant way to facilitate providing the best service for products created through Canopy.

Body
  • name_prefix string

    Prefix to the customer's name.

  • name_first Required / string

    Customer's first name.

  • name_middle string

    Customer's middle name.

  • name_last Required / string

    Customer's last name.

  • name_suffix string

    Suffix to the customer's name.

  • phone_number Required / string

    Customer's phone number in E.164 format.

  • address_line_one Required / string

    Address line one.

  • address_line_two string

    Address line two.

  • address_city Required / string

    Address city.

  • address_state Required / string

    Address state.

  • address_zip Required / string

    Five digit zipcode or nine digit 'ZIP+4'.

  • ssn Required / string

    Social security number of the customer.

  • email Required / string(email)

    The Customer's email address.

  • date_of_birth Required / string(date)

    Customer's date of birth in ISO 8601 format.

  • business_details object
    • business_legal_name Required / string

      The legal name of the Business.

    • doing_business_as Required / string

      The DBA name of the Business.

    • business_ein Required / string

      EIN of the business.

  • assign_to_accounts array[object]

    An array of existing accounts to which this Customer should be assigned. If left empty, the customer will not be assigned to any accounts, and can be later assigned to an account via the Update an existing customer route. Customers only become meaningful agents in Canopy's servicing system once they are assigned to accounts.

    • account_id string

      This is generated by Canopy. A unique ID for the account.

    • customer_account_role string

      The role of the customer for the account.

      Values are PRIMARY, SECONDARY, and CARDHOLDER. Default value is PRIMARY.

    • customer_account_external_id string

      A unique number for the customer on the account. For instance, a credit card number. If none is provided, a Canopy-generated ID can be used.

    • customer_account_issuer_processor_config object
      • lithic object
        • memo string

          Friendly name to identify the card.

        • type string

          The type of card created by Lithic.

          Values are SINGLE_USE, MERCHANT_LOCKED, and UNLOCKED.

        • state string

          The state of the new card.

          Values are OPEN and PAUSED.

        • card_program_token string(uuid)

          Token belonging to the card program under which to create the card.

Responses
  • 200 object

    New Customer Created

    • customer_id Required / string

      A Canopy-generated ID for the customer.

    • name_prefix string

      Prefix to the customer's name. Primary account holder or controlling officer name for Business customers.

    • name_first string

      Customer's first name. Primary account holder or controlling officer name for Business customers.

    • name_middle string

      Customer's middle name. Primary account holder or controlling officer name for Business customers.

    • name_last string

      Customer's last name. Primary account holder or controlling officer name for Business customers.

    • name_suffix string

      Suffix to the customer's name

    • phone_number string

      Customer's phone number in E.164 format

    • address_line_one string

      Address line one.

    • address_line_two string

      Address line two.

    • address_city string

      Address city.

    • address_state string

      Address state.

    • address_zip string

      Five digit zipcode or nine digit 'ZIP+4'

    • ssn string

      Social security number of the customer

    • email string(email)

      The email address of this Customer

    • date_of_birth string(date)

      Customer's date of birth in ISO 8601 format

    • business_details object
      • business_legal_name string

        The legal name of the Business

      • doing_business_as string

        The DBA name of the Business

      • business_ein string

        EIN of the business

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/customers
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/customers \ -H "Content-Type: application/json" \ -d '{"name_prefix":"Dr.","name_first":"Miriam","name_middle":"Louise","name_last":"Trevino","name_suffix":"Jr","phone_number":"+14105556789","address_line_one":"12 Strawberry Road","address_line_two":"Suite 101","address_city":"Atlanta","address_state":"GA","address_zip":"99999-1000","ssn":"888888888","email":"marissa@protonmail.com","date_of_birth":"1985-06-20","business_details":{"business_legal_name":"Umbrella Corporation","doing_business_as":"Umbrella","business_ein":"888-88-8888"},"assign_t...}'
Request payload example
{ "name_prefix": "Dr.", "name_first": "Miriam", "name_middle": "Louise", "name_last": "Trevino", "name_suffix": "Jr", "phone_number": "+14105556789", "address_line_one": "12 Strawberry Road", "address_line_two": "Suite 101", "address_city": "Atlanta", "address_state": "GA", "address_zip": "99999-1000", "ssn": "888888888", "email": "marissa@protonmail.com", "date_of_birth": "1985-06-20", "business_details": { "business_legal_name": "Umbrella Corporation", "doing_business_as": "Umbrella", "business_ein": "888-88-8888" }, "assign_to_accounts": [ { "account_id": "31mNprzLd2bKl6koVna68ARM", "customer_account_role": "PRIMARY", "customer_account_external_id": "4465220133024156", "customer_account_issuer_processor_config": { "lithic": { "memo": "Primary College Card", "type": "MERCHANT_LOCKED", "state": "OPEN", "card_program_token": "a5e38341-cc95-4a9b-a21c-751aeca67e9c" } } } ] }
Response example (200)
{ "customer_id": "31mNprzLd2bKl6koVna68ARM", "name_prefix": "Dr.", "name_first": "Miriam", "name_middle": "Louise", "name_last": "Trevino", "name_suffix": "Jr", "phone_number": "+14105556789", "address_line_one": "12 Strawberry Road", "address_line_two": "Suite 101", "address_city": "Atlanta", "address_state": "GA", "address_zip": "99999-1000", "ssn": "888-88-8888", "email": "marissa@protonmail.com", "date_of_birth": "1985-06-20", "business_details": { "business_legal_name": "Umbrella Corporation", "doing_business_as": "Umbrella", "business_ein": "888-88-8888" } }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Update a card for an existing customer on an account

Path parameters
  • account_id Required / string

    Account ID

  • customer_id Required / string

    Customer ID

Body
  • spend_limit integer

    Spending limit of card (in cents). If not provided, spending is still subject to the spend limit set at the issuer processor account (if any).

    Minimum value is 1.

  • lithic object
    • token Required / string

      External identifier for card in Lithic.

    • memo string

      Friendly name to identify the card

    • state string

      The new state of the card. Note: "CLOSED" cannot be undone.

      Values are OPEN, PAUSED, and CLOSED.

Responses
  • 200 array[object]

    Successfully created a new card for the customer.

    • spend_limit integer

      Spending limit of card (in cents). If not provided, spending is still subject to the spend limit set at the issuer processor account (if any).

      Minimum value is 1.

    • lithic object
      • type string

        The type of card being returned

        Values are UNLOCKED, MERCHANT_LOCKED, and SINGLE_USE.

      • state string

        The current state of the card

        Values are OPEN, PAUSED, and CLOSED.

      • token string(uuid)

        Unique external identifier for the card

      • last_four string

        Last four digits of the card

      • memo string

        Friendly name to identify the card

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/accounts/{account_id}/customers/{customer_id}/cards
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/customers/jNxDp2ybR5M72LaBA83e06md/cards \ -H "Content-Type: application/json" \ -d '{"spend_limit":8000000,"lithic":{"token":"5c7678a6-db0e-4c24-9ad4-73eb0f719724","memo":"Primary Business Card","state":"OPEN"}}'
Request payload example
{ "spend_limit": 8000000, "lithic": { "token": "5c7678a6-db0e-4c24-9ad4-73eb0f719724", "memo": "Primary Business Card", "state": "OPEN" } }
Response example (200)
[ { "spend_limit": 8000000, "lithic": { "type": "UNLOCKED", "state": "OPEN", "token": "adccd28d-532e-480b-a063-a46a77a15570", "last_four": "0690", "memo": "Conference Event Card" }, "": "string" } ]
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Create a new card for an existing customer on an account

Path parameters
  • account_id Required / string

    Account ID

  • customer_id Required / string

    Customer ID

Body
  • spend_limit integer

    Spending limit of card (in cents). If not provided, spending is still subject to the spend limit set at the issuer processor account (if any).

    Minimum value is 1.

  • lithic object
    • memo string

      Friendly name to identify the card

    • type string

      The type of card created by Lithic

      Values are SINGLE_USE, MERCHANT_LOCKED, and UNLOCKED.

    • state string

      The state of the new card

      Values are OPEN and PAUSED.

    • card_program_token string(uuid)

      Token belonging to the card program under which to create the card.

Responses
  • 200 array[object]

    Successfully created a new card for the customer.

    • spend_limit integer

      Spending limit of card (in cents). If not provided, spending is still subject to the spend limit set at the issuer processor account (if any).

      Minimum value is 1.

    • lithic object
      • type string

        The type of card being returned

        Values are UNLOCKED, MERCHANT_LOCKED, and SINGLE_USE.

      • state string

        The current state of the card

        Values are OPEN, PAUSED, and CLOSED.

      • token string(uuid)

        Unique external identifier for the card

      • last_four string

        Last four digits of the card

      • memo string

        Friendly name to identify the card

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/accounts/{account_id}/customers/{customer_id}/cards
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/customers/jNxDp2ybR5M72LaBA83e06md/cards \ -H "Content-Type: application/json" \ -d '{"spend_limit":8000000,"lithic":{"memo":"Primary College Card","type":"MERCHANT_LOCKED","state":"OPEN","card_program_token":"a5e38341-cc95-4a9b-a21c-751aeca67e9c"}}'
Request payload example
{ "spend_limit": 8000000, "lithic": { "memo": "Primary College Card", "type": "MERCHANT_LOCKED", "state": "OPEN", "card_program_token": "a5e38341-cc95-4a9b-a21c-751aeca67e9c" } }
Response example (200)
[ { "spend_limit": 8000000, "lithic": { "type": "UNLOCKED", "state": "OPEN", "token": "adccd28d-532e-480b-a063-a46a77a15570", "last_four": "0690", "memo": "Conference Event Card" }, "": "string" } ]
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Accounts

Manage the way your users use credit products you've launched in Canopy

Create a new account

At least one account should be created for customer of each of your products. Once created, you will be able to add line_items to the account.

Body
  • effective_at string(date-time)

    The Date-Time as of which this account is effective on the server.

  • product_id string

    A unique product ID generated by Canopy.

  • external_product_id string

    Note: The value passed here must be unique. A unique external ID that may be used interchangeably with the Canopy-generated product ID. Either external ID or Canopy product ID must be passed at the time of account creation.

  • external_account_id string

    Note: The value passed here must be unique. This ties to a reference of your account in an external system. For example, you may have a ten digit loan number you use to reference the account.

  • external_fields array[object]

    External fields can be used to relate accounts created in Canopy to entities in your or any external system.

    • key string

      key: i.e. Name of the External Party

    • value string

      value: i.e. External Account ID

  • payment_processor_config object
    • ach object

      ACH processing configuration.

      • payment_processor_name Required / string

        Indicates the active payment processor whose configuration will be used for ACH payments made from the account.

        Values are NONE and REPAY. Default value is NONE.

      • repay_config object

        Sensitive bank information will be stored as a secured token for payments in place of the raw account details.

        • repay_check_type Required / string

          Type of checking account: Personal or Business.

          Values are PERSONAL and BUSINESS.

        • repay_account_type Required / string

          Type of account: Savings or Checking.

          Values are SAVINGS and CHECKING.

        • repay_transit_number Required / integer

          Transit number is a nine-digit code based on the U.S. Bank location where your account was opened.

        • repay_account_number Required / integer

          Account number is an eight to ten digit number that identifies a specific account.

        • repay_name_on_check Required / string

          Account holder's name as it appears on the account.

    • debit_card object

      Debit processing configuration.

      • payment_processor_name Required / string

        Indicates the active payment processor whose configuration will be used for payments made from the account. If NONE, Canopy will not trigger payments to an external payment processor when they occur.

        Values are NONE and REPAY. Default value is NONE.

      • repay_config object

        Sensitive debit card information will be stored as a secured token for payments in place of the raw account details.

        • repay_card_number Required / string

          16 digit debit card number.

        • repay_exp_date Required / string

          The card expiration date in the format MMYY.

        • repay_name_on_card Required / string

          The card holder's name as it appears on the card.

        • repay_street Required / string

          The card holder's billing street address.

        • repay_zip Required / string

          The card holder's billing zip code.

    • autopay_enabled boolean

      Indicates whether autopay is enabled for this account. Currently, autopay is triggered 1 day prior to a payment due date. If default_payment_processor is set to NONE, autopay will not be triggered for account regardless of this field's value.

    • default_payment_processor_method string

      Configures the payment processor to be used for manual or autopay payments. This cannot be set to a value different from NONE if no valid ACH or Debit Card configs are provided.

      Values are ACH, DEBIT_CARD, and NONE. Default value is NONE.

  • cycle_type object
    • first_cycle_interval string

      Interval for a first cycle for this account.

  • discounts object
    • prepayment_discount_config object
      • loan_discount_cents integer

        Loan discount amount in cents.

        Minimum value is 1.

      • loan_discount_at string(date-time)

        The Date-Time that this discount is valid.

  • summary object
    • credit_limit_cents integer

      Total amount (in cents) that this account can borrow.

    • max_approved_credit_limit_cents integer

      Total amount (in cents) that this account can borrow.

    • late_fee_cents integer

      The fee charged for late payments on the account.

    • payment_reversal_fee_cents integer

      The fee charged for payment reversals on the account.

    • origination_fee_cents integer

      The fee charged at the time of account origination

      Default value is 0.

    • annual_fee_cents integer

      An annual fee to be charged yearly from the date of account creation. It will reflect on the subsequent statement once incurred.

      Default value is 0.

    • monthly_fee_cents integer

      A monthly fee to be charged monthly from the date of account creation. It will reflect on the subsequent statement once incurred.

      Default value is 0.

    • initial_principal_cents integer

      The initial principal balance (in cents) for the account.

  • promo_overview object
    • promo_impl_interest_rate_percent number

      The percentage interest applied to the account during the promotional period (e.g. 6.2)

  • post_promo_overview object
    • post_promo_impl_interest_rate_percent number

      The percentage interest applied to the account during the post-promotional period (e.g. 6.2)

    • post_promo_len integer

      If applicable, post-promotional amortization length in cycles.

  • associated_entities object
    • merchant_name string

      A merchant name associated with the account

    • lender_name string

      A lender name associated with the account

  • assign_customers array[object]

    Array of existing customer IDs to be added to the account. At least one existing OR one new customer must be included in account creation.

    • customer_id Required / string

      A unique account ID generated by Canopy.

    • customer_account_role string

      The role of the customer for the account.

      Values are PRIMARY and SECONDARY.

    • customer_account_external_id string

      A unique number for the customer on the account. For instance, a credit card number. If none is provided, a Canopy-generated ID can be used.

    • customer_account_issuer_processor_config object
      • lithic object
        • memo string

          Friendly name to identify the card

        • type string

          The type of card created by Lithic

          Values are SINGLE_USE, MERCHANT_LOCKED, and UNLOCKED.

        • state string

          The state of the new card

          Values are OPEN and PAUSED.

        • card_program_token string(uuid)

          Token belonging to the card program under which to create the card.

Responses
  • 200 object

    Successful query of information for a specific account

    • account_id string

      This is generated by Canopy. A unique ID for the account.

    • created_at string(date-time)

      The Date-Time which the account was created in the API.

    • effective_at string(date-time)

      The Date-Time that this account became/becomes active.

    • external_account_id string

      Note: The value passed here must be unique. This ties to a reference of your account in an external system. For example, you may have a ten digit loan number you use to reference the account.

    • account_overview object
      • account_status Required / string

        The Status of the Account. Active upon account creation.

        Default value is active.

      • account_status_subtype string

        The subtype of the Status of the Account. Null upon account creation.

    • account_product object

      The product associated with the account.

      • product_id Required / integer

        The Canopy-generated ID for the product.

      • external_product_id string

        A unique external ID that may be used interchangeably with the Canopy-generated product ID

      • product_overview object
        • product_name Required / string

          Name of Product, i.e. Express Card.

        • product_color string

          A color to be associated with the product for UI purposes.

          Default value is #4867FF.

        • product_short_description string

          Short description of the Product - max of 30 characters.

        • product_long_description Required / string

          Description of the Product.

        • product_time_zone string

          Timezone denoted as an Olson-style timezone defining the timezone for the product. All times in any response data for accounts using this product will be denominated in this timezone. Shifts due to daylight savings will be accounted for where relevant, and all output timestamps will be denoted as UTC offsets normalized based on this value.

          Default value is America/New_York.

        • product_type Required / string

          The Type of Product. If not included, defaults to REVOLVING

      • product_lifecycle object
        • late_fee_impl_cents Required / integer

          The fee charged for late payments on the account.

          Default value is 0.

        • payment_reversal_fee_impl_cents Required / integer

          The fee charged for payment reversals on the account.

          Default value is 0.

        • origination_fee_impl_cents integer

          The fee charged at the time of account origination

          Default value is 0.

        • annual_fee_impl_cents integer

          An annual fee to be charged yearly from the date of account creation. It will reflect on the subsequent statement once incurred.

          Default value is 0.

        • monthly_fee_impl_cents integer

          A monthly fee to be charged monthly from the date of account creation. It will reflect on the subsequent statement once incurred.

          Default value is 0.

        • loan_end_date string(date-time)

          If applicable, the account's loan repayment date.

      • promo_overview object
        • promo_purchase_window_inclusive_start string(date-time)

          If applicable, the start date for a purchase window for the account

        • promo_purchase_window_exclusive_end string(date-time)

          If applicable, the end date for a purchase window for the account

        • promo_inclusive_start string(date-time)

          If applicable, the start date for a promotional period for the account.

        • promo_exclusive_end string(date-time)

          If applicable, the start date for a promotional period for the account.

        • promo_impl_interest_rate_percent number

          The percentage interest applied to the account during the promotional period (i.e. 6.2%)

          Default value is 0.

        • promo_len integer

          Defaults to 0. The number of billing cycles from account origination during which accounts on this product are on a promotional period.

      • post_promo_overview object
        • post_promo_inclusive_start string(date-time)

          If applicable, the start date for a promotional period for the account.

        • post_promo_exclusive_end string(date-time)

          If applicable, the start date for a promotional period for the account.

        • post_promo_impl_interest_rate_percent number

          The percentage interest applied to the account during the post-promotional period (i.e. 6.2%)

          Default value is 0.

        • post_promo_len integer

          If applicable, post-promotional amortization length in cycles.

          Default value is 0.

      • product_duration_information object
        • promo_len integer

          The number of billing cycles from account origination during which accounts on this product are on a promotional period.

          Default value is 0.

        • promo_purchase_window_len integer

          If applicable, the number of billing cycles from account origination under which this product falls under a purchas window period.

          Default value is 0.

    • external_fields array[object]

      An Array of External Fields. These should be used to connect accounts created in Canopy to Users in your system and any connected external systems.

      • key string

        key: i.e. Name of the External Party

      • value string

        value: i.e. External Account ID

    • min_pay_due_cents object
      • statement_min_pay_cents Required / integer

        Total amount due for the billing cycle, summing cycle principal, interest, deferred interest, and fees outstanding.

        Default value is 0.

      • min_pay_due_at string(date-time)

        The Date-Time the payment for this billing cycle is due.

    • additional_statement_min_pay_details object
      • statement_min_pay_charges_principal_cents Required / integer

        Total principal due for the billing cycle.

        Default value is 0.

      • statement_min_pay_interest_cents Required / integer

        Total interest due for the billing cycle.

        Default value is 0.

      • statement_min_pay_am_interest_cents Required / integer

        The current AM interest balance of the line item. Canopy tracks interest during an amortization period separately from deferred interest accrued during a revolving period.

        Default value is 0.

      • statement_min_pay_deferred_cents Required / integer

        Total deferred interest due for the billing cycle.

        Default value is 0.

      • statement_min_pay_am_deferred_interest_cents Required / integer

        The current AM deferred interest balance of the line item. Canopy tracks deferred interest during an amortization period separately from deferred interest accrued during a revolving period.

        Default value is 0.

      • statement_min_pay_fees_cents Required / integer

        Total fees due for the billing cycle.

        Default value is 0.

      • previous_statement_min_pay_cents Required / integer

        Previous amounts due, including fees. This is a subset of statement_min_pay_cents.

        Default value is 0.

    • payment_processor_config object
      • ach object

        ACH processing configuration.

        • payment_processor_name Required / string

          Indicates the active payment processor whose configuration will be used for ACH payments made from the account.

          Values are NONE and REPAY. Default value is NONE.

        • repay_config object
          • valid_config Required / boolean

            Indicates whether Canopy has a valid configuration stored for this ACH payment processor for this account. For example, if Canopy needs an ACH token on behalf of the account to call the processor, this field will indicate that Canopy has successfully stored the necessary token.

      • debit_card object

        Debit processing configuration.

        • payment_processor_name Required / string

          Indicates the active payment processor whose configuration will be used for Debit card payments made from the account.

          Values are NONE and REPAY. Default value is NONE.

        • repay_config object
          • valid_config Required / boolean

            Indicates whether Canopy has a valid configuration stored for this Debit card payment processor for this account. For example, if Canopy needs a Debit card token on behalf of the account to call the processor, this field will indicate that Canopy has successfully stored the necessary token.

      • autopay_enabled boolean

        Indicates whether autopay is enabled for this account. Currently, autopay is triggered 1 day prior to a payment due date. If default_payment_processor is set to NONE, autopay will not be triggered for account regardless of this field's value.

      • default_payment_processor_method string

        Configures the payment processor to be used for manual or autopay payments. This cannot be set to a value different from NONE if no valid ACH or Debit Card configs are provided.

        Values are ACH, DEBIT_CARD, and NONE. Default value is NONE.

    • issuer_processor_details object
      • lithic object
        • account_token string(uuid)

          The external unique identifier of the Lithic account against which charges are made.

    • cycle_type object
      • first_cycle_interval string

        Interval for a first cycle for this account.

    • discounts object
      • prepayment_discount_config object
        • loan_discount_cents integer

          Loan discount amount in cents.

        • loan_discount_at string(date-time)

          The Date-Time that this discount is valid.

    • summary object
      • total_balance_cents integer

        The total balance (in cents) associated with the account.

      • principal_cents integer

        The total balance (in cents) associated with the account.

      • interest_balance_cents integer

        The total interest balance (in cents) associated with the account.

      • am_interest_balance_cents integer

        The total AM interest balance (in cents) associated with the account.

        Default value is 0.

      • deferred_interest_balance_cents integer

        The total deferred interest balance (in cents) associated with the account.

        Default value is 0.

      • am_deferred_interest_balance_cents integer

        The total AM deferred interest balance (in cents) associated with the account.

        Default value is 0.

      • total_paid_to_date_cents integer

        The total sum of payments made to date (in cents) associated with the account.

      • total_interest_paid_to_date_cents integer

        The total sum of interest allocations for payments made to date (in cents) associated with the account.

      • credit_limit_cents Required / integer

        Total Amount (in cents) that this account can borrow.

      • max_approved_credit_limit_cents integer

        Total Amount (in cents) that this account can borrow.

        Default value is 0.

      • interest_rate_percent number

        The percentage interest applied to the account (i.e. 6.2 means 6.2%)

      • available_credit_cents integer

        The total available credit balance (in cents) for the account.

        Default value is 0.

      • open_to_buy_cents integer

        If applicable, the total amount of available funds for continued purchase following a purchase window pattern, where payments made do not replenish amount available for purchase.

        Default value is 0.

      • total_payoff_cents integer

        The total amount needed to pay off the loan at this exact moment.

        Default value is 0.

    • associated_entities object
      • merchant_name string

        A merchant name associated with the account

      • lender_name string

        A lender name associated with the account

    • customers array[object]

      An array of customers who have been assigned to the account

      • customer_id Required / string

        A Canopy-generated ID for the customer.

      • name_prefix string

        Prefix to the customer's name. Primary account holder or controlling officer name for Business customers.

      • name_first string

        Customer's first name. Primary account holder or controlling officer name for Business customers.

      • name_middle string

        Customer's middle name. Primary account holder or controlling officer name for Business customers.

      • name_last string

        Customer's last name. Primary account holder or controlling officer name for Business customers.

      • name_suffix string

        Suffix to the customer's name

      • phone_number string

        Customer's phone number in E.164 format

      • address_line_one string

        Address line one.

      • address_line_two string

        Address line two.

      • address_city string

        Address city.

      • address_state string

        Address state.

      • address_zip string

        Five digit zipcode or nine digit 'ZIP+4'

      • ssn string

        Social security number of the customer

      • email string(email)

        The email address of this Customer

      • date_of_birth string(date)

        Customer's date of birth in ISO 8601 format

      • business_details object
        • business_legal_name string

          The legal name of the Business

        • doing_business_as string

          The DBA name of the Business

        • business_ein string

          EIN of the business

      • card_details array[object]
        • spend_limit integer

          Spending limit of card (in cents). If not provided, spending is still subject to the spend limit set at the issuer processor account (if any).

          Minimum value is 1.

        • lithic object
          • type string

            The type of card being returned

            Values are UNLOCKED, MERCHANT_LOCKED, and SINGLE_USE.

          • state string

            The current state of the card

            Values are OPEN, PAUSED, and CLOSED.

          • token string(uuid)

            Unique external identifier for the card

          • last_four string

            Last four digits of the card

          • memo string

            Friendly name to identify the card

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/accounts
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/accounts \ -H "Content-Type: application/json" \ -d '{"effective_at":"2016-11-27T13:19:56+00:00","product_id":"31mNprzLd2bKl6koVna68ARM","external_product_id":"95fea111-d121-40f8-9e8e-a6c335e48a45","external_account_id":"95fea111-d121-40f8-9e8e-a6c335e48a45","external_fields":[{"key":"Umbrella Corporation","value":"22445702-a389-431f-927d-07b8d0750787"}],"payment_processor_config":{"ach":{"payment_processor_name":"REPAY","repay_config":{"repay_check_type":"PERSONAL","repay_account_type":"CHECKING","repay_transit_number":999999992,"repay_accoun...}'
Request payload example
{ "effective_at": "2016-11-27T13:19:56+00:00", "product_id": "31mNprzLd2bKl6koVna68ARM", "external_product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "external_account_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "external_fields": [ { "key": "Umbrella Corporation", "value": "22445702-a389-431f-927d-07b8d0750787" } ], "payment_processor_config": { "ach": { "payment_processor_name": "REPAY", "repay_config": { "repay_check_type": "PERSONAL", "repay_account_type": "CHECKING", "repay_transit_number": 999999992, "repay_account_number": 987654321, "repay_name_on_check": "Lucille Bluth" } }, "debit_card": { "payment_processor_name": "REPAY", "repay_config": { "repay_card_number": "4622941000000005", "repay_exp_date": "0619", "repay_name_on_card": "John Doe", "repay_street": "1234 Main Street", "repay_zip": "85281" } }, "autopay_enabled": true, "default_payment_processor_method": "ACH" }, "cycle_type": { "first_cycle_interval": "11 days" }, "discounts": { "prepayment_discount_config": { "loan_discount_cents": 800000, "loan_discount_at": "2018-03-20T09:12:28+00:00" } }, "summary": { "credit_limit_cents": 400000, "max_approved_credit_limit_cents": 400000, "late_fee_cents": 2900, "payment_reversal_fee_cents": 2900, "origination_fee_cents": 2000, "annual_fee_cents": 1000, "monthly_fee_cents": 500, "initial_principal_cents": 400000 }, "promo_overview": { "promo_impl_interest_rate_percent": 6.2 }, "post_promo_overview": { "post_promo_impl_interest_rate_percent": 6.2, "post_promo_len": 48 }, "associated_entities": { "merchant_name": "Acme Corporation", "lender_name": "Globex Lending Corp" }, "assign_customers": [ { "customer_id": "31mNprzLd2bKl6koVna68ARM", "customer_account_role": "SECONDARY", "customer_account_external_id": "4465220133024156", "customer_account_issuer_processor_config": { "lithic": { "memo": "Primary College Card", "type": "MERCHANT_LOCKED", "state": "OPEN", "card_program_token": "a5e38341-cc95-4a9b-a21c-751aeca67e9c" } } } ] }
Response example (200)
{ "account_id": "31mNprzLd2bKl6koVna68ARM", "created_at": "2017-06-20T09:12:14+00:00", "effective_at": "2018-03-20T09:12:28+00:00", "external_account_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "account_overview": { "account_status": "suspended", "account_status_subtype": "suspended-bankruptcy" }, "account_product": { "product_id": 4, "external_product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "product_overview": { "product_name": "Blue Cash Express", "product_color": "#0000FF", "product_short_description": "Consumer credit card", "product_long_description": "Student credit card.", "product_time_zone": "America/Chicago", "product_type": "REVOLVING" }, "product_lifecycle": { "late_fee_impl_cents": 2900, "payment_reversal_fee_impl_cents": 2900, "origination_fee_impl_cents": 2000, "annual_fee_impl_cents": 1000, "monthly_fee_impl_cents": 500, "loan_end_date": "2013-01-13T05:25:13.813+00:00" }, "promo_overview": { "promo_purchase_window_inclusive_start": "2013-01-13T05:25:13.813+00:00", "promo_purchase_window_exclusive_end": "2013-01-13T05:25:13.813+00:00", "promo_inclusive_start": "2013-01-13T05:25:13.813+00:00", "promo_exclusive_end": "2013-01-13T05:25:13.813+00:00", "promo_impl_interest_rate_percent": 6.2, "promo_len": 6 }, "post_promo_overview": { "post_promo_inclusive_start": "2013-01-13T05:25:13.813+00:00", "post_promo_exclusive_end": "2013-01-13T05:25:13.813+00:00", "post_promo_impl_interest_rate_percent": 6.2, "post_promo_len": 48 }, "product_duration_information": { "promo_len": 6, "promo_purchase_window_len": 5 } }, "external_fields": [ { "key": "Umbrella Corporation", "value": "22445702-a389-431f-927d-07b8d0750787" } ], "min_pay_due_cents": { "statement_min_pay_cents": 160000, "min_pay_due_at": "2019-10-18T23:04:48.321+00:00" }, "additional_statement_min_pay_details": { "statement_min_pay_charges_principal_cents": 100000, "statement_min_pay_interest_cents": 30000, "statement_min_pay_am_interest_cents": 200, "statement_min_pay_deferred_cents": 10000, "statement_min_pay_am_deferred_interest_cents": 200, "statement_min_pay_fees_cents": 20000, "previous_statement_min_pay_cents": 400000 }, "payment_processor_config": { "ach": { "payment_processor_name": "REPAY", "repay_config": { "valid_config": true } }, "debit_card": { "payment_processor_name": "REPAY", "repay_config": { "valid_config": true } }, "autopay_enabled": true, "default_payment_processor_method": "ACH" }, "issuer_processor_details": { "lithic": { "account_token": "349e2031-20de-40c6-87a3-214895077522" } }, "cycle_type": { "first_cycle_interval": "11 days" }, "discounts": { "prepayment_discount_config": { "loan_discount_cents": 800000, "loan_discount_at": "2018-03-20T09:12:28+00:00" } }, "summary": { "total_balance_cents": 300000, "principal_cents": 200000, "interest_balance_cents": 60000, "am_interest_balance_cents": 0, "deferred_interest_balance_cents": 40000, "am_deferred_interest_balance_cents": 0, "total_paid_to_date_cents": 40000, "total_interest_paid_to_date_cents": 10000, "credit_limit_cents": 400000, "max_approved_credit_limit_cents": 400000, "interest_rate_percent": 3, "available_credit_cents": 100000, "open_to_buy_cents": 5000, "total_payoff_cents": 900000 }, "associated_entities": { "merchant_name": "Acme Corporation", "lender_name": "Globex Lending Corp" }, "customers": [ { "customer_id": "31mNprzLd2bKl6koVna68ARM", "name_prefix": "Dr.", "name_first": "Miriam", "name_middle": "Louise", "name_last": "Trevino", "name_suffix": "Jr", "phone_number": "+14105556789", "address_line_one": "12 Strawberry Road", "address_line_two": "Suite 101", "address_city": "Atlanta", "address_state": "GA", "address_zip": "99999-1000", "ssn": "888-88-8888", "email": "marissa@protonmail.com", "date_of_birth": "1985-06-20", "business_details": { "business_legal_name": "Umbrella Corporation", "doing_business_as": "Umbrella", "business_ein": "888-88-8888" }, "card_details": [ { "spend_limit": 8000000, "lithic": { "type": "UNLOCKED", "state": "OPEN", "token": "adccd28d-532e-480b-a063-a46a77a15570", "last_four": "0690", "memo": "Conference Event Card" }, "": "string" } ] } ] }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Get a specific Account

Path parameters
  • account_id Required / string

    Account ID

Query parameters
  • external boolean

    The external account ID.

Responses
  • 200 object

    Successful query of information for a specific account

    • account_id string

      This is generated by Canopy. A unique ID for the account.

    • created_at string(date-time)

      The Date-Time which the account was created in the API.

    • effective_at string(date-time)

      The Date-Time that this account became/becomes active.

    • external_account_id string

      Note: The value passed here must be unique. This ties to a reference of your account in an external system. For example, you may have a ten digit loan number you use to reference the account.

    • account_overview object
      • account_status Required / string

        The Status of the Account. Active upon account creation.

        Default value is active.

      • account_status_subtype string

        The subtype of the Status of the Account. Null upon account creation.

    • account_product object

      The product associated with the account.

      • product_id Required / integer

        The Canopy-generated ID for the product.

      • external_product_id string

        A unique external ID that may be used interchangeably with the Canopy-generated product ID

      • product_overview object
        • product_name Required / string

          Name of Product, i.e. Express Card.

        • product_color string

          A color to be associated with the product for UI purposes.

          Default value is #4867FF.

        • product_short_description string

          Short description of the Product - max of 30 characters.

        • product_long_description Required / string

          Description of the Product.

        • product_time_zone string

          Timezone denoted as an Olson-style timezone defining the timezone for the product. All times in any response data for accounts using this product will be denominated in this timezone. Shifts due to daylight savings will be accounted for where relevant, and all output timestamps will be denoted as UTC offsets normalized based on this value.

          Default value is America/New_York.

        • product_type Required / string

          The Type of Product. If not included, defaults to REVOLVING

      • product_lifecycle object
        • late_fee_impl_cents Required / integer

          The fee charged for late payments on the account.

          Default value is 0.

        • payment_reversal_fee_impl_cents Required / integer

          The fee charged for payment reversals on the account.

          Default value is 0.

        • origination_fee_impl_cents integer

          The fee charged at the time of account origination

          Default value is 0.

        • annual_fee_impl_cents integer

          An annual fee to be charged yearly from the date of account creation. It will reflect on the subsequent statement once incurred.

          Default value is 0.

        • monthly_fee_impl_cents integer

          A monthly fee to be charged monthly from the date of account creation. It will reflect on the subsequent statement once incurred.

          Default value is 0.

        • loan_end_date string(date-time)

          If applicable, the account's loan repayment date.

      • promo_overview object
        • promo_purchase_window_inclusive_start string(date-time)

          If applicable, the start date for a purchase window for the account

        • promo_purchase_window_exclusive_end string(date-time)

          If applicable, the end date for a purchase window for the account

        • promo_inclusive_start string(date-time)

          If applicable, the start date for a promotional period for the account.

        • promo_exclusive_end string(date-time)

          If applicable, the start date for a promotional period for the account.

        • promo_impl_interest_rate_percent number

          The percentage interest applied to the account during the promotional period (i.e. 6.2%)

          Default value is 0.

        • promo_len integer

          Defaults to 0. The number of billing cycles from account origination during which accounts on this product are on a promotional period.

      • post_promo_overview object
        • post_promo_inclusive_start string(date-time)

          If applicable, the start date for a promotional period for the account.

        • post_promo_exclusive_end string(date-time)

          If applicable, the start date for a promotional period for the account.

        • post_promo_impl_interest_rate_percent number

          The percentage interest applied to the account during the post-promotional period (i.e. 6.2%)

          Default value is 0.

        • post_promo_len integer

          If applicable, post-promotional amortization length in cycles.

          Default value is 0.

      • product_duration_information object
        • promo_len integer

          The number of billing cycles from account origination during which accounts on this product are on a promotional period.

          Default value is 0.

        • promo_purchase_window_len integer

          If applicable, the number of billing cycles from account origination under which this product falls under a purchas window period.

          Default value is 0.

    • external_fields array[object]

      An Array of External Fields. These should be used to connect accounts created in Canopy to Users in your system and any connected external systems.

      • key string

        key: i.e. Name of the External Party

      • value string

        value: i.e. External Account ID

    • min_pay_due_cents object
      • statement_min_pay_cents Required / integer

        Total amount due for the billing cycle, summing cycle principal, interest, deferred interest, and fees outstanding.

        Default value is 0.

      • min_pay_due_at string(date-time)

        The Date-Time the payment for this billing cycle is due.

    • additional_statement_min_pay_details object
      • statement_min_pay_charges_principal_cents Required / integer

        Total principal due for the billing cycle.

        Default value is 0.

      • statement_min_pay_interest_cents Required / integer

        Total interest due for the billing cycle.

        Default value is 0.

      • statement_min_pay_am_interest_cents Required / integer

        The current AM interest balance of the line item. Canopy tracks interest during an amortization period separately from deferred interest accrued during a revolving period.

        Default value is 0.

      • statement_min_pay_deferred_cents Required / integer

        Total deferred interest due for the billing cycle.

        Default value is 0.

      • statement_min_pay_am_deferred_interest_cents Required / integer

        The current AM deferred interest balance of the line item. Canopy tracks deferred interest during an amortization period separately from deferred interest accrued during a revolving period.

        Default value is 0.

      • statement_min_pay_fees_cents Required / integer

        Total fees due for the billing cycle.

        Default value is 0.

      • previous_statement_min_pay_cents Required / integer

        Previous amounts due, including fees. This is a subset of statement_min_pay_cents.

        Default value is 0.

    • payment_processor_config object
      • ach object

        ACH processing configuration.

        • payment_processor_name Required / string

          Indicates the active payment processor whose configuration will be used for ACH payments made from the account.

          Values are NONE and REPAY. Default value is NONE.

        • repay_config object
          • valid_config Required / boolean

            Indicates whether Canopy has a valid configuration stored for this ACH payment processor for this account. For example, if Canopy needs an ACH token on behalf of the account to call the processor, this field will indicate that Canopy has successfully stored the necessary token.

      • debit_card object

        Debit processing configuration.

        • payment_processor_name Required / string

          Indicates the active payment processor whose configuration will be used for Debit card payments made from the account.

          Values are NONE and REPAY. Default value is NONE.

        • repay_config object
          • valid_config Required / boolean

            Indicates whether Canopy has a valid configuration stored for this Debit card payment processor for this account. For example, if Canopy needs a Debit card token on behalf of the account to call the processor, this field will indicate that Canopy has successfully stored the necessary token.

      • autopay_enabled boolean

        Indicates whether autopay is enabled for this account. Currently, autopay is triggered 1 day prior to a payment due date. If default_payment_processor is set to NONE, autopay will not be triggered for account regardless of this field's value.

      • default_payment_processor_method string

        Configures the payment processor to be used for manual or autopay payments. This cannot be set to a value different from NONE if no valid ACH or Debit Card configs are provided.

        Values are ACH, DEBIT_CARD, and NONE. Default value is NONE.

    • issuer_processor_details object
      • lithic object
        • account_token string(uuid)

          The external unique identifier of the Lithic account against which charges are made.

    • cycle_type object
      • first_cycle_interval string

        Interval for a first cycle for this account.

    • discounts object
      • prepayment_discount_config object
        • loan_discount_cents integer

          Loan discount amount in cents.

        • loan_discount_at string(date-time)

          The Date-Time that this discount is valid.

    • summary object
      • total_balance_cents integer

        The total balance (in cents) associated with the account.

      • principal_cents integer

        The total balance (in cents) associated with the account.

      • interest_balance_cents integer

        The total interest balance (in cents) associated with the account.

      • am_interest_balance_cents integer

        The total AM interest balance (in cents) associated with the account.

        Default value is 0.

      • deferred_interest_balance_cents integer

        The total deferred interest balance (in cents) associated with the account.

        Default value is 0.

      • am_deferred_interest_balance_cents integer

        The total AM deferred interest balance (in cents) associated with the account.

        Default value is 0.

      • total_paid_to_date_cents integer

        The total sum of payments made to date (in cents) associated with the account.

      • total_interest_paid_to_date_cents integer

        The total sum of interest allocations for payments made to date (in cents) associated with the account.

      • credit_limit_cents Required / integer

        Total Amount (in cents) that this account can borrow.

      • max_approved_credit_limit_cents integer

        Total Amount (in cents) that this account can borrow.

        Default value is 0.

      • interest_rate_percent number

        The percentage interest applied to the account (i.e. 6.2 means 6.2%)

      • available_credit_cents integer

        The total available credit balance (in cents) for the account.

        Default value is 0.

      • open_to_buy_cents integer

        If applicable, the total amount of available funds for continued purchase following a purchase window pattern, where payments made do not replenish amount available for purchase.

        Default value is 0.

      • total_payoff_cents integer

        The total amount needed to pay off the loan at this exact moment.

        Default value is 0.

    • associated_entities object
      • merchant_name string

        A merchant name associated with the account

      • lender_name string

        A lender name associated with the account

    • customers array[object]

      An array of customers who have been assigned to the account

      • customer_id Required / string

        A Canopy-generated ID for the customer.

      • name_prefix string

        Prefix to the customer's name. Primary account holder or controlling officer name for Business customers.

      • name_first string

        Customer's first name. Primary account holder or controlling officer name for Business customers.

      • name_middle string

        Customer's middle name. Primary account holder or controlling officer name for Business customers.

      • name_last string

        Customer's last name. Primary account holder or controlling officer name for Business customers.

      • name_suffix string

        Suffix to the customer's name

      • phone_number string

        Customer's phone number in E.164 format

      • address_line_one string

        Address line one.

      • address_line_two string

        Address line two.

      • address_city string

        Address city.

      • address_state string

        Address state.

      • address_zip string

        Five digit zipcode or nine digit 'ZIP+4'

      • ssn string

        Social security number of the customer

      • email string(email)

        The email address of this Customer

      • date_of_birth string(date)

        Customer's date of birth in ISO 8601 format

      • business_details object
        • business_legal_name string

          The legal name of the Business

        • doing_business_as string

          The DBA name of the Business

        • business_ein string

          EIN of the business

      • card_details array[object]
        • spend_limit integer

          Spending limit of card (in cents). If not provided, spending is still subject to the spend limit set at the issuer processor account (if any).

          Minimum value is 1.

        • lithic object
          • type string

            The type of card being returned

            Values are UNLOCKED, MERCHANT_LOCKED, and SINGLE_USE.

          • state string

            The current state of the card

            Values are OPEN, PAUSED, and CLOSED.

          • token string(uuid)

            Unique external identifier for the card

          • last_four string

            Last four digits of the card

          • memo string

            Friendly name to identify the card

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Account not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM
Response example (200)
{ "account_id": "31mNprzLd2bKl6koVna68ARM", "created_at": "2017-06-20T09:12:14+00:00", "effective_at": "2018-03-20T09:12:28+00:00", "external_account_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "account_overview": { "account_status": "suspended", "account_status_subtype": "suspended-bankruptcy" }, "account_product": { "product_id": 4, "external_product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45", "product_overview": { "product_name": "Blue Cash Express", "product_color": "#0000FF", "product_short_description": "Consumer credit card", "product_long_description": "Student credit card.", "product_time_zone": "America/Chicago", "product_type": "REVOLVING" }, "product_lifecycle": { "late_fee_impl_cents": 2900, "payment_reversal_fee_impl_cents": 2900, "origination_fee_impl_cents": 2000, "annual_fee_impl_cents": 1000, "monthly_fee_impl_cents": 500, "loan_end_date": "2013-01-13T05:25:13.813+00:00" }, "promo_overview": { "promo_purchase_window_inclusive_start": "2013-01-13T05:25:13.813+00:00", "promo_purchase_window_exclusive_end": "2013-01-13T05:25:13.813+00:00", "promo_inclusive_start": "2013-01-13T05:25:13.813+00:00", "promo_exclusive_end": "2013-01-13T05:25:13.813+00:00", "promo_impl_interest_rate_percent": 6.2, "promo_len": 6 }, "post_promo_overview": { "post_promo_inclusive_start": "2013-01-13T05:25:13.813+00:00", "post_promo_exclusive_end": "2013-01-13T05:25:13.813+00:00", "post_promo_impl_interest_rate_percent": 6.2, "post_promo_len": 48 }, "product_duration_information": { "promo_len": 6, "promo_purchase_window_len": 5 } }, "external_fields": [ { "key": "Umbrella Corporation", "value": "22445702-a389-431f-927d-07b8d0750787" } ], "min_pay_due_cents": { "statement_min_pay_cents": 160000, "min_pay_due_at": "2019-10-18T23:04:48.321+00:00" }, "additional_statement_min_pay_details": { "statement_min_pay_charges_principal_cents": 100000, "statement_min_pay_interest_cents": 30000, "statement_min_pay_am_interest_cents": 200, "statement_min_pay_deferred_cents": 10000, "statement_min_pay_am_deferred_interest_cents": 200, "statement_min_pay_fees_cents": 20000, "previous_statement_min_pay_cents": 400000 }, "payment_processor_config": { "ach": { "payment_processor_name": "REPAY", "repay_config": { "valid_config": true } }, "debit_card": { "payment_processor_name": "REPAY", "repay_config": { "valid_config": true } }, "autopay_enabled": true, "default_payment_processor_method": "ACH" }, "issuer_processor_details": { "lithic": { "account_token": "349e2031-20de-40c6-87a3-214895077522" } }, "cycle_type": { "first_cycle_interval": "11 days" }, "discounts": { "prepayment_discount_config": { "loan_discount_cents": 800000, "loan_discount_at": "2018-03-20T09:12:28+00:00" } }, "summary": { "total_balance_cents": 300000, "principal_cents": 200000, "interest_balance_cents": 60000, "am_interest_balance_cents": 0, "deferred_interest_balance_cents": 40000, "am_deferred_interest_balance_cents": 0, "total_paid_to_date_cents": 40000, "total_interest_paid_to_date_cents": 10000, "credit_limit_cents": 400000, "max_approved_credit_limit_cents": 400000, "interest_rate_percent": 3, "available_credit_cents": 100000, "open_to_buy_cents": 5000, "total_payoff_cents": 900000 }, "associated_entities": { "merchant_name": "Acme Corporation", "lender_name": "Globex Lending Corp" }, "customers": [ { "customer_id": "31mNprzLd2bKl6koVna68ARM", "name_prefix": "Dr.", "name_first": "Miriam", "name_middle": "Louise", "name_last": "Trevino", "name_suffix": "Jr", "phone_number": "+14105556789", "address_line_one": "12 Strawberry Road", "address_line_two": "Suite 101", "address_city": "Atlanta", "address_state": "GA", "address_zip": "99999-1000", "ssn": "888-88-8888", "email": "marissa@protonmail.com", "date_of_birth": "1985-06-20", "business_details": { "business_legal_name": "Umbrella Corporation", "doing_business_as": "Umbrella", "business_ein": "888-88-8888" }, "card_details": [ { "spend_limit": 8000000, "lithic": { "type": "UNLOCKED", "state": "OPEN", "token": "adccd28d-532e-480b-a063-a46a77a15570", "last_four": "0690", "memo": "Conference Event Card" }, "": "string" } ] } ] }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Soft-delete a Specific Account

Path parameters
  • account_id Required / string

    Account ID

Responses
  • 200

    Account soft-deleted.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Account not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
DELETE https://sandbox-api.canopyservicing.com/accounts/{account_id}
cURL example
curl \ -X DELETE https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM
Response example (200)
No content
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Edit the payment processor config for an existing account

Toggle autopay or change the payment processor / bank information for a given account.

Body
  • ach object

    ACH processing configuration.

    • payment_processor_name Required / string

      Indicates the active payment processor whose configuration will be used for ACH payments made from the account.

      Values are NONE and REPAY. Default value is NONE.

    • repay_config object

      Sensitive bank information will be stored as a secured token for payments in place of the raw account details.

      • repay_check_type Required / string

        Type of checking account: Personal or Business.

        Values are PERSONAL and BUSINESS.

      • repay_account_type Required / string

        Type of account: Savings or Checking.

        Values are SAVINGS and CHECKING.

      • repay_transit_number Required / integer

        Transit number is a nine-digit code based on the U.S. Bank location where your account was opened.

      • repay_account_number Required / integer

        Account number is an eight to ten digit number that identifies a specific account.

      • repay_name_on_check Required / string

        Account holder's name as it appears on the account.

  • debit_card object

    Debit processing configuration.

    • payment_processor_name Required / string

      Indicates the active payment processor whose configuration will be used for payments made from the account. If NONE, Canopy will not trigger payments to an external payment processor when they occur.

      Values are NONE and REPAY. Default value is NONE.

    • repay_config object

      Sensitive debit card information will be stored as a secured token for payments in place of the raw account details.

      • repay_card_number Required / string

        16 digit debit card number.

      • repay_exp_date Required / string

        The card expiration date in the format MMYY.

      • repay_name_on_card Required / string

        The card holder's name as it appears on the card.

      • repay_street Required / string

        The card holder's billing street address.

      • repay_zip Required / string

        The card holder's billing zip code.

  • autopay_enabled boolean

    Indicates whether autopay is enabled for this account. Currently, autopay is triggered 1 day prior to a payment due date. If default_payment_processor is set to NONE, autopay will not be triggered for account regardless of this field's value.

  • default_payment_processor_method string

    Configures the payment processor to be used for manual or autopay payments. This cannot be set to a value different from NONE if no valid ACH or Debit Card configs are provided.

    Values are ACH, DEBIT_CARD, and NONE. Default value is NONE.

Responses
  • 200 object

    Payment Processor Configuration Updated

    • ach object

      ACH processing configuration.

      • payment_processor_name Required / string

        Indicates the active payment processor whose configuration will be used for ACH payments made from the account.

        Values are NONE and REPAY. Default value is NONE.

      • repay_config object
        • valid_config Required / boolean

          Indicates whether Canopy has a valid configuration stored for this ACH payment processor for this account. For example, if Canopy needs an ACH token on behalf of the account to call the processor, this field will indicate that Canopy has successfully stored the necessary token.

    • debit_card object

      Debit processing configuration.

      • payment_processor_name Required / string

        Indicates the active payment processor whose configuration will be used for Debit card payments made from the account.

        Values are NONE and REPAY. Default value is NONE.

      • repay_config object
        • valid_config Required / boolean

          Indicates whether Canopy has a valid configuration stored for this Debit card payment processor for this account. For example, if Canopy needs a Debit card token on behalf of the account to call the processor, this field will indicate that Canopy has successfully stored the necessary token.

    • autopay_enabled boolean

      Indicates whether autopay is enabled for this account. Currently, autopay is triggered 1 day prior to a payment due date. If default_payment_processor is set to NONE, autopay will not be triggered for account regardless of this field's value.

    • default_payment_processor_method string

      Configures the payment processor to be used for manual or autopay payments. This cannot be set to a value different from NONE if no valid ACH or Debit Card configs are provided.

      Values are ACH, DEBIT_CARD, and NONE. Default value is NONE.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/accounts/{account_id}/payment_processor_config
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/accounts/{account_id}/payment_processor_config \ -H "Content-Type: application/json" \ -d '{"ach":{"payment_processor_name":"REPAY","repay_config":{"repay_check_type":"PERSONAL","repay_account_type":"CHECKING","repay_transit_number":999999992,"repay_account_number":987654321,"repay_name_on_check":"Lucille Bluth"}},"debit_card":{"payment_processor_name":"REPAY","repay_config":{"repay_card_number":"4622941000000005","repay_exp_date":"0619","repay_name_on_card":"John Doe","repay_street":"1234 Main Street","repay_zip":"85281"}},"autopay_enabled":true,"default_payment_processor_method"...}'
Request payload example
{ "ach": { "payment_processor_name": "REPAY", "repay_config": { "repay_check_type": "PERSONAL", "repay_account_type": "CHECKING", "repay_transit_number": 999999992, "repay_account_number": 987654321, "repay_name_on_check": "Lucille Bluth" } }, "debit_card": { "payment_processor_name": "REPAY", "repay_config": { "repay_card_number": "4622941000000005", "repay_exp_date": "0619", "repay_name_on_card": "John Doe", "repay_street": "1234 Main Street", "repay_zip": "85281" } }, "autopay_enabled": true, "default_payment_processor_method": "ACH" }
Response example (200)
{ "ach": { "payment_processor_name": "REPAY", "repay_config": { "valid_config": true } }, "debit_card": { "payment_processor_name": "REPAY", "repay_config": { "valid_config": true } }, "autopay_enabled": true, "default_payment_processor_method": "ACH" }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Line items

Manage individual line items for your customers in Canopy.

Get line items for a specific account.

Line Items for an Account include charges to the account and payments by the account holder. Results are paginated and sorted by line item effective date.

Path parameters
  • account_id Required / string

    Account ID

Query parameters
  • limit integer

    The maximum number of line items to be returned. Defaults to 100.

  • starting_after string

    Pass the value from the paging response body in your previous request. If not provided, the zero-indexed starting point will be used. Either starting_after or ending_before may be provided, but not both.

  • ending_before string

    Pass the value from the paging response body in your previous request. If not provided, the zero-indexed starting point will be used. Either starting_after or ending_before may be provided, but not both.

Responses
  • 200 object

    Array of Line Items and their corresponding balances at their effective dates and times.

    • results array[object]

      An array of information for all line items within the requested range.

      • account_id Required / string

        The account associated with the line item

      • line_item_id Required / string

        The ID associated with the line item

      • effective_at string(date-time)

        The Date-Time that this line item became/becomes active

      • created_at string(date-time)

        The Date-Time which the line item was created.

      • product_id Required / integer

        the Product ID of the account

      • line_item_overview object
        • line_item_status string

          the corresponding Status for a line item

          Default value is VALID.

        • line_item_type Required / string

          The Line Item Type. i.e. CHARGE, PAYMENT.

        • description string

          A description of this particular line item if any. More common for adjustments.

      • line_item_summary object
        • original_amount_cents integer

          The originating amount of money (in cents) relating to this line item.

        • balance_cents integer

          The current balance of the line item, which accounts for interest accrued per the product's interest policy and the account's interest rate attribute.

        • principal_cents integer

          The principal balance of the line item.

        • interest_balance_cents integer

          The current interest balance of the line item.

        • am_interest_balance_cents integer

          The current AM interest balance of the line item. Canopy tracks interest during an amortization period separately from deferred interest accrued during a revolving period.

        • deferred_interest_balance_cents integer

          The current deferred interest balance of the line item.

        • am_deferred_interest_balance_cents integer

          The current AM deferred interest balance of the line item. Canopy tracks deferred interest during an amortization period separately from deferred interest accrued during a revolving period.

        • total_interest_paid_to_date_cents integer

          The sum (in cents) of all payments towards interest charges, if any, applied to this line item to date

      • merchant_data object

        Merchant information if applicable.

        • name string
        • id string
        • mcc_code number
        • phone_number string
      • issuer_processor_details object
        • lithic object
          • last_four string

            Last four digits of the card against which the spend was made.

          • transaction_token string(uuid)

            The external unique identifier of the transaction.

          • card_token string(uuid)

            The external unique identifier of the card related to this line item.

      • external_fields array[object]

        An array of static references to fields in a third party system.

        • key string

          Key - i.e. Name of the External Party

        • value string

          Value - i.e. External Account ID

    • paging object

      Pagination Information.

      • starting_after string

        Use this to drive your next request if you want the next page of results

      • ending_before string

        Use this to drive your next request if you want the previous page of results

      • has_more boolean

        Indicates whether there are additional values beyond the ending index of the paginated results.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Line Items not found.

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}/line_items
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/line_items
Response example (200)
{ "results": [ { "account_id": 4, "line_item_id": 2, "effective_at": "2018-07-20T09:12:30+00:00", "created_at": "2018-06-20T09:12:30+00:00", "product_id": 1, "line_item_overview": { "line_item_status": "VALID", "line_item_type": "CHARGE", "description": "Refund for invalid purchase" }, "line_item_summary": { "original_amount_cents": 2484, "balance_cents": 3600, "principal_cents": 2400, "interest_balance_cents": 1100, "am_interest_balance_cents": 0, "deferred_interest_balance_cents": 200, "am_deferred_interest_balance_cents": 0, "total_interest_paid_to_date_cents": -16 }, "merchant_data": { "name": "string", "id": "string", "mcc_code": 42.0, "phone_number": "string" }, "issuer_processor_details": { "lithic": { "last_four": 3324, "transaction_token": "33xd08bc-d100-488y-bb93-f8a1f081ff0e", "card_token": "c6cd08bc-c524-48f5-b64d-f79ec0810df4" } }, "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] } ], "paging": { "starting_after": "31mNprzLd2bKl6koVna68ARM", "ending_before": "31mNprzLd2bKl6koVna68ARM", "has_more": true }, "": "string" }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Get information on a specific line item for a specific account

Path parameters
  • account_id Required / string

    Account ID

  • line_item_id Required / string

    Line Item ID

Query parameters
  • limit integer

    The maximum number of line items to be returned. Defaults to 100.

  • starting_after string

    Pass the value from the paging response body in your previous request. If not provided, the zero-indexed starting point will be used. Either starting_after or ending_before may be provided, but not both.

  • ending_before string

    Pass the value from the paging response body in your previous request. If not provided, the zero-indexed starting point will be used. Either starting_after or ending_before may be provided, but not both.

Responses
  • 200 object

    Array of Line Items where the last element is the root line item whose details were requested.

    • results array[object]

      An array of information for all line items within the requested range.

      • account_id Required / string

        The account associated with the line item

      • line_item_id Required / string

        The ID associated with the line item

      • effective_at string(date-time)

        The Date-Time that this line item became/becomes active

      • created_at string(date-time)

        The Date-Time which the line item was created.

      • product_id Required / integer

        the Product ID of the account

      • line_item_overview object
        • line_item_status string

          the corresponding Status for a line item

          Default value is VALID.

        • line_item_type Required / string

          The Line Item Type. i.e. CHARGE, PAYMENT.

        • description string

          A description of this particular line item if any. More common for adjustments.

      • line_item_summary object
        • original_amount_cents integer

          The originating amount of money (in cents) relating to this line item.

        • balance_cents integer

          The current balance of the line item, which accounts for interest accrued per the product's interest policy and the account's interest rate attribute.

        • principal_cents integer

          The principal balance of the line item.

        • interest_balance_cents integer

          The current interest balance of the line item.

        • am_interest_balance_cents integer

          The current AM interest balance of the line item. Canopy tracks interest during an amortization period separately from deferred interest accrued during a revolving period.

        • deferred_interest_balance_cents integer

          The current deferred interest balance of the line item.

        • am_deferred_interest_balance_cents integer

          The current AM deferred interest balance of the line item. Canopy tracks deferred interest during an amortization period separately from deferred interest accrued during a revolving period.

        • total_interest_paid_to_date_cents integer

          The sum (in cents) of all payments towards interest charges, if any, applied to this line item to date

      • merchant_data object

        Merchant information if applicable.

        • name string
        • id string
        • mcc_code number
        • phone_number string
      • issuer_processor_details object
        • lithic object
          • last_four string

            Last four digits of the card against which the spend was made.

          • transaction_token string(uuid)

            The external unique identifier of the transaction.

          • card_token string(uuid)

            The external unique identifier of the card related to this line item.

      • external_fields array[object]

        An array of static references to fields in a third party system.

        • key string

          Key - i.e. Name of the External Party

        • value string

          Value - i.e. External Account ID

    • paging object

      Pagination Information.

      • starting_after string

        Use this to drive your next request if you want the next page of results

      • ending_before string

        Use this to drive your next request if you want the previous page of results

      • has_more boolean

        Indicates whether there are additional values beyond the ending index of the paginated results.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Line Items not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}/line_items/{line_item_id}
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/line_items/31mNprzLd2bKl6koVna68ARM
Response example (200)
{ "results": [ { "account_id": 4, "line_item_id": 2, "effective_at": "2018-07-20T09:12:30+00:00", "created_at": "2018-06-20T09:12:30+00:00", "product_id": 1, "line_item_overview": { "line_item_status": "VALID", "line_item_type": "CHARGE", "description": "Refund for invalid purchase" }, "line_item_summary": { "original_amount_cents": 2484, "balance_cents": 3600, "principal_cents": 2400, "interest_balance_cents": 1100, "am_interest_balance_cents": 0, "deferred_interest_balance_cents": 200, "am_deferred_interest_balance_cents": 0, "total_interest_paid_to_date_cents": -16 }, "merchant_data": { "name": "string", "id": "string", "mcc_code": 42.0, "phone_number": "string" }, "issuer_processor_details": { "lithic": { "last_four": 3324, "transaction_token": "33xd08bc-d100-488y-bb93-f8a1f081ff0e", "card_token": "c6cd08bc-c524-48f5-b64d-f79ec0810df4" } }, "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] } ], "paging": { "starting_after": "31mNprzLd2bKl6koVna68ARM", "ending_before": "31mNprzLd2bKl6koVna68ARM", "has_more": true }, "": "string" }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Change the status of an existing line item

Body
  • line_item_status string

    The new status which you would like to set for the line item

    Values are VALID, INVALID, OFFSET, PENDING, AUTHORIZED, DECLINED, VOID, and POSTED. Default value is VALID.

Responses
  • 200 object

    Line Item Edited

    • account_id Required / string

      A Canopy-generated ID for the account.

    • line_item_id Required / string

      A Canopy-generated ID for the line item.

    • effective_at Required / string(date-time)

      The Date-Time that this line item became/becomes active

    • created_at Required / string(date-time)

      The Date-Time which the line item was created.

    • product_id Required / string

      A Canopy-generated ID for the product.

    • line_item_overview object
      • line_item_status Required / string

        the corresponding Status for a line item

        Values are ROLLED, VALID, INVALID, OFFSET, SPLIT_VALID, SPLIT_INVALID, PENDING, REVERSED, AUTHORIZED, DECLINED, VOID, and POSTED.

      • line_item_type Required / string

        The Line Item Type. i.e. CHARGE, PAYMENT.

        Values are LOAN, CHARGE, DEBIT_OFFSET, INTEREST, DEFERRED_INTEREST, PAYMENT, CREDIT_OFFSET, STATEMENT, MIN_DUE, FEE, PRODUCT_INTEREST, PAYMENT_SPLIT, LATE_FEE, RETURN_CHECK_FEE, PROMO_END, PURCHASE_WINDOW_END, MONTH_FEE, YEAR_FEE, ORIG_FEE, FEE_SURCHARGE, and PAYMENT_REVERSAL.

      • description string

        A description of this particular line item if any. More common for adjustments.

    • line_item_summary object
      • original_amount_cents Required / integer

        The originating amount of money (in cents) relating to this line item.

    • merchant_data object

      Merchant information if applicable.

      • name string
      • id string
      • mcc_code number
      • phone_number string
    • issuer_processor_metadata object
      • lithic object
        • last_four string

          Last four digits of the card against which the spend was made.

    • external_fields array[object]

      An array of static references to fields in a third party system.

      • key string

        Key - i.e. Name of the External Party

      • value string

        Value - i.e. External Account ID

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/accounts/{account_id}/line_items/{line_item_id}
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/accounts/{account_id}/line_items/{line_item_id} \ -H "Content-Type: application/json" \ -d '{"line_item_status":"VALID"}'
Request payload example
{ "line_item_status": "VALID" }
Response example (200)
{ "account_id": "11bNprzLd2bKl6koVna68ARM", "line_item_id": "31mNprzLd2bKl6koVna68ARM", "effective_at": "2018-07-20T09:12:30+00:00", "created_at": "2018-06-20T09:12:30+00:00", "product_id": "31mNprzLd2bKl6koVna68ARM", "line_item_overview": { "line_item_status": "VALID", "line_item_type": "CHARGE", "description": "Refund for invalid purchase" }, "line_item_summary": { "original_amount_cents": 2484 }, "merchant_data": { "name": "string", "id": "string", "mcc_code": 42.0, "phone_number": "string" }, "issuer_processor_metadata": { "lithic": { "last_four": "string" } }, "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Create a charge for a specific account

Path parameters
  • account_id Required / string

    Account ID

Body
  • line_item_status string

    The status of a line item.

    Values are VALID, INVALID, OFFSET, PENDING, AUTHORIZED, DECLINED, VOID, and POSTED. Default value is VALID.

  • original_amount_cents Required / integer

    The amount charged (in cents).

    Default value is 0.

  • effective_at string(date-time)

    The Date-Time that the charge is made applicable to the account. Although a charge may be made today, it can be set effective 10 days prior.

  • merchant_data Required / object
    • name string
    • id string
    • mcc_code number
    • phone_number string
  • issuer_processor_metadata object
    • lithic object
      • last_four string

        Last four digits of the card against which the spend was made.

  • external_fields array[object]

    External fields can be used to associate this record to entities in external systems.

    • key string

      Key - i.e. Name of the External Party

    • value string

      Value - i.e. External Account ID

Responses
  • 200 object

    Charge Created

    • account_id Required / string

      A Canopy-generated ID for the account.

    • line_item_id Required / string

      A Canopy-generated ID for the line item.

    • effective_at Required / string(date-time)

      The Date-Time that this line item became/becomes active

    • created_at Required / string(date-time)

      The Date-Time which the line item was created.

    • product_id Required / string

      A Canopy-generated ID for the product.

    • line_item_overview object
      • line_item_status Required / string

        the corresponding Status for a line item

        Values are ROLLED, VALID, INVALID, OFFSET, SPLIT_VALID, SPLIT_INVALID, PENDING, REVERSED, AUTHORIZED, DECLINED, VOID, and POSTED.

      • line_item_type Required / string

        The Line Item Type. i.e. CHARGE, PAYMENT.

        Values are LOAN, CHARGE, DEBIT_OFFSET, INTEREST, DEFERRED_INTEREST, PAYMENT, CREDIT_OFFSET, STATEMENT, MIN_DUE, FEE, PRODUCT_INTEREST, PAYMENT_SPLIT, LATE_FEE, RETURN_CHECK_FEE, PROMO_END, PURCHASE_WINDOW_END, MONTH_FEE, YEAR_FEE, ORIG_FEE, FEE_SURCHARGE, and PAYMENT_REVERSAL.

      • description string

        A description of this particular line item if any. More common for adjustments.

    • line_item_summary object
      • original_amount_cents Required / integer

        The originating amount of money (in cents) relating to this line item.

    • merchant_data object

      Merchant information if applicable.

      • name string
      • id string
      • mcc_code number
      • phone_number string
    • issuer_processor_metadata object
      • lithic object
        • last_four string

          Last four digits of the card against which the spend was made.

    • external_fields array[object]

      An array of static references to fields in a third party system.

      • key string

        Key - i.e. Name of the External Party

      • value string

        Value - i.e. External Account ID

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/accounts/{account_id}/line_items/charges
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/line_items/charges \ -H "Content-Type: application/json" \ -d '{"line_item_status":"VALID","original_amount_cents":200,"effective_at":"2020-07-20T09:11:28+00:00","merchant_data":{"name":"string","id":"string","mcc_code":42.0,"phone_number":"string"},"issuer_processor_metadata":{"lithic":{"last_four":"string"}},"external_fields":[{"key":"Globex Card Processing Account ID","value":"22445702-a389-431f-927d-07b8d0750787"}]}'
Request payload example
{ "line_item_status": "VALID", "original_amount_cents": 200, "effective_at": "2020-07-20T09:11:28+00:00", "merchant_data": { "name": "string", "id": "string", "mcc_code": 42.0, "phone_number": "string" }, "issuer_processor_metadata": { "lithic": { "last_four": "string" } }, "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] }
Response example (200)
{ "account_id": "11bNprzLd2bKl6koVna68ARM", "line_item_id": "31mNprzLd2bKl6koVna68ARM", "effective_at": "2018-07-20T09:12:30+00:00", "created_at": "2018-06-20T09:12:30+00:00", "product_id": "31mNprzLd2bKl6koVna68ARM", "line_item_overview": { "line_item_status": "VALID", "line_item_type": "CHARGE", "description": "Refund for invalid purchase" }, "line_item_summary": { "original_amount_cents": 2484 }, "merchant_data": { "name": "string", "id": "string", "mcc_code": 42.0, "phone_number": "string" }, "issuer_processor_metadata": { "lithic": { "last_four": "string" } }, "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Create a payment for a specific account

Path parameters
  • account_id Required / string

    Account ID

Body
  • original_amount_cents Required / integer

    The payment amount in cents.

    Default value is 0.

  • effective_at string(date-time)

    The Date-Time that the payment is applicable to the account. Although the payment is created in Canopy today, it can actually be effective 10 days prior.

  • external_fields array[object]

    External fields can be used to relate payments created in Canopy to entities in your or any external system.

    • key string

      Key - i.e. Name of the External Party

    • value string

      Value - i.e. External Account ID

Responses
  • 200 object

    Payment Created

    • account_id Required / string

      A Canopy-generated ID for the account.

    • line_item_id Required / string

      A Canopy-generated ID for the line item.

    • effective_at Required / string(date-time)

      The Date-Time that this line item became/becomes active

    • created_at Required / string(date-time)

      The Date-Time which the line item was created.

    • product_id Required / string

      A Canopy-generated ID for the product.

    • line_item_overview object
      • line_item_status Required / string

        the corresponding Status for a line item

        Values are ROLLED, VALID, INVALID, OFFSET, SPLIT_VALID, SPLIT_INVALID, PENDING, REVERSED, AUTHORIZED, DECLINED, VOID, and POSTED.

      • line_item_type Required / string

        The Line Item Type. i.e. CHARGE, PAYMENT.

        Values are LOAN, CHARGE, DEBIT_OFFSET, INTEREST, DEFERRED_INTEREST, PAYMENT, CREDIT_OFFSET, STATEMENT, MIN_DUE, FEE, PRODUCT_INTEREST, PAYMENT_SPLIT, LATE_FEE, RETURN_CHECK_FEE, PROMO_END, PURCHASE_WINDOW_END, MONTH_FEE, YEAR_FEE, ORIG_FEE, FEE_SURCHARGE, and PAYMENT_REVERSAL.

      • description string

        A description of this particular line item if any. More common for adjustments.

    • line_item_summary object
      • original_amount_cents Required / integer

        The originating amount of money (in cents) relating to this line item.

    • merchant_data object

      Merchant information if applicable.

      • name string
      • id string
      • mcc_code number
      • phone_number string
    • issuer_processor_metadata object
      • lithic object
        • last_four string

          Last four digits of the card against which the spend was made.

    • external_fields array[object]

      An array of static references to fields in a third party system.

      • key string

        Key - i.e. Name of the External Party

      • value string

        Value - i.e. External Account ID

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/accounts/{account_id}/line_items/payments
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/line_items/payments \ -H "Content-Type: application/json" \ -d '{"original_amount_cents":200,"effective_at":"2020-07-20T09:11:28+00:00","external_fields":[{"key":"Globex Card Processing Account ID","value":"22445702-a389-431f-927d-07b8d0750787"}]}'
Request payload example
{ "original_amount_cents": 200, "effective_at": "2020-07-20T09:11:28+00:00", "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] }
Response example (200)
{ "account_id": "11bNprzLd2bKl6koVna68ARM", "line_item_id": "31mNprzLd2bKl6koVna68ARM", "effective_at": "2018-07-20T09:12:30+00:00", "created_at": "2018-06-20T09:12:30+00:00", "product_id": "31mNprzLd2bKl6koVna68ARM", "line_item_overview": { "line_item_status": "VALID", "line_item_type": "CHARGE", "description": "Refund for invalid purchase" }, "line_item_summary": { "original_amount_cents": 2484 }, "merchant_data": { "name": "string", "id": "string", "mcc_code": 42.0, "phone_number": "string" }, "issuer_processor_metadata": { "lithic": { "last_four": "string" } }, "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Reverses a payment for an account

Path parameters
  • account_id Required / string

    Account ID

  • line_item_id Required / string

    Line Item ID of the original payment to be reversed

Body
  • external_fields array[object]

    An array of static references to fields in a third party system.

    • key string

      Key - i.e. Name of the External Party

    • value string

      Value - i.e. External Account ID

Responses
  • 200

    Payment reversal successfully applied.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/accounts/{account_id}/line_items/payment_reversals/{line_item_id}
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/line_items/payment_reversals/31mNprzLd2bKl6koVna68ARM \ -H "Content-Type: application/json" \ -d '{"external_fields":[{"key":"Globex Card Processing Account ID","value":"22445702-a389-431f-927d-07b8d0750787"}]}'
Request payload example
{ "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] }
Response example (200)
No content
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Waives a fee for an account

Path parameters
  • account_id Required / string

    Account ID

  • line_item_id Required / string

    Line Item ID of the original fee to be waived

Body
  • external_fields array[object]

    An array of static references to fields in a third party system.

    • key string

      Key - i.e. Name of the External Party

    • value string

      Value - i.e. External Account ID

Responses
  • 200

    Fee waiver successfully applied.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/accounts/{account_id}/line_items/fee_waiver/{line_item_id}
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/line_items/fee_waiver/31mNprzLd2bKl6koVna68ARM \ -H "Content-Type: application/json" \ -d '{"external_fields":[{"key":"Globex Card Processing Account ID","value":"22445702-a389-431f-927d-07b8d0750787"}]}'
Request payload example
{ "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] }
Response example (200)
No content
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Notes

Help your customer service team track its activity across accounts.

Get All Notes for a specific Account

Path parameters
  • account_id Required / string

    Account ID

Responses
  • 200 array[object]

    Successful query of history of notes for a specific account

    • note_id Required / string

      A Canopy-generated ID for the note.

    • account_id Required / string

      A Canopy-generated ID for the account.

    • author object

      The API User who authored the note

      • api_user_id Required / string

        The unique ID in Canopy for this API user

      • organization_name Required / string

        The organization to which the API user belongs.

      • name_first string

        The first name of the API user.

      • name_last string

        The last name of the API user.

      • email Required / string(email)

        The email address of this API User

      • phone string

        Phone number of the API user

      • role Required / integer

        The role of this user in the API

    • message string

      The contents of the note.

    • created_date Required / string(date-time)

      The date and time the note was created.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Note not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}/notes
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/notes
Response example (200)
[ { "note_id": "31mNprzLd2bKl6koVna68ARM", "account_id": "31mNprzLd2bKl6koVna68ARM", "author": { "api_user_id": "dc3d83c5-b31e-48eb-80e7-38f12ac1a6e5", "organization_name": "Lever Card 3000", "name_first": "Analise", "name_last": "Goldberg", "email": "marissa@globex.com", "phone": "1-123-456-7890", "role": 1 }, "message": "Attempted to call back customer, but no response.", "created_date": "2021-05-04T09:42:00+00:00" } ]
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Create a note for a specific account.

A note to be added to the account.

Path parameters
  • account_id Required / string

    Account ID

Body
  • message Required / string

    The contents of the note.

Responses
  • 200 object

    New Note Created

    • note_id Required / string

      A Canopy-generated ID for the note.

    • account_id Required / string

      A Canopy-generated ID for the account.

    • author object

      The API User who authored the note

      • api_user_id Required / string

        The unique ID in Canopy for this API user

      • organization_name Required / string

        The organization to which the API user belongs.

      • name_first string

        The first name of the API user.

      • name_last string

        The last name of the API user.

      • email Required / string(email)

        The email address of this API User

      • phone string

        Phone number of the API user

      • role Required / integer

        The role of this user in the API

    • message string

      The contents of the note.

    • created_date Required / string(date-time)

      The date and time the note was created.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
POST https://sandbox-api.canopyservicing.com/accounts/{account_id}/notes
cURL example
curl \ -X POST https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/notes \ -H "Content-Type: application/json" \ -d '{"message":"Attempted to call back customer, but no response."}'
Request payload example
{ "message": "Attempted to call back customer, but no response." }
Response example (200)
{ "note_id": "31mNprzLd2bKl6koVna68ARM", "account_id": "31mNprzLd2bKl6koVna68ARM", "author": { "api_user_id": "dc3d83c5-b31e-48eb-80e7-38f12ac1a6e5", "organization_name": "Lever Card 3000", "name_first": "Analise", "name_last": "Goldberg", "email": "marissa@globex.com", "phone": "1-123-456-7890", "role": 1 }, "message": "Attempted to call back customer, but no response.", "created_date": "2021-05-04T09:42:00+00:00" }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Statements

Generate per billing cycle statements for your accounts in Canopy.

Get a list of all current and prior statements for a specific account

List of statements for the account. To view line items for a specific statement, use the /accounts/{account_id}/statements route

Path parameters
  • account_id Required / string

    Account ID

Query parameters
  • offset integer

    The zero-indexed starting point for paginated statements list requests sorted by reverse statement date.

  • limit integer

    The maximum number of accounts to be returned. Defaults to 100.

Responses
  • 200 array[object]
    • account_id Required / string

      The Canopy-generated ID for the account

    • statement_id Required / string

      The Canopy-generated ID for the statement

    • cycle_summary object
      • cycle_inclusive_start Required / string(date-time)

        The inclusive starting Date-Time that defines which transactions are part of this statement.

      • cycle_exclusive_end Required / string(date-time)

        The inclusive ending Date-Time that defines which transactions are part of this statement.

    • min_pay_due_cents object
      • min_pay_cents Required / integer

        Total amount due for the billing cycle, summing cycle principal, interest, deferred interest, and fees outstanding.

      • min_pay_due_at Required / string(date-time)

        The Date-Time the payment for this billing cycle is due.

    • balance_summary object
      • total_balance_cents Required / integer

        The total balance (in cents) associated with the account.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Statements not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}/statements/list
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/statements/list
Response example (200)
[ { "account_id": "31mNprzLd2bKl6koVna68ARM", "statement_id": "31mNprzLd2bKl6koVna68ARM", "cycle_summary": { "cycle_inclusive_start": "2021-05-04T09:42:00+00:00", "cycle_exclusive_end": "2021-05-04T09:42:00+00:00" }, "min_pay_due_cents": { "min_pay_cents": 160000, "min_pay_due_at": "2019-10-18T23:04:48.321+00:00" }, "balance_summary": { "total_balance_cents": 400000 } } ]
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Get a specific statement for a specific account.

This will return a statement that corresponds with the passed Statement ID. Relevant IDs for an account's historical statements can be obtained from the accounts/{account_id}/statements/list route.

Path parameters
  • account_id Required / string

    Account ID

  • statement_id Required / string

    The ID of a specific statement you would like returned.

Responses
  • 200 object
    • account_id Required / string

      The Canopy-generated ID for the account

    • statement_id Required / string

      The Canopy-generated ID for the statement

    • account_overview object
      • promo_purchase_window_inclusive_start string(date-time)

        If applicable, the Date-Time the purchase window for the account ends.

      • promo_purchase_window_exclusive_end string(date-time)

        If applicable, the Date-Time the purchase window for the account ends.

      • promo_inclusive_start string(date-time)

        If applicable, the Date-Time the promo period for the account starts.

      • promo_exclusive_end string(date-time)

        If applicable, the Date-Time the promo period for the account ends.

      • account_status string

        The Status of the Account. Active upon account creation.

        Default value is active.

      • account_status_subtype string

        The subtype of the Status of the Account. Null upon account creation.

    • open_to_buy object
      • credit_limit_cents integer

        Total Amount (in cents) that this account can borrow.

        Default value is 0.

      • total_charges_cents integer

        Sum of all charges that occurred on the account since account origination.

        Default value is 0.

      • available_credit_cents integer

        The total available credit balance (in cents) for the account.

        Default value is 0.

      • open_to_buy_cents integer

        If applicable, the total amount of available funds for continued purchase following a purchase window pattern, where payments made do not replenish amount available for purchase.

        Default value is 0.

    • cycle_summary object
      • cycle_inclusive_start string(date-time)

        The inclusive starting Date-Time that defines which transactions are part of this statement.

      • cycle_exclusive_end string(date-time)

        The inclusive ending Date-Time that defines which transactions are part of this statement.

      • cycle_charges_cents integer

        Sum of all charges that occurred on the account during the billing cycle.

        Default value is 0.

      • cycle_loans_cents integer

        Sum of all loans amounts that were initiated on the account during the billing cycle.

        Default value is 0.

      • cycle_charge_returns_cents integer

        Sum of all returns that occurred on the account during the billing cycle.

        Default value is 0.

      • cycle_payments_cents integer

        Sum of all payments that occurred on the account during the billing cycle.

        Default value is 0.

      • cycle_payment_reversals_cents integer

        Sum of all payment reversal amounts that occurred on the account during the billing cycle.

        Default value is 0.

      • cycle_debit_adjustments_cents integer

        Sum of all debit adjustment amounts that occurred on the account during the billing cycle.

        Default value is 0.

      • cycle_credit_adjustments_cents integer

        Sum of all credit adjustment amounts that occurred on the account during the billing cycle.

        Default value is 0.

      • cycle_interest_cents integer

        Total interest accrued during the billing cycle.

        Default value is 0.

      • cycle_am_interest_cents integer

        The current AM interest balance of the line item. Canopy tracks interest during an amortization period separately from deferred interest accrued during a revolving period.

        Default value is 0.

      • cycle_deferred_interest_cents integer

        Total interest accrued during the billing cycle.

        Default value is 0.

      • cycle_am_deferred_interest_cents integer

        Total interest accrued during the billing cycle. Canopy tracks deferred interest during an amortization period separately from deferred interest accrued during a revolving period.

        Default value is 0.

      • cycle_late_fees_cents integer

        Total late fees incurred during the billing cycle.

        Default value is 0.

      • cycle_payment_reversals_fees_cents integer

        Total payment reversal fees incurred during the billing cycle.

        Default value is 0.

      • cycle_waived_deferred_interest_cents integer

        Total deferred interest that was forgiven on the account during the billing cycle.

        Default value is 0.

    • min_pay_due object
      • min_pay_cents Required / integer

        Total amount due for the billing cycle, summing cycle principal, interest, deferred interest, and fees outstanding.

      • min_pay_due_at Required / string(date-time)

        The Date-Time the payment for this billing cycle is due.

    • additional_min_pay_details object
      • min_pay_charges_principal_cents Required / integer

        Total principal due for the billing cycle.

      • min_pay_interest_cents Required / integer

        Total interest due for the billing cycle.

      • min_pay_am_interest_cents integer

        Total am interest due for the billing cycle.

      • min_pay_deferred_cents Required / integer

        Total deferred interest due for the billing cycle.

      • min_pay_am_deferred_interest_cents integer

        The current AM deferred interest balance of the line item. Canopy tracks deferred interest during an amortization period separately from deferred interest accrued during a revolving period.

        Default value is 0.

      • min_pay_fees_cents Required / integer

        Total fees due for the billing cycle.

      • previous_min_pay_cents Required / integer

        Previous amounts due, including fees. This is a subset of min_pay_cents.

    • balance_summary object
      • charges_principal_cents integer

        Total principal balance for the account.

        Default value is 0.

      • loans_principal_cents integer

        Total principal balance for loans for the account.

        Default value is 0.

      • interest_balance_cents integer

        Total interest balance for the account.

        Default value is 0.

      • am_interest_balance_cents integer

        Total AM interest balance for the account.

        Default value is 0.

      • deferred_interest_balance_cents integer

        Total deferred interest balance for the account.

        Default value is 0.

      • am_deferred_interest_balance_cents integer

        The total deferred interest balance (in cents) associated with the account.

        Default value is 0.

      • fees_balance_cents integer

        Total fee balance for the account.

        Default value is 0.

      • total_balance_cents integer

        The total balance (in cents) associated with the account.

        Default value is 0.

    • payoff object
      • total_payoff_cents integer

        The total amount needed to pay off the loan at this exact moment.

        Default value is 0.

      • expected_remaining_payment_amount_cents integer

        The total amount slated to pay off the account over the lifecycle of the loan.

        Default value is 0.

    • line_items array[object]

      A snapshot of all line items that occurred during the cycle and were VALID at the time of Statement cut.

      • account_id Required / string

        The account associated with the line item

      • line_item_id Required / string

        The ID associated with the line item

      • effective_at string(date-time)

        The Date-Time that this line item became/becomes active

      • created_at string(date-time)

        The Date-Time which the line item was created.

      • product_id Required / integer

        the Product ID of the account

      • line_item_overview object
        • line_item_status string

          the corresponding Status for a line item

          Default value is VALID.

        • line_item_type Required / string

          The Line Item Type. i.e. CHARGE, PAYMENT.

        • description string

          A description of this particular line item if any. More common for adjustments.

      • line_item_summary object
        • original_amount_cents integer

          The originating amount of money (in cents) relating to this line item.

        • balance_cents integer

          The current balance of the line item, which accounts for interest accrued per the product's interest policy and the account's interest rate attribute.

        • principal_cents integer

          The principal balance of the line item.

        • interest_balance_cents integer

          The current interest balance of the line item.

        • am_interest_balance_cents integer

          The current AM interest balance of the line item. Canopy tracks interest during an amortization period separately from deferred interest accrued during a revolving period.

        • deferred_interest_balance_cents integer

          The current deferred interest balance of the line item.

        • am_deferred_interest_balance_cents integer

          The current AM deferred interest balance of the line item. Canopy tracks deferred interest during an amortization period separately from deferred interest accrued during a revolving period.

        • total_interest_paid_to_date_cents integer

          The sum (in cents) of all payments towards interest charges, if any, applied to this line item to date

      • merchant_data object

        Merchant information if applicable.

        • name string
        • id string
        • mcc_code number
        • phone_number string
      • issuer_processor_details object
        • lithic object
          • last_four string

            Last four digits of the card against which the spend was made.

          • transaction_token string(uuid)

            The external unique identifier of the transaction.

          • card_token string(uuid)

            The external unique identifier of the card related to this line item.

      • external_fields array[object]

        An array of static references to fields in a third party system.

        • key string

          Key - i.e. Name of the External Party

        • value string

          Value - i.e. External Account ID

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Statement not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}/statements/{statement_id}
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/statements/31mNprzLd2bKl6koVna68ARM
Response example (200)
{ "account_id": "31mNprzLd2bKl6koVna68ARM", "statement_id": "31mNprzLd2bKl6koVna68ARM", "account_overview": { "promo_purchase_window_inclusive_start": "2015-08-31T10:49:44.461+00:00", "promo_purchase_window_exclusive_end": "2015-08-31T10:49:44.461+00:00", "promo_inclusive_start": "2015-08-31T10:49:44.461+00:00", "promo_exclusive_end": "2015-08-31T10:49:44.461+00:00", "account_status": "suspended", "account_status_subtype": "suspended-bankruptcy" }, "open_to_buy": { "credit_limit_cents": 400000, "total_charges_cents": 800000, "available_credit_cents": 600000, "open_to_buy_cents": 600000 }, "cycle_summary": { "cycle_inclusive_start": "2021-05-04T09:42:00+00:00", "cycle_exclusive_end": "2021-05-04T09:42:00+00:00", "cycle_charges_cents": 700000, "cycle_loans_cents": 700000, "cycle_charge_returns_cents": 100000, "cycle_payments_cents": 200000, "cycle_payment_reversals_cents": 200000, "cycle_debit_adjustments_cents": 40000, "cycle_credit_adjustments_cents": 53000, "cycle_interest_cents": 110000, "cycle_am_interest_cents": 0, "cycle_deferred_interest_cents": 300000, "cycle_am_deferred_interest_cents": 300000, "cycle_late_fees_cents": 300000, "cycle_payment_reversals_fees_cents": 300000, "cycle_waived_deferred_interest_cents": 40000 }, "min_pay_due": { "min_pay_cents": 160000, "min_pay_due_at": "2019-10-18T23:04:48.321+00:00" }, "additional_min_pay_details": { "min_pay_charges_principal_cents": 100000, "min_pay_interest_cents": 30000, "min_pay_am_interest_cents": 0, "min_pay_deferred_cents": 10000, "min_pay_am_deferred_interest_cents": 200, "min_pay_fees_cents": 20000, "previous_min_pay_cents": 400000 }, "balance_summary": { "charges_principal_cents": 900000, "loans_principal_cents": 900000, "interest_balance_cents": 100000, "am_interest_balance_cents": 100000, "deferred_interest_balance_cents": 700000, "am_deferred_interest_balance_cents": 40000, "fees_balance_cents": 700000, "total_balance_cents": 400000 }, "payoff": { "total_payoff_cents": 900000, "expected_remaining_payment_amount_cents": 1100000 }, "line_items": [ { "account_id": 4, "line_item_id": 2, "effective_at": "2018-07-20T09:12:30+00:00", "created_at": "2018-06-20T09:12:30+00:00", "product_id": 1, "line_item_overview": { "line_item_status": "VALID", "line_item_type": "CHARGE", "description": "Refund for invalid purchase" }, "line_item_summary": { "original_amount_cents": 2484, "balance_cents": 3600, "principal_cents": 2400, "interest_balance_cents": 1100, "am_interest_balance_cents": 0, "deferred_interest_balance_cents": 200, "am_deferred_interest_balance_cents": 0, "total_interest_paid_to_date_cents": -16 }, "merchant_data": { "name": "string", "id": "string", "mcc_code": 42.0, "phone_number": "string" }, "issuer_processor_details": { "lithic": { "last_four": 3324, "transaction_token": "33xd08bc-d100-488y-bb93-f8a1f081ff0e", "card_token": "c6cd08bc-c524-48f5-b64d-f79ec0810df4" } }, "external_fields": [ { "key": "Globex Card Processing Account ID", "value": "22445702-a389-431f-927d-07b8d0750787" } ] } ] }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Amortization schedule

Get Amortization information for installment loans.

Get the amortization schedule for a specific loan

Path parameters
  • account_id Required / string

    Account ID

Query parameters
  • offset number

    The zero-indexed starting point for paginated line item requests sorted by line item effective date.

  • limit number

    The maximum number of line items to be returned. Defaults to 100.

Responses
  • 200 array[object]

    Amortization schedule for a loan

    • line_item_id Required / integer

      The ID of this generated amortization schedule.

    • cycle_exclusive_end Required / string(date-time)

      The date-time the am cycle ends.

    • min_pay_due_at Required / string(date-time)

      The date the minimum payment for the am schedule is due.

    • am_min_pay_cents Required / number

      The amount due just for the am schedule. This accounts for principal, interest, and deferred interest balance but does not include fees.

    • am_cycle_payment_cents Required / number

      The amount in cents that was actually paid towards the loan during the billing cycle

    • am_interest_cents Required / number

      The amount in cents allocated to interest from this am payment

    • am_deferred_cents Required / number

      The amount in cents allocated to deferred interest from this am payment

      Default value is 0.

    • am_principal_cents Required / number

      The amount in cents allocated to principal from this am payment

    • am_start_principal_balance_cents number

      The starting principal balance on the loan before this payment

    • am_end_principal_balance_cents number

      The ending principal balance on the loan after this payment

    • am_start_total_balance_cents Required / number

      The starting balance on the loan before this payment

    • am_end_total_balance_cents Required / number

      The ending balance on the loan after this payment

    • paid_on_time boolean

      Indicates whether the amount for this am payment was paid on time; only present if the date scheduled for the am payment has passed as of the time of the request.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Amortization Schedule not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}/amortization_schedule
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/amortization_schedule
Response example (200)
[ { "line_item_id": 400, "cycle_exclusive_end": "2018-07-20T09:10:14+00:00", "min_pay_due_at": "2018-07-20T09:10:14+00:00", "am_min_pay_cents": 84000, "am_cycle_payment_cents": 18325, "am_interest_cents": 10000, "am_deferred_cents": 4000, "am_principal_cents": 70000, "am_start_principal_balance_cents": 136691, "am_end_principal_balance_cents": 136691, "am_start_total_balance_cents": 136691, "am_end_total_balance_cents": 136691, "paid_on_time": true } ]
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Event subscriptions

Subscribe to events via webhooks from Canopy.

Subscribe to event triggers from Canopy.

As events occur in Canopy, your external system can be notified of them and handle them. For a breakdown of how Canopy will post to your webhook URL upon completion of events, review our Webhook Events definition.

Body
  • webhook_url Required / string(uri)
Responses
  • 201

    Webhook created.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/organization/subscribe
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/organization/subscribe \ -H "Content-Type: application/json" \ -d '{"webhook_url":"https://myserver.com/send/webhook/canopy"}'
Request payload example
{ "webhook_url": "https://myserver.com/send/webhook/canopy" }
Response example (201)
No content
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Integrations

Configure third-party integrations with Canopy.

Configure payment processor information for your organization

Body
  • repay_config object
    • merchant_id string

      Merchant ID for your organization in Repay. You will need to go through an approval process with Repay to get approved as a Merchant under Canopy prior to making this API request.

Responses
  • 200 object

    Payment Processor configuration for your organization

    • repay_config object
      • merchant_id string

        Merchant ID for your organization in Repay. You will need to go through an approval process with Repay to get approved as a Merchant under Canopy prior to making this API request.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/organization/payment_processors
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/organization/payment_processors \ -H "Content-Type: application/json" \ -d '{"repay_config":{"merchant_id":"987654321"}}'
Request payload example
{ "repay_config": { "merchant_id": "987654321" } }
Response example (200)
{ "repay_config": { "merchant_id": "987654321" } }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Configure issuer processor information for your organization

Body
  • lithic_config object
    • api_key string

      API key for your organization in Lithic. You can generate this in your Lithic dashboard as a self-service option.

Responses
  • 200 object

    Issuer processor configuration for your organization

    • lithic_config object
      • api_key string

        API key for your organization in Lithic. You can generate this in your Lithic dashboard as a self-service option.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/organization/issuer_processors
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/organization/issuer_processors \ -H "Content-Type: application/json" \ -d '{"lithic_config":{"api_key":"a328j23l-61n0-k123-44b4-jj11ooo3b0uu"}}'
Request payload example
{ "lithic_config": { "api_key": "a328j23l-61n0-k123-44b4-jj11ooo3b0uu" } }
Response example (200)
{ "lithic_config": { "api_key": "a328j23l-61n0-k123-44b4-jj11ooo3b0uu" } }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Data migrations

Toggle Migration Mode for a product

Safely migrate accounts and line items from another system into Canopy for accounts enrolled in this product while Migration Mode is on.

Body
  • migration_mode boolean

    If migration mode is on, Canopy will not autogenerate statements for this account.

Responses
  • 200 object

    Migration Mode updated successfully

    • description Required / string
  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/products/{product_id}/migration_mode
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/products/{product_id}/migration_mode \ -H "Content-Type: application/json" \ -d '{"migration_mode":true}'
Request payload example
{ "migration_mode": true }
Response example (200)
{ "description": "string" }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Credit reporting

Get a list of all current and Metro2 credit reports for a specific account

List of Metro2 credit reports for the account. To view line items for a specific credit report, use the /accounts/{account_id}/credit_reports/{credit_report_id} route

Path parameters
  • account_id Required / string

    Account ID

Query parameters
  • limit integer

    The maximum number of accounts to be returned. Defaults to 100.

Responses
  • 200 object
    • results array[object]
      • account_id Required / string

        The Canopy-generated ID for the account

      • credit_report_id Required / string

        The Canopy-generated ID for the statement

      • cycle_summary object
        • cycle_inclusive_start Required / string(date-time)

          The inclusive starting Date-Time that defines the cycle for which the report was generated.

        • cycle_exclusive_end Required / string(date-time)

          The exclusive ending Date-Time that defines the cycle for which the report was generated.

      • bureau_reports_included object
        • equifax boolean

          Indicates whether a Metro2 file to send to Equifax was generated as part of this report. This is expected to be true if you have configured an Equifax Program Identifier for your organization as of the time the report was generated.

        • experian boolean

          Indicates whether a Metro2 file to send to Experian was generated as part of this report. This is expected to be true if you have configured an Experian Program Identifier for your organization as of the time the report was generated.

        • transunion boolean

          Indicates whether a Metro2 file to send to TransUnion was generated as part of this report. This is expected to be true if you have configured an TransUnion Program Identifier for your organization as of the time the report was generated.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Statements not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}/credit_reports/list
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/credit_reports/list
Response example (200)
{ "results": [ { "account_id": "31mNprzLd2bKl6koVna68ARM", "credit_report_id": "31mNprzLd2bKl6koVna68ARM", "cycle_summary": { "cycle_inclusive_start": "2021-05-04T09:42:00+00:00", "cycle_exclusive_end": "2021-05-04T09:42:00+00:00" }, "bureau_reports_included": { "equifax": true, "experian": true, "transunion": true } } ] }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Get a specific Metro2 credit report for a specific account.

This will return a Metro2 credit report that corresponds with the passed Credit Report ID. Relevant IDs for an account's historical Metro2 credit reports can be obtained from the accounts/{account_id}/credit_reports/list route.

Path parameters
  • account_id Required / string

    Account ID

  • credit_report_id Required / string

    The ID of a specific Metro2 credit report you would like returned.

Responses
  • 200 object
    • account_id Required / string

      The Canopy-generated ID for the account

    • credit_report_id Required / string

      The Canopy-generated ID for the statement

    • report_transunion string

      Transunion Metro2 credit report

    • report_equifax string

      Equifax Metro2 credit report

    • report_experian string

      Experian Metro2 credit report

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 404

    Statement not found

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/accounts/{account_id}/credit_reports/{credit_report_id}
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/accounts/31mNprzLd2bKl6koVna68ARM/credit_reports/31mNprzLd2bKl6koVna68ARM
Response example (200)
{ "account_id": "31mNprzLd2bKl6koVna68ARM", "credit_report_id": "31mNprzLd2bKl6koVna68ARM", "report_transunion": "see here for example: https://github.com/moov-io/metro2/blob/master/test/testdata/unpacked_fixed_file.dat", "report_equifax": "see here for example: https://github.com/moov-io/metro2/blob/master/test/testdata/unpacked_fixed_file.dat", "report_experian": "see here for example: https://github.com/moov-io/metro2/blob/master/test/testdata/unpacked_fixed_file.dat" }
Response example (401)
No content
Response example (403)
No content
Response example (404)
No content
Response example (429)
No content
Response example (default)
No content

Configure credit reporting details for your organization

Body
  • transunion_program_identifier string

    If included, a metro2 report will be generated for your organization which uses this code to report to TransUnion.

  • experian_program_identifier string

    If included, a metro2 report will be generated for your organization which uses this code to report to Experian.

  • equifax_program_identifier string

    If included, a metro2 report will be generated for your organization which uses this code to report to Experian.

  • program_date string(date)

    The date your program started reporting credit to the bureaus.

  • reporter_name string

    Your organization's name, as reporting to the credit bureaus.

  • reporter_address_line_one string

    Reporter address line one.

  • reporter_address_line_two string

    Reporter address line two.

  • reporter_address_city string

    Reporter address city.

  • reporter_address_state string

    Reporter address state.

  • reporter_address_zip string

    Reporter address, five digit zipcode or nine digit 'ZIP+4'.

  • reporter_phone_number string

    Reporter's phone number in E.164 format.

Responses
  • 200 object

    Issuer processor configuration for your organization

    • transunion_program_identifier string

      If included, a metro2 report will be generated for your organization which uses this code to report to TransUnion.

    • experian_program_identifier string

      If included, a metro2 report will be generated for your organization which uses this code to report to Experian.

    • equifax_program_identifier string

      If included, a metro2 report will be generated for your organization which uses this code to report to Experian.

    • program_date string(date)

      The date your program started reporting credit to the bureaus.

    • reporter_name string

      Your organization's name, as reporting to the credit bureaus.

    • reporter_address_line_one string

      Reporter address line one.

    • reporter_address_line_two string

      Reporter address line two.

    • reporter_address_city string

      Reporter address city.

    • reporter_address_state string

      Reporter address state.

    • reporter_address_zip string

      Reporter address, five digit zipcode or nine digit 'ZIP+4'.

    • reporter_phone_number string

      Reporter's phone number in E.164 format.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
PUT https://sandbox-api.canopyservicing.com/organization/credit_reporting
cURL example
curl \ -X PUT https://sandbox-api.canopyservicing.com/organization/credit_reporting \ -H "Content-Type: application/json" \ -d '{"transunion_program_identifier":"5555555555","experian_program_identifier":"5555555555","equifax_program_identifier":"5555555555","program_date":"1985-06-20","reporter_name":"Acme Corporation","reporter_address_line_one":"12 Strawberry Road","reporter_address_line_two":"Suite 101","reporter_address_city":"Atlanta","reporter_address_state":"GA","reporter_address_zip":"99999-1000","reporter_phone_number":"+14105556789"}'
Request payload example
{ "transunion_program_identifier": "5555555555", "experian_program_identifier": "5555555555", "equifax_program_identifier": "5555555555", "program_date": "1985-06-20", "reporter_name": "Acme Corporation", "reporter_address_line_one": "12 Strawberry Road", "reporter_address_line_two": "Suite 101", "reporter_address_city": "Atlanta", "reporter_address_state": "GA", "reporter_address_zip": "99999-1000", "reporter_phone_number": "+14105556789" }
Response example (200)
{ "transunion_program_identifier": "5555555555", "experian_program_identifier": "5555555555", "equifax_program_identifier": "5555555555", "program_date": "1985-06-20", "reporter_name": "Acme Corporation", "reporter_address_line_one": "12 Strawberry Road", "reporter_address_line_two": "Suite 101", "reporter_address_city": "Atlanta", "reporter_address_state": "GA", "reporter_address_zip": "99999-1000", "reporter_phone_number": "+14105556789" }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Organization

Get organization configuration

Get configured details for your organization

Responses
  • 200 object

    Organization

    • organization_id Required / string

      The Canopy-generated ID for the product.

    • created_at Required / string(date-time)

      The Date-Time that this product was created on the server.

    • organization_overview Required / object

      A series of static fields about the product.

      • organization_name Required / string

        Name of Organization, i.e. LeverCard 3000.

      • webhook_url string

        A URL to which events pertaining to your organization get posted

    • config object

      Configurations for API integrations within your organization.

      • issuer_processor object
        • name string

          The active issuer-processor for your organization.

        • valid_api_key boolean

          Indicates whether there is a valid API key configured for your issuer-processor.

      • payment_processor object
        • name string

          The active payment processor for your organization.

        • repay_config object

          Indicates the details for Repay configuration, if available, for your organization.

          • valid_merchant_id boolean

            Indicates whether a valid merchant ID has been configured for your organization. The merchant ID itself is hidden from our response.

      • credit_reporting object
        • transunion_program_identifier integer

          If included, a metro2 report will be generated for your organization which uses this code to report to TransUnion.

        • experian_program_identifier integer

          If included, a metro2 report will be generated for your organization which uses this code to report to Experian.

        • equifax_program_identifier integer

          If included, a metro2 report will be generated for your organization which uses this code to report to Experian.

        • program_date string(date)

          The date your program started reporting credit to the bureaus.

        • reporter_name string

          Your organization's name, as reporting to the credit bureaus.

        • reporter_address_line_one string

          Reporter address line one.

        • reporter_address_line_two string

          Reporter address line two.

        • reporter_address_city string

          Reporter address city.

        • reporter_address_state string

          Reporter address state.

        • reporter_address_zip string

          Reporter address, five digit zipcode or nine digit 'ZIP+4'.

        • reporter_phone_number string

          Reporter's phone number in E.164 format.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/organization
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/organization
Response example (200)
{ "organization_id": "31mNprzLd2bKl6koVna68ARM", "created_at": "2019-03-20T09:12:28+00:00", "organization_overview": { "organization_name": "LeverCard 3000", "webhook_url": "https://mycallbackurlhandler.com/canopy" }, "config": { "issuer_processor": { "name": "LITHIC", "valid_api_key": true }, "payment_processor": { "name": "REPAY", "repay_config": { "valid_merchant_id": true } }, "credit_reporting": { "transunion_program_identifier": "5555555555", "experian_program_identifier": "5555555555", "equifax_program_identifier": "5555555555", "program_date": "1985-06-20", "reporter_name": "Acme Corporation", "reporter_address_line_one": "12 Strawberry Road", "reporter_address_line_two": "Suite 101", "reporter_address_city": "Atlanta", "reporter_address_state": "GA", "reporter_address_zip": "99999-1000", "reporter_phone_number": "+14105556789" } } }
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content

Test your webhook URL.

Test your webhook URL. You will receive a sample test event.

Responses
  • 201

    Event Triggered.

  • 401

    Unauthorized.

  • 403

    Forbidden.

  • 422

    Invalid input

  • 429

    Too many requests.

  • default

    Unexpected Error.

Definition
GET https://sandbox-api.canopyservicing.com/organization/subscribe/test
cURL example
curl \ -X GET https://sandbox-api.canopyservicing.com/organization/subscribe/test
Response example (201)
No content
Response example (401)
No content
Response example (403)
No content
Response example (422)
No content
Response example (429)
No content
Response example (default)
No content