Components

Create On/Off Component

POST
/product_families/{product_family_id}/on_off_components.json

Creates an On/Off component definition under the specified product family. An On/Off component can then be added and “allocated” for a subscription.

On/off components are used for any flat fee, recurring add on (think $99/month for tech support or a flat add on shipping fee).

For more information on components, see our documentation here.

If you have the new Catalog experience enabled, taxable components must include a non-blank tax_code. Sending "tax_code": "" returns 422.

Authorization

BasicAuth
AuthorizationBasic <token>

The username is a Maxio Chargify API key. The password is x.

In: header

Path Parameters

product_family_id*string

Either the product family's id or its handle prefixed with handle:

Request Body

application/json

on_off_component*

Response Body

application/json

application/json

curl -X POST "https://example.com/product_families/string/on_off_components.json" \  -H "Content-Type: application/json" \  -d '{    "on_off_component": {      "name": "Annual Support Services",      "description": "Prepay for support services",      "taxable": true,      "unit_price": "100.00",      "display_on_hosted_page": true,      "public_signup_page_ids": [        320495      ]    }  }'
{  "component": {    "id": 292609,    "name": "Test On-Off Component 46124",    "handle": "test-on-off-component-4612422802",    "pricing_scheme": null,    "unit_name": "on/off",    "unit_price": "10.0",    "product_family_id": 528484,    "product_family_name": "Cloud Compute Servers",    "price_per_unit_in_cents": null,    "kind": "on_off_component",    "archived": false,    "taxable": false,    "description": null,    "default_price_point_id": 2944263,    "price_point_count": 1,    "price_points_url": "https://demo-3238403362.chargify.com/components/30002/price_points",    "default_price_point_name": "Original",    "tax_code": null,    "recurring": true,    "upgrade_charge": null,    "downgrade_credit": null,    "created_at": "2024-01-23T06:08:05-05:00",    "updated_at": "2024-01-23T06:08:05-05:00",    "archived_at": null,    "hide_date_range_on_invoice": false,    "allow_fractional_quantities": false,    "use_site_exchange_rate": true,    "item_category": null,    "accounting_code": null  }}

Create Quantity Based Component POST

Creates a Quantity Based component definition under the specified product family. A Quantity Based component can then be added and “allocated” for a subscription. When defining a Quantity Based component, you can choose one of two types: #### Recurring Recurring quantity-based components are used to bill for the number of some unit (think monthly software user licenses or the number of pairs of socks in a box-a-month club). This is most commonly associated with billing for user licenses, number of users, number of employees, etc. #### One-time One-time quantity-based components are used to create ad hoc usage charges that do not recur. For example, at the time of signup, you might want to charge your customer a one-time fee for onboarding or other services. The allocated quantity for one-time quantity-based components immediately gets reset back to zero after the allocation is made. For more information, see [Components Overview](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview). #### Hybrid Pricing A `volume`, `tiered`, or `stairstep` component can combine its primary pricing with a secondary pricing model (the `overage_pricing` parameter) so both bill as a single invoice line item instead of two. See [Hybrid Pricing](https://maxio-test-wp.pages.dev/getting-started/basic-concepts/hybrid-pricing) for requirements and configuration details. For more information on components, see our documentation [here](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview). If you have the new [Catalog experience](https://maxio-test-wp.pages.dev/support/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`. Sending `"tax_code": ""` returns `422`.

Create Prepaid Usage Component POST

Creates a prepaid usage component definition under the specified product family. A prepaid component can then be added and “allocated” for a subscription. Prepaid components allow customers to pre-purchase units that can be used up over time on their subscription. In a sense, they are the mirror image of metered components; while metered components charge at the end of the period for the amount of units used, prepaid components are charged for at the time of purchase, and usage is subsequently tracked against the amount purchased. For more information, see [Components Overview](https://maxio.zendesk.com/hc/en-us/articles/24261141522189-Components-Overview). If you have the new [Catalog experience](https://maxio-test-wp.pages.dev/support/announcements/2026-announcements#new-catalog-experience-and-terminology) enabled, taxable components must include a non-blank `tax_code`; sending a blank value results in a validation error.