---
title: "List all available add-ons for plan"
method: GET
path: "/api/v1/plans/{planId}/addons"
tags: ["Product Catalog"]
---

# List all available add-ons for plan

`GET /api/v1/plans/{planId}/addons`

List all available add-ons for plan.

## Path parameters

- `planId` string, required

## Query parameters

- `includeDeleted` boolean
- `id` string[]
- `key` string[]
- `keyVersion` object
- `page` integer
- `pageSize` integer
- `order` 'ASC' | 'DESC' — The order direction.
- `orderBy` 'id' | 'key' | 'version' | 'created_at' | 'updated_at' — Order by options for plan add-on assignments.

## Response `200`

The request has succeeded.

- PlanAddonPaginatedResponse — Paginated response
  - `totalCount` integer, required — The total number of items.
  - `page` integer, required — The page index.
  - `pageSize` integer, required — The maximum number of items per page.
  - `items` PlanAddon[], required — The items in the current page.
    - `createdAt` string, date-time, required — Timestamp of when the resource was created.
    - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
    - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
    - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
    - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
    - `addon` Addon, required — Add-on allows extending subscriptions with compatible plans with additional ratecards.
      - `id` string, required — A unique identifier for the resource.
      - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
      - `description` string — Optional description of the resource. Maximum 1024 characters.
      - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
      - `createdAt` string, date-time, required — Timestamp of when the resource was created.
      - `updatedAt` string, date-time, required — Timestamp of when the resource was last updated.
      - `deletedAt` string, date-time — Timestamp of when the resource was permanently deleted.
      - `key` string, required — A semi-unique identifier for the resource.
      - `annotations` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
      - `version` integer, required — Version of the add-on. Incremented when the add-on is updated.
      - `instanceType` 'single' | 'multiple', required — The instanceType of the add-on. Single instance add-ons can be added to subscription only once while add-ons with multiple type can be added more then once.
      - `currency` string, required — Three-letter [ISO4217](https://www.iso.org/iso-4217-currency-codes.html) currency code. Custom three-letter currency codes are also supported for convenience.
      - `effectiveFrom` string, date-time — The date and time when the add-on becomes effective. When not specified, the add-on is a draft.
      - `effectiveTo` string, date-time — The date and time when the add-on is no longer effective. When not specified, the add-on is effective indefinitely.
      - `status` 'draft' | 'active' | 'archived', required — The status of the add-on defined by the effectiveFrom and effectiveTo properties.
      - `rateCards` RateCard[], required — The rate cards of the add-on.
        - union — A rate card defines the pricing and entitlement of a feature or service.
          - object — A flat fee rate card defines a one-time purchase or a recurring fee.
            - `type` 'flat_fee', required — The type of the RateCard.
            - `key` string, required — A semi-unique identifier for the resource.
            - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
            - `description` string — Optional description of the resource. Maximum 1024 characters.
            - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
            - `featureKey` string — The feature the customer is entitled to use.
            - `entitlementTemplate` union — Entitlement templates are used to define the entitlements of a plan. Features are omitted from the entitlement template, as they are defined in the rate card.
              - …
            - `taxConfig` TaxConfig — Set of provider specific tax configs.
              - …
            - `billingCadence` string, duration, nullable, required — The billing cadence of the rate card. When null it means it is a one time fee.
            - `price` FlatPriceWithPaymentTerm, required — Flat price with payment term.
              - …
            - `discounts` Discounts — Discount by type on a price
              - …
          - object — A usage-based rate card defines a price based on usage.
            - `type` 'usage_based', required — The type of the RateCard.
            - `key` string, required — A semi-unique identifier for the resource.
            - `name` string, required — Human-readable name for the resource. Between 1 and 256 characters.
            - `description` string — Optional description of the resource. Maximum 1024 characters.
            - `metadata` Metadata — Set of key-value pairs. Metadata can be used to store additional information about a resource.
            - `featureKey` string — The feature the customer is entitled to use.
            - `entitlementTemplate` union — Entitlement templates are used to define the entitlements of a plan. Features are omitted from the entitlement template, as they are defined in the rate card.
              - …
            - `taxConfig` TaxConfig — Set of provider specific tax configs.
              - …
            - `billingCadence` string, duration, required — The billing cadence of the rate card.
            - `price` union, required — The price of the usage based rate card.
              - …
            - `discounts` Discounts — Discount by type on a price
              - …
      - `validationErrors` ValidationError[], nullable, required — List of validation errors.
        - `field` string, required — The path to the field.
        - `code` string, required — The machine readable description of the error.
        - `message` string, required — The human readable description of the error.
        - `attributes` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.
    - `fromPlanPhase` string, required — The key of the plan phase from the add-on becomes available for purchase.
    - `maxQuantity` integer — The maximum number of times the add-on can be purchased for the plan. It is not applicable for add-ons with single instance type.
    - `validationErrors` ValidationError[], nullable, required — List of validation errors.
      - `field` string, required — The path to the field.
      - `code` string, required — The machine readable description of the error.
      - `message` string, required — The human readable description of the error.
      - `attributes` Annotations — Set of key-value pairs managed by the system. Cannot be modified by user.

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error (e.g., malformed request syntax, invalid request message framing, or deceptive request routing).
- `401` — The request has not been applied because it lacks valid authentication credentials for the target resource.
- `403` — The server understood the request but refuses to authorize it.
- `404` — The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.
- `412` — One or more conditions given in the request header fields evaluated to false when tested on the server.
- `500` — The server encountered an unexpected condition that prevented it from fulfilling the request.
- `503` — The server is currently unable to handle the request due to a temporary overload or scheduled maintenance, which will likely be alleviated after some delay.
- `default` — An unexpected error response.

---

[API](https://skmtc.net/openmeterio/apis/openmeter-api.md) · [All operations](https://skmtc.net/openmeterio/apis/openmeter-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/openmeterio/openmeter-api/versions/927d82ffe647/schema)
