> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withorb.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Build your product catalog

Now that Orb can measure your usage, define what you're selling. This step lays the foundation of your revenue design. Everything downstream—from plans and subscriptions to invoices, revenue reports, and third-party integrations—connects back to the products and prices you create here.

## Create your products

A product is a representation of what you sell. It's not necessarily a standalone offering, but a distinct billable component of one, such as "API Requests," "Storage GB," or "Premium Support." Every price in Orb is attached to a product, and your finance team will slice revenue by product in reporting.

1. Go to "Pricing & Packaging" in the left nav, and navigate to the "Products" tab.
2. Click "Add a product" in the top right.
3. Enter a product name (e.g. "API Requests").
4. *(Optional)* Configure external mappings, which link the product to your downstream systems (NetSuite, QuickBooks, Stripe, Anrok, Avalara, and more) and ensure every invoice line item for the product flows into them correctly.
5. Click "Save".

> [!TIP]
>
> You can skip mappings to start. Products will display a "Needs setup" status as a reminder, but you can configure them before going live with any integration. See [integrations and exports](/integrations-and-exports/introduction).

### Creating your product via API

```bash theme={null}
curl --location --request POST 'https://api.withorb.com/v1/items' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "API Requests"
}'
```

The response includes the product ID; save it for the next step.

```json theme={null}
{
  "id": "FokuQWB7anejWA9g",
  "name": "API Requests",
  "created_at": "2026-10-18T06:07:10+00:00",
  "archived_at": null,
  "external_connections": [],
  "metadata": {}
}
```

> [!TIP]
>
> Products are referenced as items in the Orb API. This reflects the original name for this object and is stable; a product in the UI and an item in the API are the same thing.

## Add prices to your products

A price defines how a product is charged: the rate, pricing model, and cadence.

1. Open the product you just created (e.g. "API Requests").
2. Click "Add a price".
3. Choose a price type: usage-based for metered charges, or fixed fee for flat recurring charges.
4. Enter a price name. This name becomes the line item label on customer invoices, so write it the way you'd want a customer to read it.
5. For a usage-based price, select the "Count all events" billable metric created in [the metrics guide](/quickstart/metrics) and set the "Per unit" rate to 3.00 USD.
6. Click "Create".

The price now lives in your pricebook, attached to its product. A price in Orb is defined once and referenced everywhere it's used.

How you divide prices between products is worth a moment of thought, because a product is more than a label. Every price attached to a product shares that product's external mappings, tax treatment, and revenue reporting category.

Keep prices on the same product when you're selling the same thing on different terms: regional rates, currencies, or contract tiers. However many rates "API Requests" carries, finance sees one revenue category and every invoice line maps to the same downstream item.

Split into separate products when the charges differ downstream: a different tax treatment, a different item in NetSuite or QuickBooks, or revenue you want to attribute separately in reporting.

> [!TIP]
>
> A useful rule of thumb: split products along the lines your finance systems care about; split prices along the lines your deals care about.

### Adding a price to the product via API

You'll need the billable metric ID from the [metrics guide](/quickstart/metrics). Grab it from the metric's page in the app or via `GET /v1/metrics`.

```bash theme={null}
curl --location --request POST 'https://api.withorb.com/v1/prices' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "API Requests",
    "item_id": "FokuQWB7anejWA9g",
    "billable_metric_id": "<METRIC_ID>",
    "model_type": "unit",
    "unit_config": { "unit_amount": "3.00" },
    "cadence": "monthly",
    "currency": "USD"
}'
```

The response returns the price's `id`: the canonical, shared price that plans will reference. Save it for the plan guide.

Once created, catalog prices are discoverable via the API as well: `GET /v1/prices` lists the prices in your pricebook, whether they were created in the webapp or via the API, and accepts a `product_id` query parameter to filter to a single product's prices. To retire a price, `POST /v1/prices/<price_id>/archive`; archiving hides the price from your catalog without changing any plans or subscriptions that already use it, and `POST /v1/prices/<price_id>/unarchive` restores it.

## Add a fixed fee

Alongside usage charges, we'd also like to charge a \$1,000 platform fee that is paid in-advance, which means customers pay this fee for the upcoming month in every cycle. In Orb, this is a fixed fee, which can be configured to bill in-advance or in-arrears.

Repeat the steps above to create a second product named "Platform access", then add a price to it: choose the fixed fee price type, name it "Platform access fee", set the amount to \$1,000 per month, and click "Create".

Via the API, a fixed fee is the same price creation call with no `billable_metric_id`: set the flat amount in `unit_config`, a `fixed_price_quantity` of 1, and whether the fee bills in advance.

```bash theme={null}
curl --location --request POST 'https://api.withorb.com/v1/prices' \
--header 'Authorization: Bearer <TOKEN>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "Platform access fee",
    "item_id": "<PLATFORM_ACCESS_ITEM_ID>",
    "model_type": "unit",
    "unit_config": { "unit_amount": "1000.00" },
    "fixed_price_quantity": 1,
    "billed_in_advance": true,
    "cadence": "monthly",
    "currency": "USD"
}'
```

This guide took the quickest path through the catalog. For the concepts behind products and prices, including how products anchor revenue reporting and downstream integrations, see [Pricebook core concepts](/pricebook/core-concepts). For every way to build and maintain the catalog, including external mappings and product statuses, see [Building your product catalog and pricebook](/pricebook/building).

You now have a product catalog with shared prices. Next, let's package them into a plan.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.