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

# Products

> Manage your item catalog - products and services, pricing, taxes, and units.

Products (items) are what you sell and buy. They appear as `items` on every [document](/document), and stocked products are tracked by [Inventory](/inventory).

## The item model

Items use the same ID model as [customers](/customer): every call carries **your** `item_id`, unknown IDs are auto-created (including inline during document creation), and [Update items mapping](/api-reference/product-v2/update-items-mapping) re-links your IDs in bulk if they change.

The fields that matter most:

* `item_type` — `Product` (stocked, tracked by inventory) or `Service`
* `unit_price`, `tax_rate`, `price_with_tax` — pricing with GST; only valid GST tax rates are accepted
* `hsn_code` — the HSN/SAC code that GST compliance (and e-invoicing) relies on
* `unit` — a GST-approved UQC unit such as `kg`, `pcs`, `mtr`

## Add an item

```bash theme={null}
curl --request POST \
  --url https://app.getswipe.in/api/partner/v2/product \
  --header "Authorization: Bearer YOUR_API_KEY" \
  --header "Content-Type: application/json" \
  --data '{
    "id": "ITEM001",
    "item_type": "Product",
    "name": "Test Product",
    "unit_price": 100.0,
    "tax_rate": 18.0,
    "price_with_tax": 118.0,
    "hsn_code": "8517",
    "unit": "pcs"
  }'
```

<Note>
  Item details sent inside a document apply to that document only — they never
  overwrite the catalog record. To change the master record, use [Update an
  item](/api-reference/product-v2/update-an-item).
</Note>

<Frame caption="The product catalog in the Swipe dashboard">
  <img src="https://mintcdn.com/swipe/TNGTRFRYClr_ZLaq/images/screenshots/all_product.png?fit=max&auto=format&n=TNGTRFRYClr_ZLaq&q=85&s=84bdddfae64de18444d298f9bcac7598" alt="Products and services list in the Swipe dashboard" width="1893" height="903" data-path="images/screenshots/all_product.png" />
</Frame>

## Endpoints

<CardGroup cols={2}>
  <Card title="Add an item" icon="plus" href="/api-reference/product-v2/add-an-item">
    Create an item with your own ID.
  </Card>

  <Card title="Get item details" icon="magnifying-glass" href="/api-reference/product-v2/get-item-details">
    Fetch one item by your `item_id`.
  </Card>

  <Card title="Update an item" icon="pen" href="/api-reference/product-v2/update-an-item">
    Change the catalog record.
  </Card>

  <Card title="Delete an item" icon="trash" href="/api-reference/product-v2/delete-an-item">
    Remove an item from the catalog.
  </Card>

  <Card title="Get list of items" icon="list" href="/api-reference/product-v2/get-list-of-items">
    Page through the catalog.
  </Card>

  <Card title="Update items mapping" icon="link" href="/api-reference/product-v2/update-items-mapping">
    Re-link your IDs to Swipe records in bulk.
  </Card>
</CardGroup>

Tracking stock levels too? Continue to [Inventory](/inventory).
