curl --request GET \
--url https://api.exowpee.com/v1/catalog/stockables \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.exowpee.com/v1/catalog/stockables"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.exowpee.com/v1/catalog/stockables', 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://api.exowpee.com/v1/catalog/stockables",
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://api.exowpee.com/v1/catalog/stockables"
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://api.exowpee.com/v1/catalog/stockables")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/catalog/stockables")
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": [
{
"id": "<string>",
"title": "<string>",
"image_url": "<string>",
"subject_type": "<string>",
"subject_id": "<string>",
"status": "<string>",
"is_tracked": true,
"is_taxable": true,
"options": [
"<unknown>"
],
"units": "<array>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"vat_rate_id": "<string>",
"tax_configuration_mode": "<string>",
"vat_rate": {},
"taxes": "<array>"
}
],
"meta": {
"per_page": 123,
"next_cursor": "<string>",
"prev_cursor": "<string>"
}
}{
"message": "<string>",
"errors": {}
}List items
Lists items that have an stock record: product variants of the organization and bundles of the current company, filterable by title, SKU, status, subject type and tracking, as a cursor page.
curl --request GET \
--url https://api.exowpee.com/v1/catalog/stockables \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.exowpee.com/v1/catalog/stockables"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.exowpee.com/v1/catalog/stockables', 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://api.exowpee.com/v1/catalog/stockables",
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://api.exowpee.com/v1/catalog/stockables"
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://api.exowpee.com/v1/catalog/stockables")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.exowpee.com/v1/catalog/stockables")
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": [
{
"id": "<string>",
"title": "<string>",
"image_url": "<string>",
"subject_type": "<string>",
"subject_id": "<string>",
"status": "<string>",
"is_tracked": true,
"is_taxable": true,
"options": [
"<unknown>"
],
"units": "<array>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"vat_rate_id": "<string>",
"tax_configuration_mode": "<string>",
"vat_rate": {},
"taxes": "<array>"
}
],
"meta": {
"per_page": 123,
"next_cursor": "<string>",
"prev_cursor": "<string>"
}
}{
"message": "<string>",
"errors": {}
}inventory_items.list
Conditions
- Only items that have a stock record are listed: items created untracked never appear, while an item whose tracking was switched off keeps its stock record and still appears.
- Product variants of the organization and bundles of the current company (and organization) are listed; bundles of other companies are hidden.
Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Number of items per page.
1 <= x <= 100Position in the list. Pass the meta.next_cursor or meta.prev_cursor value of the previous page; leave it out to get the first page.
Field the list is sorted by.
id, status, created_at, updated_at asc for ascending order, desc for descending order.
asc, desc Keeps variants whose product title, option value or option name contains this text, and bundles whose title contains it (case-sensitive LIKE).
Keeps items having a unit of sale whose SKU contains this text.
Keeps items in this status: active, draft or archived.
Keeps one kind of item: product_variant for product variants or bundle for bundles.
Keeps tracked items (true or 1) or untracked items (false or 0). Omit it to return both.
true, false, 1, 0 Response mode. Default resource; none answers 204 No Content.
resource Comma-separated JSON keys of the root resource (id is always rendered). Available: vat_rate_id, tax_configuration_mode, id, title, image_url, subject_type, subject_id, status, is_tracked, is_taxable, options, created_at, updated_at.
Comma-separated include paths, each optionally followed by its fields in parentheses: units(id,sku),units.uomUnit(id,name). Max depth 6, max 40 paths. Available: vat_rate, taxes, units, units.uomUnit, units.prices, units.stockable.