List subscription items
Returns the items of a subscription, including cancelled ones, as a plain JSON array (no paging wrapper). limit and offset slice the array. Secret, trusted and limited tokens may call it; a limited token only for the customer it is signed in as.
AuthorizationBearer <token>A secret, trusted or limited token. See Authentication.
subscription_id*stringThe subscription id.
sort_by?stringThe field to sort by.
"date_created""date_created""date_modified""product_id""item_id"limit?integerHow many items to return on one page, from 1 to 100. The default is 100. A value outside 1 to 100, or one that is not a whole number, is a 400.
1 <= value <= 100100offset?integerFor offset-based lists, how many items to skip before the page starts. Use next_page_offset or previous_page_offset from the page you have. A value that is not a whole number is a 400.
0 <= value0desc?booleanSort in descending order (newest, largest or last first) when true. The default is false. A value other than true or false is a 400.
falseexpand?stringComma-separated child objects to return in full instead of as a URL, for example customer,payments. Use dot notation for nested objects (items.product), up to four levels deep. A single object takes up to 12 paths; a list takes up to 2, applied to every item. Extra paths are dropped without an error. See Expanding objects.
show?stringComma-separated fields to return; all others are left out. Use dot notation for child fields (customer.email). You cannot send show and hide together (400). See Customizing output.
hide?stringComma-separated fields to leave out of the response. Use dot notation for child fields (customer.email). You cannot send show and hide together (400). See Customizing output.
formatted?booleanWhen true, the object also has a formatted child with amounts and dates as display text in the shopper's language and currency (for example $19.99 or November 7, 2026). The default is false. See Localized formatting.
falseThe items.
application/json- response
[index: integer]?One item a subscription bills for. An item is either a product from your catalog or a custom item with its own name, type and price.
curl -X GET 'https://api.comecero.com/api/v1/subscriptions/string/items'[ { "object": "subscription_item", "url": "https://api.comecero.com/api/v1/subscriptions/0093799318129SuLByRPW8/items/acme-pro.test", "item_id": "acme-pro.test", "date_created": "2026-10-02T15:21:28Z", "date_modified": "2026-10-02T15:21:28Z", "product_id": "acme-pro.test", "name": "Acme Pro (monthly)", "quantity": 1, "reference_price": 19.95, "reference_currency": "USD", "reference_discount": 0, "reference_discount_price": null, "discount_apply_count": null, "discount_applied_count": 0, "cancelled": false, "cancel_at_current_period_end": false, "date_cancelled": null, "date_ended": null, "cancellation_reason": null, "tax_code": null, "type": "digital", "change_at_current_period_end": null, "product": "https://api.comecero.com/api/v1/products/acme-pro.test", "subscription": "https://api.comecero.com/api/v1/subscriptions/0093799318129SuLByRPW8", "subscription_terms": "https://api.comecero.com/api/v1/subscriptions/0093799318129SuLByRPW8/items/acme-pro.test/subscription_terms", "meta": null }]List subscription invoices GET
Lists the invoices of a subscription, one per billing period plus any made for item changes. Together they are the subscription's billing history. Draft invoices are left out. The list is offset-based. Secret, trusted and limited tokens may call it; a limited token only for the customer it is signed in as.
Add a subscription item POST
Adds an item to a running subscription, or replaces one item with another when you send `remove_item_id` (an upgrade or downgrade). The item is a product (`product_id`) or a custom item (`name`, `type`, `reference_price` and `reference_currency`, no `product_id`). Answers `201` with the new item when the change applies now, or `200` with the pending item when it is scheduled for the end of the current period (then nothing is charged and the item shows in `add_at_current_period_end` or the replaced item's `change_at_current_period_end`). Money can move. When the change applies at once, the customer pays the prorated amount for the rest of the current period now (from their account balance first, then their saved payment method) and an invoice is made; a cheaper replacement or lower quantity is refunded prorated, to the original payment method where possible, otherwise to the account balance. Whether a change applies at once or at the period end depends on the immediate upgrade and downgrade product types in your subscription settings, or on `apply_immediately`. On a live subscription only one money-moving change is allowed every 10 minutes. Use the preview endpoint first to show the customer the amount. Secret, trusted and limited tokens may call it. A limited token only for the customer it is signed in as; it may not send prices, discounts or `apply_immediately`, may only replace product items, and only when your subscription settings allow customer upgrades or downgrades.