---
title: "Get add-on assignment for plan"
method: GET
path: "/api/v1/plans/{planId}/addons/{planAddonId}"
tags: ["Product Catalog"]
---

# Get add-on assignment for plan

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

Get add-on assignment for plan by id.

## Path parameters

- `planId` string, required
- `planAddonId` string, required

## Response `200`

The request has succeeded.

- PlanAddon — The PlanAddon describes the association between a plan and add-on.
  - `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.
            - object — The entitlement template with a metered entitlement.
              - …
            - object — Entitlement template of a static entitlement.
              - …
            - object — Entitlement template of a boolean entitlement.
              - …
          - `taxConfig` TaxConfig — Set of provider specific tax configs.
            - `behavior` 'inclusive' | 'exclusive' — Tax behavior. This enum is used to specify whether tax is included in the price or excluded from the price.
            - `stripe` StripeTaxConfig — The tax config for Stripe.
              - …
            - `customInvoicing` CustomInvoicingTaxConfig — Custom invoicing tax config.
              - …
            - `taxCodeId` string — Tax code reference. When both `taxCodeId` and `stripe.code` are provided, `taxCodeId` takes precedence: the referenced tax code entity is used and `stripe.code` is ignored.
          - `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.
            - `type` 'flat', required — The type of the price.
            - `amount` string, required — Numeric represents an arbitrary precision number.
            - `paymentTerm` 'in_advance' | 'in_arrears' — The payment term of a flat price. One of: in_advance or in_arrears.
          - `discounts` Discounts — Discount by type on a price
            - `percentage` DiscountPercentage — Percentage discount.
              - …
            - `usage` DiscountUsage — Usage discount. Usage discount means that the first N items are free. From billing perspective this means that any usage on a specific feature is considered 0 until this discount is exhausted.
              - …
        - 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.
            - object — The entitlement template with a metered entitlement.
              - …
            - object — Entitlement template of a static entitlement.
              - …
            - object — Entitlement template of a boolean entitlement.
              - …
          - `taxConfig` TaxConfig — Set of provider specific tax configs.
            - `behavior` 'inclusive' | 'exclusive' — Tax behavior. This enum is used to specify whether tax is included in the price or excluded from the price.
            - `stripe` StripeTaxConfig — The tax config for Stripe.
              - …
            - `customInvoicing` CustomInvoicingTaxConfig — Custom invoicing tax config.
              - …
            - `taxCodeId` string — Tax code reference. When both `taxCodeId` and `stripe.code` are provided, `taxCodeId` takes precedence: the referenced tax code entity is used and `stripe.code` is ignored.
          - `billingCadence` string, duration, required — The billing cadence of the rate card.
          - `price` union, required — The price of the usage based rate card.
            - object — Flat price with payment term.
              - …
            - object — Unit price with spend commitments.
              - …
            - object — Tiered price with spend commitments.
              - …
            - object — Dynamic price with spend commitments.
              - …
            - object — Package price with spend commitments.
              - …
          - `discounts` Discounts — Discount by type on a price
            - `percentage` DiscountPercentage — Percentage discount.
              - …
            - `usage` DiscountUsage — Usage discount. Usage discount means that the first N items are free. From billing perspective this means that any usage on a specific feature is considered 0 until this discount is exhausted.
              - …
    - `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)
