Products::Price

List all prices for a given product. This will include all prices for all variants of the product. You can also filter by variant_id to get prices for a specific variant.

get/products/{product_id}/prices

Request

Path parameters

product_idstring required

Query parameters

afterstring

ID of item after which the collection should be returned. More examples and info about pagination in our guides.

per_pageinteger

Records per page. Defaults to 20; raise it up to 100 for bulk reads. A larger value returns 100 records. Zero, a negative or a non-integer value is a 422. The Link next-page URL keeps the value, so a client following it keeps the page size. More in our guides.

sort_order'asc' | 'desc'

Sort order of a list response. Use 'desc' to reverse the default 'asc' (ascending) sort order. Examples in our guides.

sort_property'id' | 'updated_at'

Sort property of a list response. The default is id and thus the created_at order. If you sort by other properties, we additionally sort by id implicitly as a secondary sort property, so that you can rely on the sort order to be deterministic even if the main sort property ends up with the same values.

idstring

A comma-separated list of price IDs to filter by.

variant_idstring

A comma-separated list of variant IDs to filter by.

visibletrue | false

Filter prices by visibility in the online store.

archivedtrue | false

Filter prices by archived state.

Filter by available properties in query params, like this: api/v2/resources?filter[id]=value&filter[another_property]=value1,value2. Check our Filtering guide for examples and all about filtering here.

{
  "id": "1,2,3",
  "variant_id": "1,2,3",
  "visible": true,
  "archived": true
}

Response

OK

idinteger

ID

public_idstring nullable

Price public ID

variant_idinteger nullable

Variant

namestring nullable

Name

amountstring

Amount

coststring nullable

Cost

currencystring

Currency

durationinteger nullable

Amount of payments

intervalstring nullable

Interval

trial_intervalstring nullable

Trial interval

trial_durationinteger nullable

Trial duration

trial_amountstring

Trial Amount

setup_amountstring nullable

Setup amount

self_cancelboolean nullable

Customer can cancel

self_upgradeboolean nullable

Legacy setting with no effect: no checkout, customer portal or API plan change reads it. GET /products/prices/{price_id}/change_options lists the upgrades and downgrades the API allows from this price.

self_downgradeboolean nullable

Legacy setting with no effect: no checkout, customer portal or API plan change reads it. GET /products/prices/{price_id}/change_options lists the upgrades and downgrades the API allows from this price.

self_reactivateboolean nullable

Customer can reactivate

interval_countinteger nullable

Interval count

payment_type'one_time' | 'subscription' | 'payment_plan' | 'null' nullable

Defaults to 'one_time' if left blank

visibleboolean nullable

Visible

compare_at_amountstring nullable

Compare at amount

keystring nullable

Key

archivedboolean nullable

Archived

created_atstring date-time nullable

Added

updated_atstring date-time nullable

Updated

Example response

[
  {
    "id": 14,
    "public_id": "WpEGzF",
    "variant_id": 14,
    "name": "Example Price",
    "amount": "100.00",
    "cost": "0.00",
    "currency": "USD",
    "duration": null,
    "interval": null,
    "trial_interval": null,
    "trial_duration": null,
    "trial_amount": "0.00",
    "setup_amount": null,
    "self_cancel": true,
    "self_upgrade": true,
    "self_downgrade": true,
    "self_reactivate": true,
    "interval_count": null,
    "payment_type": "one_time",
    "visible": true,
    "compare_at_amount": null,
    "key": null,
    "archived": false,
    "created_at": "2025-01-01T00:00:00.000Z",
    "updated_at": "2025-01-01T00:00:00.000Z"
  }
]

Changes

    • breaking

      the response property / became nullable for the status

    • breaking

      the response property / became nullable for the status

    • breaking

      the response property / became nullable for the status

    • breaking

      the response property / became nullable for the status

    • breaking

      the response property / became nullable for the status

    • breaking

      the / response's property type changed from string to integer null for status

    • breaking

      the / response's property type changed from string to integer null for status

    • breaking

      the / response's property type changed from string to integer null for status

    • warning

      added the new undefined enum value to the / response property for the response status

    • info

      added the new optional query request parameter per_page

    • info

      for the path request parameter product_id, the type was generalized from integer to string

    • info

      added the non-success response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property to the response with the status