---
title: "Get one add-on or charge ↔ plan applicability"
description: "source is attached (an explicit link), differential (implied by a plan-specific price) or all (the add-on applies to every plan)."
canonical_url: "https://twominutebilling.com/help/developers/api-reference/catalog/get-one-add-on-or-charge-plan-applicability"
---
# Get one add-on or charge ↔ plan applicability

> source is attached (an explicit link), differential (implied by a plan-specific price) or all (the add-on applies to every plan).

<api-operation method="GET" path="/v1/businesses/{biz}/products/{prod}/applicable_plans/{plan}">
<template v-slot:docs="">

`source` is `attached` (an explicit link), `differential` (implied by a plan-specific price) or `all` (the add-on applies to every plan).

## Path parameters

<table>
<thead>
  <tr>
    <th>
      Parameter
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Required
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        biz
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      <strong>
        yes
      </strong>
    </td>
    
    <td>
      Business id (biz_…)
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        prod
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      <strong>
        yes
      </strong>
    </td>
    
    <td>
      The product's id (a slug id, e.g. <code>
        pro
      </code>
      
      ).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        plan
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      <strong>
        yes
      </strong>
    </td>
    
    <td>
      The id of the plan product (a slug id, e.g. <code>
        pro
      </code>
      
      ).
    </td>
  </tr>
</tbody>
</table>

## Response

<table>
<thead>
  <tr>
    <th>
      Field
    </th>
    
    <th>
      Type
    </th>
    
    <th>
      Description
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        object
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The object type.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        item
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The attached add-on or charge product
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        plan
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The plan's product id (a slug id, e.g. <code>
        pro
      </code>
      
      ).
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        kind
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The attached item's kind. One of <code>
        addon
      </code>
      
      , <code>
        charge
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        active
      </code>
    </td>
    
    <td>
      <code>
        boolean
      </code>
    </td>
    
    <td>
      True if the attached item is active.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        source
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      Whether the item is attached directly or through a differential price. One of <code>
        attached
      </code>
      
      , <code>
        differential
      </code>
      
      , <code>
        all
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        applicability
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      How the plan treats the item: mandatory, recommended or optional. One of <code>
        mandatory
      </code>
      
      , <code>
        recommended
      </code>
      
      , <code>
        optional
      </code>
      
      .
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        charge_on_event
      </code>
    </td>
    
    <td>
      <code>
        string
      </code>
    </td>
    
    <td>
      The event that charges the item.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        charge_once
      </code>
    </td>
    
    <td>
      <code>
        boolean
      </code>
    </td>
    
    <td>
      True if the item is charged once instead of every period.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        default_quantity
      </code>
    </td>
    
    <td>
      <code>
        integer
      </code>
    </td>
    
    <td>
      The quantity used when none is given.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        billing_cycles
      </code>
    </td>
    
    <td>
      <code>
        integer
      </code>
    </td>
    
    <td>
      How many billing cycles the item is charged for.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        min_quantity
      </code>
    </td>
    
    <td>
      <code>
        integer
      </code>
    </td>
    
    <td>
      Portal-only minimum.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        max_quantity
      </code>
    </td>
    
    <td>
      <code>
        integer
      </code>
    </td>
    
    <td>
      Portal-only maximum.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        quantity_step
      </code>
    </td>
    
    <td>
      <code>
        integer
      </code>
    </td>
    
    <td>
      Portal-only quantity step.
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        customer_can_change_quantity
      </code>
    </td>
    
    <td>
      <code>
        boolean
      </code>
    </td>
    
    <td>
      Whether customers can change the quantity in the portal.
    </td>
  </tr>
</tbody>
</table>

## Status codes

<table>
<thead>
  <tr>
    <th>
      Status
    </th>
    
    <th>
      Meaning
    </th>
  </tr>
</thead>

<tbody>
  <tr>
    <td>
      <code>
        200
      </code>
    </td>
    
    <td>
      Success
    </td>
  </tr>
  
  <tr>
    <td>
      <code>
        404
      </code>
    </td>
    
    <td>
      No such plan, or the item does not apply to it
    </td>
  </tr>
</tbody>
</table>
</template>

<template v-slot:request="">

```bash [Request]
curl "$TMBILLING_URL/v1/businesses/biz_XXXXXXXXXXXX01/products/pro/applicable_plans/pro-monthly-usd" \
  -H "Authorization: Bearer $TMBILLING_API_KEY"
```

</template>

<template v-slot:response="">
<code-group>

```json [200 OK]
{
  "object": "attached_item",
  "item": "si_XXXXXXXXXXXX01",
  "plan": "pro-monthly-usd",
  "kind": "addon",
  "active": false,
  "source": "attached",
  "applicability": "mandatory",
  "charge_on_event": "subscription_creation",
  "charge_once": false,
  "default_quantity": 1,
  "billing_cycles": 1,
  "min_quantity": 1,
  "max_quantity": 1,
  "quantity_step": 1,
  "customer_can_change_quantity": false
}
```

```json [404 Not Found]
{
  "error": {
    "type": "invalid_request_error",
    "message": "No such plan, or the item does not apply to it"
  }
}
```

</code-group>
</template>
</api-operation>


## Sitemap

See the full [sitemap](https://twominutebilling.com/sitemap.md) for all pages.
