List plan change products
The products a subscriber to this product may switch to on the same subscription plan: the active, not deleted products in the product's subscription_change_product_ids that still have the same plan. All of them come back on one page; offset and limit do not apply. The upgrade and downgrade settings are not applied here; they apply when a customer changes a subscription. Secret, trusted and limited tokens may call it.
AuthorizationBearer <token>A secret, trusted or limited token. See Authentication.
product_id*stringThe product id.
expand?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.
falsecurrency?stringThe ISO 4217 currency to price the products in. It must be a currency the account can take payment in, or the request fails with 400.
country?stringA two-letter ISO country code. Used to guess the shopper's currency when you send no currency, cart_id or invoice_id.
cart_id?stringPrice in this cart's currency and exchange rate. Ignored if the token may not read the cart.
invoice_id?stringPrice in this invoice's currency and exchange rate. Ignored if the token may not read the invoice.
The products, all on one page.
application/json- response
A page of products. An offset-based list.
total_items*integerThe number of items that match, across all pages.
total_pages*integerThe number of pages.
current_page*integerThe number of this page.
next_page_url*|The URL of the next page, or null on the last page.
urinext_page_offset*|The offset of the next page, or null on the last page.
previous_page_url*|The URL of the previous page, or null on the first page.
uriprevious_page_offset*|The offset of the previous page, or null on the first page.
current_page_url*stringThe URL of this page.
uridata*array<>The items on this page.
curl -X GET 'https://api.comecero.com/api/v1/products/string/subscription_change_products'{ "total_items": 1, "total_pages": 0, "current_page": 0, "next_page_url": null, "next_page_offset": null, "previous_page_url": null, "previous_page_offset": null, "current_page_url": "https://api.comecero.com/api/v1/products/widget.test/subscription_change_products", "data": [ { "object": "product", "url": "https://api.comecero.com/api/v1/products/widget-pro.test", "product_id": "widget-pro.test", "date_created": "2026-11-02T14:40:10Z", "date_modified": "2026-11-02T14:40:10Z", "test": true, "account_id": "AB1234", "name": "Widget Pro", "price": 79.95, "currency": "USD", "compare_at_price": null, "type": "physical", "description": "The widget for people who use it all day.", "headline": null, "tax_code": null, "prices": [ { "price": 79.95, "currency": "USD" } ], "volume_prices": [], "effective_volume_prices": [], "inventory": null, "bundle_items": [], "has_file": false, "has_license_service": false, "subscription_plan": null, "subscription_terms": null, "images": [], "video_url": null, "related_products": "https://api.comecero.com/api/v1/products/widget-pro.test/related_products", "subscription_change_products": "https://api.comecero.com/api/v1/products/widget-pro.test/subscription_change_products", "subscription_term_change_products": "https://api.comecero.com/api/v1/products/widget-pro.test/subscription_term_change_products", "meta": null } ]}List related products GET
The products you set in the product's `related_product_ids`, for "you may also like" offers. Inactive and deleted products are left out. All of them come back on one page; `offset` and `limit` do not apply. Prices follow the same currency rules as `GET /products`. Secret, trusted and limited tokens may call it.
List term change products GET
The products a subscriber to this product may switch to on a different subscription plan, for example yearly instead of monthly: the active, not deleted products in the product's `subscription_term_change_product_ids` that have a plan other than this product's. All of them come back on one page; `offset` and `limit` do not apply. Secret, trusted and limited tokens may call it.