# List all carts

```
GET 
https://api.freemius.com/v1/products/{product_id}/carts.json
```

#### Auth:Bearer TokenSCOPE: <!-- -->PRODUCT

Product-scoped API tokens allow you to operate on the product itself. This token usually allows read-only access to the product configuration and write access to several operations on subscriptions, customers, payments, and more. For most SaaS or app integrations, this is the token you will need.

1. Go to the [Freemius Developer Dashboard](https://dashboard.freemius.com/).
2. Open the Settings page of the relevant product.
3. Click the API & Keys tab.
4. Copy the API Bearer Authorization Token from the UI.

***

Retrieve the cart collection associated with your product.

> If `enriched=true` you will get more details about the cart for example the `gross`, `coupon_code` and `licenses` fields.

> You can use the `filter` or `email` or `count` parameters to get more refined results from your query. Please learn more about the individual parameters below.

## Request[​](#request "Direct link to request")

### Path Parameters

* **product\_id**
  <!-- -->
  integer\<int64>[](#param-property-carts-list-param-path-product-id "Direct link to product_id")required

  The ID of the product.

  **Possible values:** `>= 1`

  **Example:<!-- -->&#x20;**`1234`

### Query Parameters

* **filter**
  <!-- -->
  string[](#param-property-carts-list-param-query-filter "Direct link to filter")

  **Default value:<!-- -->&#x20;**`all`

  You can use the `filter` parameter to filter by status. If you don't provide a status, the endpoint will return all carts.

  **Possible values:** \[`all`, `abandoned`, `completed`, `recovered`, `recovery`, `active`]

  **offset**
  <!-- -->
  integer[](#param-property-carts-list-param-query-offset "Direct link to offset")

  **Default value:<!-- -->&#x20;**`0`

  The number of records to skip before starting to return records. Default is 0.

  **Possible values:** `>= 0`

  **Example:<!-- -->&#x20;**`10`

  **fields**
  <!-- -->
  string[](#param-property-carts-list-param-query-fields "Direct link to fields")

  Comma separated list of fields to return in the response. If not specified, all fields are returned.

  **Example:<!-- -->&#x20;**`id,name,slug`

  **enriched**
  <!-- -->
  boolean[](#param-property-carts-list-param-query-enriched "Direct link to enriched")

  **Default value:<!-- -->&#x20;**`false`

  Defaults to false, if true returns enriched cart details.

  **email**
  <!-- -->
  string[](#param-property-carts-list-param-query-email "Direct link to email")

  Filter the cart collections by the email address.

  **Example:<!-- -->&#x20;**`doe@example.com`

  **count**
  <!-- -->
  integer[](#param-property-carts-list-param-query-count "Direct link to count")

  **Default value:<!-- -->&#x20;**`50`

  Number of carts to retrieve.

<!-- -->

## Responses[​](#responses "Direct link to Responses")

* 200
* 400
* 401
* 402

Provides a collection of carts associated with the product. All carts are listed under the `carts` key.

application/json

**Schema**

**carts** <!-- -->object\[]

* Array \[

**id**string\<int64>[](#schema-property-carts-list-response-schema-id-string-int64 "Direct link to id")

The unique identifier of the entity.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**created**string\<date-time>[](#schema-property-carts-list-response-schema-created-string-date-time "Direct link to created")

The date and time the entity was created, under UTC timezone.

**Example:<!-- -->&#x20;**`2025-01-01 00:00:00`

**updated**string\<date-time>[](#schema-property-carts-list-response-schema-updated-string-date-time "Direct link to updated")nullable

The date and time the entity was updated, under UTC timezone. If `null` then the entity was never updated since its creation.

**Example:<!-- -->&#x20;**`2025-01-01 00:00:00`

**status**string[](#schema-property-carts-list-response-schema-status-string "Direct link to status")

**Default value:<!-- -->&#x20;**`visit`

The status of the cart.

**Possible values:** \[`pricing_visit`, `visit`, `abandoned`, `completed`, `email_1_sent`, `email_2_sent`, `email_3_sent`, `recovered`]

**mode**string[](#schema-property-carts-list-response-schema-mode-string "Direct link to mode")

**Default value:<!-- -->&#x20;**`dialog`

The mode the checkout app was opened in, when the cart was created. For example

* `dashboard`: The checkout was opened through our [WordPress SDK](https://freemius.com/help/documentation/wordpress-sdk/).
* `dialog`: The checkout was opened through our [JavaScript SDK](https://freemius.com/help/documentation/selling-with-freemius/freemius-checkout-buy-button/).
* `page`: The checkout was opened directly.

**Possible values:** \[`dashboard`, `dialog`, `page`]

**payment\_method**string[](#schema-property-carts-list-response-schema-payment-method-string "Direct link to payment_method")

**Default value:<!-- -->&#x20;**`cc`

The payment method selected for the purchase.

**Possible values:** \[`cc`, `paypal`, `ideal`]

**plugin\_id**string\<int64>[](#schema-property-carts-list-response-schema-plugin-id-string-int64 "Direct link to plugin_id")

The ID of the product the entity belongs to.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**plan\_id**string\<int64>[](#schema-property-carts-list-response-schema-plan-id-string-int64 "Direct link to plan_id")nullable

The ID of the plan associated with the entity.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**pricing\_id**string\<int64>[](#schema-property-carts-list-response-schema-pricing-id-string-int64 "Direct link to pricing_id")nullable

The ID of the pricing associated with the entity.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**is\_trial**boolean[](#schema-property-carts-list-response-schema-is-trial-boolean "Direct link to is_trial")

Whether the plan is a trial.

**billing\_cycle**number[](#schema-property-carts-list-response-schema-billing-cycle-number "Direct link to billing_cycle")

The billing cycle of the subscription in number of months. 1 means monthly, 12 means annually, 0 means lifetime usually when subscriptions are created for lifetime trials.

**Possible values:** \[`1`, `12`, `0`]

**install\_id**string\<int64>[](#schema-property-carts-list-response-schema-install-id-string-int64 "Direct link to install_id")nullable

The ID of the installation or site the entity is associated with, a `null` value means it has not been associated with an installation yet.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**coupon\_id**string\<int64>[](#schema-property-carts-list-response-schema-coupon-id-string-int64 "Direct link to coupon_id")nullable

The ID of the coupon associated with the entity.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**country\_code**string[](#schema-property-carts-list-response-schema-country-code-string "Direct link to country_code")nullable

The [ISO 3166-1 alpha 2](http://www.wikiwand.com/en/ISO_3166-1_alpha-2) two-letter country code associated with the entity.

**Example:<!-- -->&#x20;**`us`

**zip\_postal\_code**string[](#schema-property-carts-list-response-schema-zip-postal-code-string "Direct link to zip_postal_code")

The postal/zip code of the location.

**Example:<!-- -->&#x20;**`92710`

**vat\_id**string[](#schema-property-carts-list-response-schema-vat-id-string "Direct link to vat_id")nullable

The business VAT number (EU or UK territories) or other tax ID (for example Sales Tax ID for the US).

**Example:<!-- -->&#x20;**`GB12345678`

**user\_id**string\<int64>[](#schema-property-carts-list-response-schema-user-id-string-int64 "Direct link to user_id")nullable

The ID of the user the entity belongs to. If NULL then still not associated to any user.

**Possible values:** `>= 1`

**Example:<!-- -->&#x20;**`123456`

**email**string[](#schema-property-carts-list-response-schema-email-string "Direct link to email")

The prospect's email address.

**Example:<!-- -->&#x20;**`doe@example.com`

**first**string[](#schema-property-carts-list-response-schema-first-string "Direct link to first")

The prospect's first name.

**Example:<!-- -->&#x20;**`John`

**last**string[](#schema-property-carts-list-response-schema-last-string "Direct link to last")

The prospect's last name.

**Example:<!-- -->&#x20;**`Doe`

**ip**string\<ipv4|ipv6>[](#schema-property-carts-list-response-schema-ip-string-ipv4-ipv6 "Direct link to ip")

The IP address associated with the entity.

**Example:<!-- -->&#x20;**`0.0.0.0`

**url**string[](#schema-property-carts-list-response-schema-url-string "Direct link to url")

The page URL containing the checkout.

**Example:<!-- -->&#x20;**`https://example.com/pricing`

**environment**number[](#schema-property-carts-list-response-schema-environment-number "Direct link to environment")

The environment the entity belongs to. 0 means it belongs to the production environment, 1 means it belongs to the sandbox environment.

**Possible values:** \[`1`, `0`]

**Example:<!-- -->&#x20;**`0`

**is\_disabled**boolean[](#schema-property-carts-list-response-schema-is-disabled-boolean "Direct link to is_disabled")

**Default value:<!-- -->&#x20;**`false`

Cart supports [recovery campaign](https://freemius.com/help/documentation/marketing-automation/cart-abandonment-recovery/). If disabled, the recovery campaign will be stopped.

**is\_unsubscribed**boolean[](#schema-property-carts-list-response-schema-is-unsubscribed-boolean "Direct link to is_unsubscribed")

**Default value:<!-- -->&#x20;**`false`

If set to `true`, the cart recovery campaign will be non-functional and cannot be re-enabled. This happens if the prospect has clicked the "unsubscribe" link from any of the cart recovery emails.

**visited**string\<date-time>[](#schema-property-carts-list-response-schema-visited-string-date-time "Direct link to visited")nullable

The first time the prospect visited the checkout when the cart was being created.

**Example:<!-- -->&#x20;**`2025-01-01 00:00:00`

**completed**string\<date-time>[](#schema-property-carts-list-response-schema-completed-string-date-time "Direct link to completed")nullable

The cart completion date.

**Example:<!-- -->&#x20;**`2025-01-01 00:00:00`

**price**number\<float>[](#schema-property-carts-list-response-schema-price-number-float "Direct link to price")

The cart's original price.

**Example:<!-- -->&#x20;**`19.99`

**gross**number\<float>[](#schema-property-carts-list-response-schema-gross-number-float "Direct link to gross")nullable

Email of the user associated with the cart. (Only available when `enriched` is set to `true`.)

**Example:<!-- -->&#x20;**`359.64`

**coupon\_code**string[](#schema-property-carts-list-response-schema-coupon-code-string "Direct link to coupon_code")nullable

Coupon code associated with the cart. (Only available when `enriched` is set to `true`.)

**Example:<!-- -->&#x20;**`BLACKFRIDAY2024`

**licenses**number[](#schema-property-carts-list-response-schema-licenses-number "Direct link to licenses")nullable

Number of licenses associated with the cart. (Only available when `enriched` is set to `true`.)

**Example:<!-- -->&#x20;**`10`

* ]

Bad request. The request could not be understood by the server due to malformed syntax or arguments.

application/json

**Schema**

**path**string[](#schema-property-carts-list-response-schema-path-string "Direct link to path")

The API request path.

**Example:<!-- -->&#x20;**`:/products/product_id/users.json`

**error** <!-- -->object

This object contains the error details.

**type**string[](#schema-property-carts-list-response-schema-type-string "Direct link to type")

The type of the error encountered by the server.

**Example:<!-- -->&#x20;**`UnauthorizedAccess`

**message**string[](#schema-property-carts-list-response-schema-message-string "Direct link to message")

The descriptive error message.

**Example:<!-- -->&#x20;**`Some error has occured.`

**code**string[](#schema-property-carts-list-response-schema-code-string "Direct link to code")

The error code.

**Example:<!-- -->&#x20;**`unauthorized_access`

**http**integer[](#schema-property-carts-list-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

**Example:<!-- -->&#x20;**`401`

**timestamp**string[](#schema-property-carts-list-response-schema-timestamp-string "Direct link to timestamp")

Current timestamp.

**Example:<!-- -->&#x20;**`Thu, 11 May 2023 11:45:30 +0000`

**request** <!-- -->object

This object sends back the request payload as received by the server (both from path and from body or query).

**property name\***&#x61;ny[](#schema-property-carts-list-response-schema-property-name-any "Direct link to property name*")

This object sends back the request payload as received by the server (both from path and from body or query).

**Example:<!-- -->&#x20;**`{"beautify":true,"format":"json"}`

Unauthorized access error. The request requires [authentication](https://freemius.com/help/api/#bearer-token-authentication) but was not provided or the provided authentication does not satisfy the required permissions.

application/json

**Schema**

**path**string[](#schema-property-carts-list-response-schema-path-string "Direct link to path")

The API request path.

**Example:<!-- -->&#x20;**`:/products/product_id/users.json`

**error** <!-- -->object

This object contains the error details.

**type**string[](#schema-property-carts-list-response-schema-type-string "Direct link to type")

The type of the error encountered by the server.

**Example:<!-- -->&#x20;**`UnauthorizedAccess`

**message**string[](#schema-property-carts-list-response-schema-message-string "Direct link to message")

The descriptive error message.

**Example:<!-- -->&#x20;**`Some error has occured.`

**code**string[](#schema-property-carts-list-response-schema-code-string "Direct link to code")

The error code.

**Example:<!-- -->&#x20;**`unauthorized_access`

**http**integer[](#schema-property-carts-list-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

**Example:<!-- -->&#x20;**`401`

**timestamp**string[](#schema-property-carts-list-response-schema-timestamp-string "Direct link to timestamp")

Current timestamp.

**Example:<!-- -->&#x20;**`Thu, 11 May 2023 11:45:30 +0000`

**request** <!-- -->object

This object sends back the request payload as received by the server (both from path and from body or query).

**property name\***&#x61;ny[](#schema-property-carts-list-response-schema-property-name-any "Direct link to property name*")

This object sends back the request payload as received by the server (both from path and from body or query).

**Example:<!-- -->&#x20;**`{"beautify":true,"format":"json"}`

The request is missing the specified argument.

application/json

**Schema**

**path**string[](#schema-property-carts-list-response-schema-path-string "Direct link to path")

The API request path.

**Example:<!-- -->&#x20;**`:/products/product_id/users.json`

**error** <!-- -->object

This object contains the error details.

**type**string[](#schema-property-carts-list-response-schema-type-string "Direct link to type")

The type of the error encountered by the server.

**Example:<!-- -->&#x20;**`UnauthorizedAccess`

**message**string[](#schema-property-carts-list-response-schema-message-string "Direct link to message")

The descriptive error message.

**Example:<!-- -->&#x20;**`Some error has occured.`

**code**string[](#schema-property-carts-list-response-schema-code-string "Direct link to code")

The error code.

**Example:<!-- -->&#x20;**`unauthorized_access`

**http**integer[](#schema-property-carts-list-response-schema-http-integer "Direct link to http")

The HTTP status code returned by the server.

**Example:<!-- -->&#x20;**`401`

**timestamp**string[](#schema-property-carts-list-response-schema-timestamp-string "Direct link to timestamp")

Current timestamp.

**Example:<!-- -->&#x20;**`Thu, 11 May 2023 11:45:30 +0000`

**request** <!-- -->object

This object sends back the request payload as received by the server (both from path and from body or query).

**property name\***&#x61;ny[](#schema-property-carts-list-response-schema-property-name-any "Direct link to property name*")

This object sends back the request payload as received by the server (both from path and from body or query).

**Example:<!-- -->&#x20;**`{"beautify":true,"format":"json"}`
