Create a new product

POST /products

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 Required

  • 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.

  • A unique ID to identify the product with for future requests. If not provided at the time of product creation, Canopy will generate one.

    Format should match the following pattern: ^(?!can_).*$.

  • product_overview object Required

    A series of static fields about the product.

    Hide product_overview attributes Show product_overview attributes object
  • Hide product_lifecycle_policies attributes Show product_lifecycle_policies attributes object
    • The set of policies governing payment due information for the product.

      Hide payment_due_policies attributes Show payment_due_policies attributes object
    • The set of policies governing payment pouring information for the product.

      Hide payment_pouring_policies attribute Show payment_pouring_policies attribute object
    • The set of policies governing fees for the product.

      Hide fee_policies attributes Show fee_policies attributes object
      • Amount of time between when a payment is due and when a late fee is assessed if no payments have been made.

        Default value is 5 days.

      • The interval at which a surcharge fee is assessed.

      • The transaction volume structure that dictates a transaction fee.

        Hide default_surcharge_fee_structure attributes Show default_surcharge_fee_structure attributes array[object] | null
        • Indicates the starting transaction volume at which this fee will apply.

        • 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 number Required

          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.

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

      Hide billing_cycle_policies attributes Show billing_cycle_policies attributes object
      • cycle_interval string Required

        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)

      • 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 -5 days.

      • Defaults to value of cycle_interval. 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 cycle_interval

      • 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.

      • 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.

    • The Interest Policy Object

      Hide interest_policies attributes Show interest_policies attributes object
    • Hide default_attributes attributes Show default_attributes attributes object
      • 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.

      • 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.

      • 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 object Required

    If applicable, a promotional configuration for the product.

    Hide promotional_policies attributes Show promotional_policies attributes object
    • 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.

    • Current due calculation method for the promotional period.

      Values are AM, PERCENT_INTEREST, PERCENT_PRINCIPAL, PERCENT_PRINCIPAL_INTEREST, or NONE. Default value is NONE.

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

      Default value is 0.

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

      Default value is false.

    • If set to true, the promo end date will be reset to end of current cycle + promo_len when the account draws its first charge during the promo period. If no charges occur during the promo period, the promo period will still end on the date set at account creation.

      Default value is false.

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

      Default value is 0.

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

      Default value is 100.

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

      Default value is 0.

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

      Default value is 0.

  • Hide post_promotional_policies attributes Show post_promotional_policies attributes object
  • admin object
    Hide admin attribute Show admin attribute object
    • If migration mode is on, Canopy will stop auto-generating statements for this account.

      Default value is false.

Responses

  • Product

    Hide response attributes Show response attributes object
    • product_id string Required

      A unique ID to identify the product with for future requests. If not provided at the time of product creation, Canopy will generate one.

    • 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.

    • product_overview object Required

      A series of static fields about the product.

      Hide product_overview attributes Show product_overview attributes object
    • Hide product_lifecycle_policies attributes Show product_lifecycle_policies attributes object
      • The set of policies governing payment due information for the product.

        Hide payment_due_policies attributes Show payment_due_policies attributes object
      • The set of policies governing payment pouring information for the product.

        Hide payment_pouring_policies attribute Show payment_pouring_policies attribute object
      • The set of policies governing fees for the product.

        Hide fee_policies attributes Show fee_policies attributes object
        • Amount of time between when a payment is due and when a late fee is assessed if no payments have been made.

          Default value is 5 days.

        • The interval at which a surcharge fee is assessed.

        • The transaction volume structure that dictates a transaction fee.

          Hide default_surcharge_fee_structure attributes Show default_surcharge_fee_structure attributes array[object] | null
          • Indicates the starting transaction volume at which this fee will apply.

          • 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 number Required

            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.

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

        Hide billing_cycle_policies attributes Show billing_cycle_policies attributes object
        • cycle_interval string Required

          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)

        • 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 -5 days.

        • Defaults to value of cycle_interval. 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 cycle_interval

        • 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.

        • 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.

      • The Interest Policy Object

        Hide interest_policies attributes Show interest_policies attributes object
      • Hide default_attributes attributes Show default_attributes attributes object
        • 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.

        • 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.

        • 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 object Required

      If applicable, a promotional configuration for the product.

      Hide promotional_policies attributes Show promotional_policies attributes 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.

      • Current due calculation method for the promotional period.

        Values are AM, PERCENT_INTEREST, PERCENT_PRINCIPAL, PERCENT_PRINCIPAL_INTEREST, or NONE. Default value is NONE.

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

        Default value is 0.

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

        Default value is 100.

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

        Default value is false.

      • If set to true, the promo end date will be reset to end of current cycle + promo_len when the account draws its first charge during the promo period. If no charges occur during the promo period, the promo period will still end on the date set at account creation.

        Default value is false.

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

        Default value is 0.

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

        Default value is 0.

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

        Default value is 0.

    • Hide post_promotional_policies attributes Show post_promotional_policies attributes object
    • Summary of product information

      Hide product_summary attribute Show product_summary attribute object
    • admin object
      Hide admin attribute Show admin attribute object
      • If migration mode is on, Canopy will stop auto-generating statements for this account.

        Default value is false.

  • Unauthorized.

  • Forbidden.

  • Invalid input

  • Too many requests.

  • Unexpected Error.

POST /products
curl \
 -X POST https://sandbox-api.canopyservicing.com/products \
 -H "Authorization: Bearer $ACCESS_TOKEN" \
 -H "Content-Type: application/json" \
 -d '{"effective_at":"2016-11-27T13:19:56+00:00","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},"payment_pouring_policies":{"pending_pmt_affects_avail_credit":true},"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","interest_accrual_interval":"1 day"},"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_INTEREST","promo_purchase_window_len":5,"promo_interest_deferred":true,"promo_reset_on_first_charge":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}}'
Request example
{
  "effective_at": "2016-11-27T13:19:56+00:00",
  "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
    },
    "payment_pouring_policies": {
      "pending_pmt_affects_avail_credit": true
    },
    "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",
      "interest_accrual_interval": "1 day"
    },
    "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_INTEREST",
    "promo_purchase_window_len": 5,
    "promo_interest_deferred": true,
    "promo_reset_on_first_charge": 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
  }
}
Request examples
{
  "effective_at": "2016-11-27T13:19:56+00:00",
  "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
    },
    "payment_pouring_policies": {
      "pending_pmt_affects_avail_credit": true
    },
    "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",
      "interest_accrual_interval": "1 day"
    },
    "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_INTEREST",
    "promo_purchase_window_len": 5,
    "promo_interest_deferred": true,
    "promo_reset_on_first_charge": 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 examples (200)
{
  "product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45",
  "created_at": "2019-03-20T09:12:28+00:00",
  "effective_at": "2016-11-27T13:19:56+00:00",
  "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
    },
    "payment_pouring_policies": {
      "pending_pmt_affects_avail_credit": true
    },
    "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",
      "interest_accrual_interval": "1 day"
    },
    "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_reset_on_first_charge": 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
  }
}
Response examples (200)
{
  "product_id": "95fea111-d121-40f8-9e8e-a6c335e48a45",
  "created_at": "2019-03-20T09:12:28+00:00",
  "effective_at": "2016-11-27T13:19:56+00:00",
  "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
    },
    "payment_pouring_policies": {
      "pending_pmt_affects_avail_credit": true
    },
    "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",
      "interest_accrual_interval": "1 day"
    },
    "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_reset_on_first_charge": 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
  }
}