Skip to Content
HelvetlyDocs
API referenceProducts

List products

Needs a token with the read:products scope (or write:products). Authentication

Try in Playground sends a real request to app.helvetly.com with a token you paste. It stays in this browser tab only (session storage) and goes to no one else.

GET
/api/v1/products

Products and services of the catalogue, paged.

Authorization

bearerAuth
headerAuthorizationBearer <token>

A personal API token, hvt_…, with scopes such as read:* or write:invoices

Query Parameters

page?integer

Page number, from 1.

Range1 <= value
Default1
page_size?integer

Items per page.

Range1 <= value <= 200
Default50
search?string

Matches name, SKU and description.

type?string

Products or services.

Value in"product""service"
status?string

Active or archived.

Default"active"
Value in"active""archived"
currency?string

Comma-separated ISO codes.

sort?string

One of name, sku, unit_price, created_at, updated_at; prefix - for descending. Default name.

Response Body

OK

application/json
  1. response
data*array<>
meta*

Paging of a list: page/page_size in, totals out.

Example Request
curl -X GET 'https://app.helvetly.com/api/v1/products'
Example Response
{  "data": [    {      "id": "string",      "type": "product",      "name": "string",      "description": "string",      "sku": "string",      "gtin": "string",      "unit": "string",      "price_basis": "string",      "unit_price": "1234.50",      "unit_price_net": "1234.50",      "unit_price_gross": "1234.50",      "currency": "string",      "vat_category": "string",      "vat_rate": "string",      "is_archived": true,      "archived_at": "2019-08-24T14:15:22Z",      "created_at": "2019-08-24T14:15:22Z",      "updated_at": "2019-08-24T14:15:22Z"    }  ],  "meta": {    "page": 0,    "page_size": 0,    "total": 0,    "total_pages": 0  }}