curl --request GET \
--url https://api.antsfield.com/items \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.antsfield.com/items"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.antsfield.com/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://api.antsfield.com/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://api.antsfield.com/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://api.antsfield.com/items")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.antsfield.com/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[
{
"id": "<string>",
"sku": "<string>",
"description": "<string>",
"supplierId": "<string>",
"cost": 123,
"sellPrice": 123,
"trackStock": true,
"tagId": "<string>",
"tags": [
{
"id": "<string>",
"name": "<string>",
"color": "red"
}
],
"userId": "<string>",
"workspaceId": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"projectId": "<string>",
"supplier": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"phone": "<string>"
},
"lowStockThreshold": 123
}
]{
"error": {
"code": "bad_request",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#bad-request"
}
}{
"error": {
"code": "unauthorized",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#unauthorized"
}
}{
"error": {
"code": "forbidden",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#forbidden"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#not-found"
}
}{
"error": {
"code": "conflict",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#conflict"
}
}{
"error": {
"code": "invite_expired",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#invite-expired"
}
}{
"error": {
"code": "unprocessable_entity",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#unprocessable-entity"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#rate-limit_exceeded"
}
}{
"error": {
"code": "internal_server_error",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#internal-server_error"
}
}Retrieve a list of items
Retrieve a paginated list of items for the authenticated workspace.
curl --request GET \
--url https://api.antsfield.com/items \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.antsfield.com/items"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.antsfield.com/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://api.antsfield.com/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://api.antsfield.com/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://api.antsfield.com/items")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.antsfield.com/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[
{
"id": "<string>",
"sku": "<string>",
"description": "<string>",
"supplierId": "<string>",
"cost": 123,
"sellPrice": 123,
"trackStock": true,
"tagId": "<string>",
"tags": [
{
"id": "<string>",
"name": "<string>",
"color": "red"
}
],
"userId": "<string>",
"workspaceId": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"projectId": "<string>",
"supplier": {
"id": "<string>",
"name": "<string>",
"email": "<string>",
"phone": "<string>"
},
"lowStockThreshold": 123
}
]{
"error": {
"code": "bad_request",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#bad-request"
}
}{
"error": {
"code": "unauthorized",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#unauthorized"
}
}{
"error": {
"code": "forbidden",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#forbidden"
}
}{
"error": {
"code": "not_found",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#not-found"
}
}{
"error": {
"code": "conflict",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#conflict"
}
}{
"error": {
"code": "invite_expired",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#invite-expired"
}
}{
"error": {
"code": "unprocessable_entity",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#unprocessable-entity"
}
}{
"error": {
"code": "rate_limit_exceeded",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#rate-limit_exceeded"
}
}{
"error": {
"code": "internal_server_error",
"message": "The requested resource was not found.",
"doc_url": "https://docs.antsfield.com/api-reference/errors#internal-server_error"
}
}Authorizations
Bearer API key from Settings → API Keys. Use restricted keys (prefix retrac_) with the minimum scopes required.
Query Parameters
The SKU of the item.
The item description.
The item cost.
The default sell price of the item.
The supplier ID for the item.
The supplier IDs to filter the items by.
[DEPRECATED] (use tagIds instead): The tag ID to filter the items by.
The tag IDs to filter the items by.
The unique name of the tags assigned to the items (case insensitive).
The search term to filter the items by. The search term will be matched against the short item slug and the destination url.
The user ID to filter the items by.
The location ID to filter the items by (only items with a balance row at that location will be returned).
Filter by stock health: out (on-hand ≤ 0), low (above zero but at/below threshold), or ok. Catalog-only items are excluded from out/low.
out, low, ok When true, only stock-tracked items. When false, only catalog-only items (no on-hand quantity).
Whether to include tags in the response. Defaults to false if not provided.
The field to sort the items by. The default is createdAt.
updatedAt, createdAt, sku, description, cost, sellPrice, quantity The sort order for the items. The default is desc.
asc, desc The page number for pagination.
x > 01
The number of items per page.
0 < x <= 10050
Response
A list of items
The unique ID of the short item.
The SKU of the item.
The item description.
The supplier ID of the item.
The item cost.
The default sell price of the item.
Whether this item tracks on-hand stock. When false, the item is catalog-only.
[DEPRECATED] (use tags instead): The unique ID of the tag assigned to the short item.
The tags assigned to the short item.
Show child attributes
Show child attributes
The user ID of the creator of the short item.
The workspace ID of the short item.
The date and time when the short item was created.
The date and time when the short item was last updated.
[DEPRECATED] (use workspaceId instead): The project ID of the short item.
The linked supplier record.
Show child attributes
Show child attributes
Per-item low-stock threshold. Null uses the workspace default.
Was this page helpful?

