curl --request POST \
--url https://api.fabric.inc/v3/inventories/actions/find \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"itemIds": [
127122871
],
"locationNumbers": [
12
],
"locationTypes": [
"DC"
],
"networkCodes": [
"4"
],
"region": "North America",
"segments": [
"B2B_Special"
],
"skus": [
"SKU1"
]
}
'import requests
url = "https://api.fabric.inc/v3/inventories/actions/find"
payload = {
"itemIds": [127122871],
"locationNumbers": [12],
"locationTypes": ["DC"],
"networkCodes": ["4"],
"region": "North America",
"segments": ["B2B_Special"],
"skus": ["SKU1"]
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
itemIds: [127122871],
locationNumbers: [12],
locationTypes: ['DC'],
networkCodes: ['4'],
region: 'North America',
segments: ['B2B_Special'],
skus: ['SKU1']
})
};
fetch('https://api.fabric.inc/v3/inventories/actions/find', 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.fabric.inc/v3/inventories/actions/find",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'itemIds' => [
127122871
],
'locationNumbers' => [
12
],
'locationTypes' => [
'DC'
],
'networkCodes' => [
'4'
],
'region' => 'North America',
'segments' => [
'B2B_Special'
],
'skus' => [
'SKU1'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fabric.inc/v3/inventories/actions/find"
payload := strings.NewReader("{\n \"itemIds\": [\n 127122871\n ],\n \"locationNumbers\": [\n 12\n ],\n \"locationTypes\": [\n \"DC\"\n ],\n \"networkCodes\": [\n \"4\"\n ],\n \"region\": \"North America\",\n \"segments\": [\n \"B2B_Special\"\n ],\n \"skus\": [\n \"SKU1\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fabric.inc/v3/inventories/actions/find")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"itemIds\": [\n 127122871\n ],\n \"locationNumbers\": [\n 12\n ],\n \"locationTypes\": [\n \"DC\"\n ],\n \"networkCodes\": [\n \"4\"\n ],\n \"region\": \"North America\",\n \"segments\": [\n \"B2B_Special\"\n ],\n \"skus\": [\n \"SKU1\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/inventories/actions/find")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"itemIds\": [\n 127122871\n ],\n \"locationNumbers\": [\n 12\n ],\n \"locationTypes\": [\n \"DC\"\n ],\n \"networkCodes\": [\n \"4\"\n ],\n \"region\": \"North America\",\n \"segments\": [\n \"B2B_Special\"\n ],\n \"skus\": [\n \"SKU1\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"backorderLimit": 50,
"backorderShipmentAt": "2022-08-01T20:03:28.483Z",
"channelId": "channel_xyz",
"counters": {
"allocated": 10,
"onHand": 100,
"shipped": 20
},
"createdAt": "2022-08-01T18:03:28.483Z",
"customAttributes": {
"isBopis": true
},
"hasInfiniteInventory": false,
"inventoryId": "723910d81723",
"isNoStock": false,
"itemId": 12345,
"leadTime": "5 days",
"locationNumber": 12345,
"lowStock": 10,
"networkCode": "ShipToHome",
"networkCounters": {
"softReserve": 10
},
"preorderLimit": 40,
"preorderShipmentAt": "2022-08-01T20:03:28.483Z",
"region": "North America",
"safetyStock": 10,
"sku": "SKU1",
"status": " IN_STOCK",
"type": "primary",
"updatedAt": "2022-08-01T20:03:28.483Z",
"vendorId": "vendor1",
"virtualCounters": {
"availableBackorder": "<string>",
"availablePreorder": "<string>",
"availableToPurchase": "<string>"
},
"virtualCountersStatus": {
"availableBackorder": "<string>",
"availablePreorder": "<string>",
"availableToPurchase": "<string>"
}
}
],
"pagination": {
"count": 1000,
"limit": 10,
"offset": 1
}
}{
"errors": [
{
"message": "Invalid request",
"type": "CLIENT_ERROR"
}
],
"message": "Bad request",
"type": "CLIENT_ERROR"
}{
"message": "Unauthorized request",
"type": "CLIENT_ERROR"
}{
"message": "Internal server error",
"type": "SERVER_ERROR"
}Find inventories of specific items
Search for inventories of specific items by SKUs, itemIds, location numbers, and other parameters as specified in the request body. This endpoint retrieves the exact available quantity of the searched inventory.
curl --request POST \
--url https://api.fabric.inc/v3/inventories/actions/find \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"itemIds": [
127122871
],
"locationNumbers": [
12
],
"locationTypes": [
"DC"
],
"networkCodes": [
"4"
],
"region": "North America",
"segments": [
"B2B_Special"
],
"skus": [
"SKU1"
]
}
'import requests
url = "https://api.fabric.inc/v3/inventories/actions/find"
payload = {
"itemIds": [127122871],
"locationNumbers": [12],
"locationTypes": ["DC"],
"networkCodes": ["4"],
"region": "North America",
"segments": ["B2B_Special"],
"skus": ["SKU1"]
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-fabric-tenant-id': '<x-fabric-tenant-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
itemIds: [127122871],
locationNumbers: [12],
locationTypes: ['DC'],
networkCodes: ['4'],
region: 'North America',
segments: ['B2B_Special'],
skus: ['SKU1']
})
};
fetch('https://api.fabric.inc/v3/inventories/actions/find', 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.fabric.inc/v3/inventories/actions/find",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'itemIds' => [
127122871
],
'locationNumbers' => [
12
],
'locationTypes' => [
'DC'
],
'networkCodes' => [
'4'
],
'region' => 'North America',
'segments' => [
'B2B_Special'
],
'skus' => [
'SKU1'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-tenant-id: <x-fabric-tenant-id>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.fabric.inc/v3/inventories/actions/find"
payload := strings.NewReader("{\n \"itemIds\": [\n 127122871\n ],\n \"locationNumbers\": [\n 12\n ],\n \"locationTypes\": [\n \"DC\"\n ],\n \"networkCodes\": [\n \"4\"\n ],\n \"region\": \"North America\",\n \"segments\": [\n \"B2B_Special\"\n ],\n \"skus\": [\n \"SKU1\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.fabric.inc/v3/inventories/actions/find")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"itemIds\": [\n 127122871\n ],\n \"locationNumbers\": [\n 12\n ],\n \"locationTypes\": [\n \"DC\"\n ],\n \"networkCodes\": [\n \"4\"\n ],\n \"region\": \"North America\",\n \"segments\": [\n \"B2B_Special\"\n ],\n \"skus\": [\n \"SKU1\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/inventories/actions/find")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-fabric-tenant-id"] = '<x-fabric-tenant-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"itemIds\": [\n 127122871\n ],\n \"locationNumbers\": [\n 12\n ],\n \"locationTypes\": [\n \"DC\"\n ],\n \"networkCodes\": [\n \"4\"\n ],\n \"region\": \"North America\",\n \"segments\": [\n \"B2B_Special\"\n ],\n \"skus\": [\n \"SKU1\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"backorderLimit": 50,
"backorderShipmentAt": "2022-08-01T20:03:28.483Z",
"channelId": "channel_xyz",
"counters": {
"allocated": 10,
"onHand": 100,
"shipped": 20
},
"createdAt": "2022-08-01T18:03:28.483Z",
"customAttributes": {
"isBopis": true
},
"hasInfiniteInventory": false,
"inventoryId": "723910d81723",
"isNoStock": false,
"itemId": 12345,
"leadTime": "5 days",
"locationNumber": 12345,
"lowStock": 10,
"networkCode": "ShipToHome",
"networkCounters": {
"softReserve": 10
},
"preorderLimit": 40,
"preorderShipmentAt": "2022-08-01T20:03:28.483Z",
"region": "North America",
"safetyStock": 10,
"sku": "SKU1",
"status": " IN_STOCK",
"type": "primary",
"updatedAt": "2022-08-01T20:03:28.483Z",
"vendorId": "vendor1",
"virtualCounters": {
"availableBackorder": "<string>",
"availablePreorder": "<string>",
"availableToPurchase": "<string>"
},
"virtualCountersStatus": {
"availableBackorder": "<string>",
"availablePreorder": "<string>",
"availableToPurchase": "<string>"
}
}
],
"pagination": {
"count": 1000,
"limit": 10,
"offset": 1
}
}{
"errors": [
{
"message": "Invalid request",
"type": "CLIENT_ERROR"
}
],
"message": "Bad request",
"type": "CLIENT_ERROR"
}{
"message": "Unauthorized request",
"type": "CLIENT_ERROR"
}{
"message": "Internal server error",
"type": "SERVER_ERROR"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
A header used by fabric to identify the tenant making the request. You must include tenant id in the authentication header for an API request to access any of fabric’s endpoints. You can retrieve the tenant id , which is also called account id, from Copilot. This header is required.
Unique request ID
x-fabric-channel-id identifies the sales channel through which the API request is being made; primarily for multichannel use cases. It is an optional field. The default US channel is 12 while the default Canada channel is 13.
x-fabric-channel-id identifies the sales channel through which the API request is being made; primarily for multichannel use cases. It is an optional field. The default US channel is 12 while the default Canada channel is 13. This field is optional. Note: Use xFabricChannelIds for multiple channels, and xFabricChannelId for a single channel.
Query Parameters
Number of records to be skipped before returning all records. Default is 0 when no value is specified.
0
Maximum number of records to be returned on a single page. For example, when offset=20 and limit=10, it returns records 21-30 on a single page. Default is 10 when no value is specified.
1 <= x <= 10010
Body
Find inventory request
List of item IDs for which the inventories are to be searched
Item ID
Location numbers
Location number
Location types
Location type
Codes associated with networks in which inventory of the SKUs are maintained
Network code
Region
"North America"
Segments
Segment
List of SKUs for which the inventories are to be searched within the specified region
SKU
Was this page helpful?
