# List plans by product (no auth)

Endpoint: GET /api/public/v1/projects/{project_id}/products/{productId}/user_plans
Version: 2.0

## Query parameters:

  - `plan_id` (array)

  - `plan_external_id` (array)

  - `limit` (integer)

  - `offset` (integer)

  - `locale` (string)

  - `country` (string)

## Path parameters:

  - `project_id` (integer, required)

  - `productId` (string, required)

## Response 200 fields (application/json):

  - `has_more` (boolean, required)
    Example: "false"

  - `items` (array)

  - `items.charge` (object, required)

  - `items.charge.amount` (number, required)
    Example: 4.99

  - `items.charge.currency` (string, required)
    Example: "USD"

  - `items.charge.setup_fee` (number, required)
    Example: 0.99

  - `items.period` (object, required)

  - `items.period.unit` (string,null)
    Example: "month"

  - `items.period.value` (integer,null)
    Example: "1"

  - `items.plan_description` (string, required)
    Example: "Localized plan description"

  - `items.plan_end_date` (string,null)
    Example: "2031-04-11T13:51:02+03:00"

  - `items.plan_external_id` (string, required)
    Example: "PlanExternalId"

  - `items.plan_group_id` (string,null)
    Example: "TestGroupId"

  - `items.plan_id` (integer, required)
    Example: "54321"

  - `items.plan_name` (string, required)
    Example: "Localized plan name"

  - `items.plan_start_date` (string,null)
    Example: "2021-04-11T13:51:02+03:00"

  - `items.plan_type` (string, required)
    Example: "all"

  - `items.promotion` (object, required)

  - `items.promotion.promotion_charge_amount` (number,null)
    Example: "3.99"

  - `items.promotion.promotion_remaining_charges` (integer,null)
    Example: "3"

  - `items.trial_period` (integer,null)
    Example: "7"


