Products
Products describe the goods and services your business can sell. Create a product first, then use its returned id when requesting an invoice.
Create a product
POST /CatalogItem/create creates a product, service, or subscription in the authenticated business catalog.
Request body
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Customer-facing item name. |
price | number | Yes | Selling price. Must be greater than zero. |
quantity | number | No | Starting inventory quantity. Defaults to 0. |
description | string | No | A short description of the item. |
min_stock | number | No | Inventory level at which the item is considered low in stock. |
cost_price | number | No | Internal cost price. Must be zero or greater. |
picture | string | No | File name of an image uploaded beforehand. |
parent_id | ID | No | ID of the parent product when creating a variant. |
type | string | No | product, service, or subscription. Defaults to product. |
subscription_interval_days | number | Conditional | Billing interval in days when type is subscription. |
The request and response panel shows a complete product example. Store the returned data.id; it becomes the product_id in invoice line items.
Validation and errors
Xara checks the required fields and number values before creating the item. Invalid product data returns 422. A missing or invalid API token returns an authentication error.
Retrieve products
GET /CatalogItem/getAll retrieves catalog items for the authenticated business.
Pass type=product to retrieve products only:
curl --request GET \
--url 'https://graph.usexara.ai/rest/CatalogItem/getAll?type=product' \
--header 'Authorization: Bearer YOUR_API_TOKEN'
The optional type filter accepts product, service, ticket, or subscription. When omitted, Xara returns all active catalog items except tickets, ordered from newest to oldest.

