List inventory items (SKUs: variant x size stock-keeping units)
curl --request GET \
--url https://app.solya.app/api/inventory-items \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.solya.app/api/inventory-items"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.solya.app/api/inventory-items', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.solya.app/api/inventory-items",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.solya.app/api/inventory-items"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.solya.app/api/inventory-items")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.solya.app/api/inventory-items")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"code": "NK-AM90-WHT-42",
"createdAt": "2024-03-01T09:00:00.000Z",
"displayName": "Air Max 90 White / 42",
"fullName": "Nike Air Max 90 White — Size 42 — Paris Opéra",
"id": "inv-item-uuid-1",
"shopId": "shop-uuid-1",
"sku": "NK-AM90-WHT-42",
"stockQty": 42,
"taxonomySizeId": "size-uuid-42",
"updatedAt": "2026-05-10T14:22:00.000Z",
"variantId": "variant-uuid-a"
},
{
"code": "NK-AM90-WHT-43",
"createdAt": "2024-03-01T09:00:00.000Z",
"displayName": "Air Max 90 White / 43",
"fullName": "Nike Air Max 90 White — Size 43 — Paris Opéra",
"id": "inv-item-uuid-2",
"shopId": "shop-uuid-1",
"sku": "NK-AM90-WHT-43",
"stockQty": 17,
"taxonomySizeId": "size-uuid-43",
"updatedAt": "2026-05-10T14:22:00.000Z",
"variantId": "variant-uuid-b"
}
],
"meta": {
"page": 1,
"pageSize": 20,
"total": 347
}
}Inventory Items
List inventory items (SKUs: variant x size stock-keeping units)
Returns a paginated list of inventory items — the stock-keeping units (SKUs), i.e. the variant x size combinations that stock is tracked against. Filter by variant, shop, or free-text search (e.g. by SKU or name). Use this to look up a SKU or resolve an inventory-item identifier.
GET
/
api
/
inventory-items
List inventory items (SKUs: variant x size stock-keeping units)
curl --request GET \
--url https://app.solya.app/api/inventory-items \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.solya.app/api/inventory-items"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.solya.app/api/inventory-items', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.solya.app/api/inventory-items",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.solya.app/api/inventory-items"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.solya.app/api/inventory-items")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.solya.app/api/inventory-items")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"code": "NK-AM90-WHT-42",
"createdAt": "2024-03-01T09:00:00.000Z",
"displayName": "Air Max 90 White / 42",
"fullName": "Nike Air Max 90 White — Size 42 — Paris Opéra",
"id": "inv-item-uuid-1",
"shopId": "shop-uuid-1",
"sku": "NK-AM90-WHT-42",
"stockQty": 42,
"taxonomySizeId": "size-uuid-42",
"updatedAt": "2026-05-10T14:22:00.000Z",
"variantId": "variant-uuid-a"
},
{
"code": "NK-AM90-WHT-43",
"createdAt": "2024-03-01T09:00:00.000Z",
"displayName": "Air Max 90 White / 43",
"fullName": "Nike Air Max 90 White — Size 43 — Paris Opéra",
"id": "inv-item-uuid-2",
"shopId": "shop-uuid-1",
"sku": "NK-AM90-WHT-43",
"stockQty": 17,
"taxonomySizeId": "size-uuid-43",
"updatedAt": "2026-05-10T14:22:00.000Z",
"variantId": "variant-uuid-b"
}
],
"meta": {
"page": 1,
"pageSize": 20,
"total": 347
}
}Authorizations
User session token issued by NextAuth. For human users accessing Solya via the web application.
Query Parameters
Page number, 1-indexed (default: 1)
Required range:
1 <= x <= 9007199254740991Number of items per page, max 100 (default: 20)
Required range:
1 <= x <= 100Case-insensitive substring search query
Filter by variant ID
Filter by shop ID
Filter by brand ID
Filter by supplier ID (linked via order lines)
Filter by collection ID (linked via product variant)

