Skip to main content
The products API lets you build a catalog of the goods and services you sell. Once you create a product, you can reference it by ID when adding line items to invoices or building checkout links — saving you from re-entering details each time. Products support physical goods, digital downloads, and services, with optional tax and discount configuration. All routes require authentication.

Product object

string
Unique product identifier (UUID).
string
Product name.
string
Optional description of the product (up to 2,000 characters).
string
Product type. One of physical, digital, or service.
number
Unit price in the product’s currency.
string
Currency of the price. One of NGN or USD. Defaults to your account’s default currency.
string
One of active, inactive, or archived. Only active products can be used in new invoices and checkout links.
number
Optional stock count. null means unlimited stock.
array
Up to 10 image URLs associated with this product.
string
How tax is applied: none, percentage, or fixed.
number
Tax amount. Interpreted as a percentage when tax_type is percentage, or as a fixed currency amount when fixed.
string
How discounts are applied: none, percentage, or fixed.
number
Discount amount. Interpreted as a percentage or fixed amount depending on discount_type.
string
ISO 8601 creation timestamp.
string
ISO 8601 last-updated timestamp.

Create a product

Request body

string
required
Product name. Maximum 255 characters.
string
Optional product description. Maximum 2,000 characters.
string
Product type: physical, digital, or service.
number
required
Unit price. Must be a positive number.
string
NGN or USD. Defaults to your account currency.
number
Stock count. Omit for unlimited stock.
array
Array of image URLs. Maximum 10 items.
string
none, percentage, or fixed. Defaults to none.
number
Tax amount. Required when tax_type is not none.
string
none, percentage, or fixed. Defaults to none.
number
Discount amount. Required when discount_type is not none.

Example

Returns 201 Created with the new product object.

List products

Returns a paginated list of your products.

Query parameters

string
Filter by status: active, inactive, or archived.
Full-text search across product names.
number
Page number (1-indexed). Defaults to 1.
number
Results per page. Maximum 100.

Example


Get a product

Retrieve a single product by its UUID.

Path parameters

string
required
UUID of the product.

Example


Update a product

Update one or more fields on an existing product. Only the fields you include in the request body are modified.

Path parameters

string
required
UUID of the product to update.

Request body

All fields are optional. You can update status to archived to retire a product without deleting it.
string
New product name.
string
New description. Pass null to clear it.
string
physical, digital, or service.
string
active, inactive, or archived.
number
New unit price.
string
NGN or USD.
number
Updated stock count. Pass null for unlimited.

Example


Delete a product

Permanently deletes a product. This action cannot be undone. Consider setting status to archived instead if you want to retain historical data.

Path parameters

string
required
UUID of the product to delete.

Example

Returns 200 OK on success.