Products
Product catalog and inventory management.
150If not set, sort will be defaulted as name (ASC)
-namePRODUCTPossible values: lesqReturns a PaginatedProductCollection
Returns an ErrorDto in case there is not enough privileges to perform this action
GET /apis/v2/pos/products HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"items": [
{
"id": "text",
"brandName": "text",
"name": "text",
"description": "text",
"sku": "text",
"upc": "text",
"status": "ACTIVE",
"price": 1,
"cost": 1,
"salesType": "PRODUCT",
"category": {
"id": "text"
},
"subcategory": {
"id": "text"
},
"picture": {
"id": "text"
},
"createdBy": {
"id": "text"
},
"updatedBy": {
"id": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"offerings": {
"_total": 1
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {}
}
],
"_total": 1,
"_pagination": {
"page": 1,
"ipp": 1,
"count": 1,
"total": 1
},
"_links": {
"self": {
"href": "text"
}
}
}Returns a Product
Returns an ErrorDto in case there is not enough privileges to perform this action
Returns an error
POST /apis/v2/pos/products HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 229
{
"brandName": "text",
"name": "text",
"description": "text",
"sku": "text",
"upc": "text",
"status": "ACTIVE",
"price": 1,
"cost": 1,
"salesType": "PRODUCT",
"category": {
"id": "text"
},
"subcategory": {
"id": "text"
},
"picture": {
"id": "text"
},
"_links": {}
}{
"id": "text",
"brandName": "text",
"name": "text",
"description": "text",
"sku": "text",
"upc": "text",
"status": "ACTIVE",
"price": 1,
"cost": 1,
"salesType": "PRODUCT",
"category": {
"id": "text"
},
"subcategory": {
"id": "text"
},
"picture": {
"id": "text"
},
"createdBy": {
"id": "text"
},
"updatedBy": {
"id": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"offerings": {
"_total": 1
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {}
}Returns a streamable file
No content
Returns an ErrorDto in case there is not enough privileges to perform this action
POST /apis/v2/pos/products/export HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Returns a Product
Returns an ErrorDto in case there is not enough privileges to perform this action
Product not found
GET /apis/v2/pos/products/{productId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
{
"id": "text",
"brandName": "text",
"name": "text",
"description": "text",
"sku": "text",
"upc": "text",
"status": "ACTIVE",
"price": 1,
"cost": 1,
"salesType": "PRODUCT",
"category": {
"id": "text"
},
"subcategory": {
"id": "text"
},
"picture": {
"id": "text"
},
"createdBy": {
"id": "text"
},
"updatedBy": {
"id": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"offerings": {
"_total": 1
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {}
}Product deleted successfully
No content
Returns an ErrorDto in case there is not enough privileges to perform this action
Product not found
DELETE /apis/v2/pos/products/{productId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Accept: */*
No content
Returns a Product
Returns an ErrorDto in case there is not enough privileges to perform this action
Product not found
PATCH /apis/v2/pos/products/{productId} HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: application/json
Accept: */*
Content-Length: 229
{
"brandName": "text",
"name": "text",
"description": "text",
"sku": "text",
"upc": "text",
"status": "ACTIVE",
"price": 1,
"cost": 1,
"salesType": "PRODUCT",
"category": {
"id": "text"
},
"subcategory": {
"id": "text"
},
"picture": {
"id": "text"
},
"_links": {}
}{
"id": "text",
"brandName": "text",
"name": "text",
"description": "text",
"sku": "text",
"upc": "text",
"status": "ACTIVE",
"price": 1,
"cost": 1,
"salesType": "PRODUCT",
"category": {
"id": "text"
},
"subcategory": {
"id": "text"
},
"picture": {
"id": "text"
},
"createdBy": {
"id": "text"
},
"updatedBy": {
"id": "text"
},
"createdAt": "2026-01-01T00:00:00.000Z",
"updatedAt": "2026-01-01T00:00:00.000Z",
"offerings": {
"_total": 1
},
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
],
"_links": {}
}Returns a ProductImportSummary
Returns an ErrorDto if the file is not a valid CSV
Returns an ErrorDto in case there is not enough privileges to perform this action
Returns an error
POST /apis/v2/pos/products/import HTTP/1.1
Authorization: Bearer YOUR_SECRET_TOKEN
Content-Type: multipart/form-data
Accept: */*
Content-Length: 17
{
"file": "binary"
}{
"imported": 1,
"updated": 1,
"failed": 1,
"errors": [
{
"code": "text",
"message": "text",
"details": {}
}
]
}Last updated
Was this helpful?

