API Reference

Items API

Create, list, update, and delete items in your Rebill catalog via the API. Items are reusable products and services that speed up invoice and quote creation.

Last updated

Items are reusable products and services that can be selected when building invoices and quotes. Maintaining a catalog speeds up document creation and keeps your pricing consistent.

List items

GET /item
curl https://api.rebill.co.za/item \
  -H "Authorization: Bearer sk_your_secret_key"

Response:

{
  "items": [
    {
      "id": "itm001",
      "name": "Web design",
      "description": "Custom website design",
      "price": 500000,
      "vat_type": "standard"
    }
  ]
}

Get an item

GET /item/:id

Returns a single item by ID.

Item object

FieldTypeDescription
idstringUnique identifier
namestringItem name
descriptionstringItem description
priceintegerDefault unit price in cents
vat_typestringnone · standard · zero_rated · exempt

Create an item

POST /item
FieldRequiredTypeDescription
nameYesstringItem name
priceYesintegerDefault unit price in cents, must be greater than 0
descriptionNostringItem description
vat_typeNostringnone (default) · standard · zero_rated · exempt
curl -X POST https://api.rebill.co.za/item \
  -H "Authorization: Bearer sk_your_secret_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Web design",
    "description": "Custom website design and development",
    "price": 500000,
    "vat_type": "standard"
  }'

Response (201 Created):

{
  "id": "itm001"
}

Free plan accounts are limited to 4 catalog items. Attempting to create more returns 402 Payment Required.

Update an item

PUT /item/:id

Updates an item. Accepts the same fields as create. Send all fields; omitted fields will be cleared.

Delete an item

DELETE /item/:id

Permanently deletes an item from your catalog. Existing invoices and quotes that reference this item are unaffected. Returns 200 OK on success.

Item price history

GET /item/:id/price-history

Scans your non-draft quotes for line items that reference this item and returns each match (newest first) plus a summary. Useful for seeing how a catalog item's price has moved across quotes over time.

curl https://api.rebill.co.za/item/itm001/price-history \
  -H "Authorization: Bearer sk_your_secret_key"

Response:

{
  "item_name": "Web design",
  "summary": {
    "count": 3,
    "last_price": 550000,
    "average_price": 520000,
    "min_price": 500000,
    "max_price": 550000
  },
  "rows": [
    {
      "quote_id": "q001",
      "quote_number": "Q0001",
      "client_id": "xyz789",
      "client_name": "Acme Corp",
      "status": "accepted",
      "unit_price": 550000,
      "quantity": 1,
      "quote_date": "2026-03-01T00:00:00Z"
    }
  ]
}

Prices are summed and compared across currencies as a simplification; if you sell this item in multiple currencies the summary mixes them.

Was this article helpful?

Still need help?

Our support team is happy to help you get the most out of Rebill.

Contact support