curl --request POST \
--url https://api.fabric.inc/v3/allocations/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"filters": [
{
"condition": "EQ",
"field": "allocation.items.orderId",
"value": "Order_*"
},
{
"condition": "IN",
"field": "allocation.items.itemId",
"value": [
"Item_1122",
"Item_2233"
]
}
],
"sort": "-allocation.createdAt"
}
'import requests
url = "https://api.fabric.inc/v3/allocations/search"
payload = {
"filters": [
{
"condition": "EQ",
"field": "allocation.items.orderId",
"value": "Order_*"
},
{
"condition": "IN",
"field": "allocation.items.itemId",
"value": ["Item_1122", "Item_2233"]
}
],
"sort": "-allocation.createdAt"
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"x-fabric-channel-id": "<x-fabric-channel-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>',
'x-fabric-channel-id': '<x-fabric-channel-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
filters: [
{condition: 'EQ', field: 'allocation.items.orderId', value: 'Order_*'},
{
condition: 'IN',
field: 'allocation.items.itemId',
value: ['Item_1122', 'Item_2233']
}
],
sort: '-allocation.createdAt'
})
};
fetch('https://api.fabric.inc/v3/allocations/search', 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/allocations/search",
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([
'filters' => [
[
'condition' => 'EQ',
'field' => 'allocation.items.orderId',
'value' => 'Order_*'
],
[
'condition' => 'IN',
'field' => 'allocation.items.itemId',
'value' => [
'Item_1122',
'Item_2233'
]
]
],
'sort' => '-allocation.createdAt'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-channel-id: <x-fabric-channel-id>",
"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/allocations/search"
payload := strings.NewReader("{\n \"filters\": [\n {\n \"condition\": \"EQ\",\n \"field\": \"allocation.items.orderId\",\n \"value\": \"Order_*\"\n },\n {\n \"condition\": \"IN\",\n \"field\": \"allocation.items.itemId\",\n \"value\": [\n \"Item_1122\",\n \"Item_2233\"\n ]\n }\n ],\n \"sort\": \"-allocation.createdAt\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("x-fabric-channel-id", "<x-fabric-channel-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/allocations/search")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("x-fabric-channel-id", "<x-fabric-channel-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": [\n {\n \"condition\": \"EQ\",\n \"field\": \"allocation.items.orderId\",\n \"value\": \"Order_*\"\n },\n {\n \"condition\": \"IN\",\n \"field\": \"allocation.items.itemId\",\n \"value\": [\n \"Item_1122\",\n \"Item_2233\"\n ]\n }\n ],\n \"sort\": \"-allocation.createdAt\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/allocations/search")
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["x-fabric-channel-id"] = '<x-fabric-channel-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": [\n {\n \"condition\": \"EQ\",\n \"field\": \"allocation.items.orderId\",\n \"value\": \"Order_*\"\n },\n {\n \"condition\": \"IN\",\n \"field\": \"allocation.items.itemId\",\n \"value\": [\n \"Item_1122\",\n \"Item_2233\"\n ]\n }\n ],\n \"sort\": \"-allocation.createdAt\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"allocationId": "62ff5c0bec0aed3c86202c32",
"allocationRequestId": "62ff5c0bec0aed3c86202c32",
"createdAt": "2022-08-01T18:03:28.483971941Z",
"locationNumber": "1234B",
"version": 2,
"allocationNumber": 13000004,
"allocationExternalId": "123k4h123k",
"auditLogs": [
{
"amount": 2.4,
"auditId": "a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111",
"auditType": "CANCEL",
"auditedAt": "2023-03-12T09:24:54.804Z",
"employeeId": "6227",
"isSuccess": true,
"lineItemId": "b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569",
"lineItemNumber": 1,
"note": "Note",
"paymentToken": {
"paymentType": "VISA",
"token": "pi_34tr6787rt"
},
"policyCode": "POS",
"quantity": 1,
"reasonCode": "Scratched item",
"sku": "SKU0023",
"source": "POS",
"subReasonCode": "Scratched item",
"updatedFields": [
{
"fieldName": "UOM",
"fieldOriginalValue": "PK"
}
]
}
],
"currency": "USD",
"decisionContexts": [
{
"allocatedOrderLineIds": [
"<string>"
],
"methodConfigs": {},
"methodName": "<string>",
"ruleName": "<string>",
"ruleSetId": "<string>",
"ruleSetVersion": "<string>"
}
],
"items": [
{
"allocationLineNumber": 3,
"itemId": 100064,
"quantity": 3,
"sku": "123k4h123k",
"uom": "EA",
"channelId": "4a35cc1b-4e15-46df-96c9-38a697d88dfe",
"cost": 150.6,
"estimatedDeliveryDate": "2022-08-01T18:03:28.483971941Z",
"itemStatus": "PARTIALLY_ALLOCATED",
"notes": [
{
"createdAt": "2022-05-12T09:30:31.198Z",
"notes": "Fragile - handle with care",
"user": "62272e917b12209e68751d94"
}
],
"orderId": "62f3982438bcab1951be0a19",
"orderLineId": "134fqfaa532qrf",
"orderLineNumber": 1,
"orderNumber": "123k4h123k",
"orderExternalId": "123k4h123k",
"orderedAt": "2022-08-01T18:03:28.483971941Z",
"parentAllocationLineNumber": 3,
"price": 50.2,
"reallocationReasonCode": "Reallocating due to unavailability of location number",
"reallocationRequestId": "123k4h123k",
"reshipReasonCode": "Stock refilled",
"scratchQuantity": 1,
"scratchedReasonCode": "Out of stock",
"shippedQuantity": 1,
"weight": 5.5
}
],
"itemsType": "WEB_SHIP",
"locationType": "DC",
"notifiedToPPSAt": "2022-08-01T18:03:28.483971941Z",
"orderSubType": "ANDROID",
"parentAllocationId": "62ff5c0bec0aed3c86202c32",
"previousAllocatedLocationNums": [
"410"
],
"recipients": [
{
"email": "test@example.com",
"name": {
"firstName": "Alex",
"lastName": "Doe",
"middleName": "E"
},
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"pickupType": "PRIMARY"
}
],
"shipToAddress": {
"addressLine1": "123 Main St.",
"city": "Seattle",
"countryCode": "US",
"latitude": 47.6205,
"longitude": -122.3493,
"postalCode": "98121",
"region": "WA",
"type": "Home",
"addressLine2": "Suite 100",
"addressLine3": "Seventh floor",
"addressLine4": "Attention: Pat E. Kake",
"email": "test@example.com",
"name": {
"firstName": "Alex",
"lastName": "Doe",
"middleName": "E"
},
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
}
},
"shipFromAddress": {
"addressLine1": "123 Main St.",
"city": "Seattle",
"countryCode": "US",
"latitude": 47.6205,
"longitude": -122.3493,
"postalCode": "98121",
"region": "WA",
"type": "Home",
"addressLine2": "Suite 100",
"addressLine3": "Seventh floor",
"addressLine4": "Attention: Pat E. Kake",
"email": "test@example.com",
"name": {
"firstName": "Alex",
"lastName": "Doe",
"middleName": "E"
},
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
}
},
"shipToId": "98ff5c0bec0aed3c86202c32",
"shipmentMethod": "Parcel Post Delivery",
"shipmentType": "SHIP_TO_ADDRESS",
"shippedAt": "2022-08-01T20:03:28.483971941Z",
"statusCode": "ALLOCATED",
"type": "ALLOCATED",
"updatedAt": "2022-08-01T20:03:28.483971941Z"
}
],
"pagination": {
"count": 1000,
"limit": 10,
"offset": 1
},
"stats": [
"<string>"
]
}{
"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"
}Search for allocations by query
Search for inventory allocations based on the matching filter criteria.
curl --request POST \
--url https://api.fabric.inc/v3/allocations/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-fabric-channel-id: <x-fabric-channel-id>' \
--header 'x-fabric-tenant-id: <x-fabric-tenant-id>' \
--data '
{
"filters": [
{
"condition": "EQ",
"field": "allocation.items.orderId",
"value": "Order_*"
},
{
"condition": "IN",
"field": "allocation.items.itemId",
"value": [
"Item_1122",
"Item_2233"
]
}
],
"sort": "-allocation.createdAt"
}
'import requests
url = "https://api.fabric.inc/v3/allocations/search"
payload = {
"filters": [
{
"condition": "EQ",
"field": "allocation.items.orderId",
"value": "Order_*"
},
{
"condition": "IN",
"field": "allocation.items.itemId",
"value": ["Item_1122", "Item_2233"]
}
],
"sort": "-allocation.createdAt"
}
headers = {
"x-fabric-tenant-id": "<x-fabric-tenant-id>",
"x-fabric-channel-id": "<x-fabric-channel-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>',
'x-fabric-channel-id': '<x-fabric-channel-id>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
filters: [
{condition: 'EQ', field: 'allocation.items.orderId', value: 'Order_*'},
{
condition: 'IN',
field: 'allocation.items.itemId',
value: ['Item_1122', 'Item_2233']
}
],
sort: '-allocation.createdAt'
})
};
fetch('https://api.fabric.inc/v3/allocations/search', 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/allocations/search",
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([
'filters' => [
[
'condition' => 'EQ',
'field' => 'allocation.items.orderId',
'value' => 'Order_*'
],
[
'condition' => 'IN',
'field' => 'allocation.items.itemId',
'value' => [
'Item_1122',
'Item_2233'
]
]
],
'sort' => '-allocation.createdAt'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-fabric-channel-id: <x-fabric-channel-id>",
"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/allocations/search"
payload := strings.NewReader("{\n \"filters\": [\n {\n \"condition\": \"EQ\",\n \"field\": \"allocation.items.orderId\",\n \"value\": \"Order_*\"\n },\n {\n \"condition\": \"IN\",\n \"field\": \"allocation.items.itemId\",\n \"value\": [\n \"Item_1122\",\n \"Item_2233\"\n ]\n }\n ],\n \"sort\": \"-allocation.createdAt\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-fabric-tenant-id", "<x-fabric-tenant-id>")
req.Header.Add("x-fabric-channel-id", "<x-fabric-channel-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/allocations/search")
.header("x-fabric-tenant-id", "<x-fabric-tenant-id>")
.header("x-fabric-channel-id", "<x-fabric-channel-id>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"filters\": [\n {\n \"condition\": \"EQ\",\n \"field\": \"allocation.items.orderId\",\n \"value\": \"Order_*\"\n },\n {\n \"condition\": \"IN\",\n \"field\": \"allocation.items.itemId\",\n \"value\": [\n \"Item_1122\",\n \"Item_2233\"\n ]\n }\n ],\n \"sort\": \"-allocation.createdAt\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fabric.inc/v3/allocations/search")
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["x-fabric-channel-id"] = '<x-fabric-channel-id>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"filters\": [\n {\n \"condition\": \"EQ\",\n \"field\": \"allocation.items.orderId\",\n \"value\": \"Order_*\"\n },\n {\n \"condition\": \"IN\",\n \"field\": \"allocation.items.itemId\",\n \"value\": [\n \"Item_1122\",\n \"Item_2233\"\n ]\n }\n ],\n \"sort\": \"-allocation.createdAt\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"allocationId": "62ff5c0bec0aed3c86202c32",
"allocationRequestId": "62ff5c0bec0aed3c86202c32",
"createdAt": "2022-08-01T18:03:28.483971941Z",
"locationNumber": "1234B",
"version": 2,
"allocationNumber": 13000004,
"allocationExternalId": "123k4h123k",
"auditLogs": [
{
"amount": 2.4,
"auditId": "a05b72dc-78d8-4ea4-90fc-2fe6a1fe1111",
"auditType": "CANCEL",
"auditedAt": "2023-03-12T09:24:54.804Z",
"employeeId": "6227",
"isSuccess": true,
"lineItemId": "b03b72dc-78d8-4ea4-90fc-2fe6a1fe6569",
"lineItemNumber": 1,
"note": "Note",
"paymentToken": {
"paymentType": "VISA",
"token": "pi_34tr6787rt"
},
"policyCode": "POS",
"quantity": 1,
"reasonCode": "Scratched item",
"sku": "SKU0023",
"source": "POS",
"subReasonCode": "Scratched item",
"updatedFields": [
{
"fieldName": "UOM",
"fieldOriginalValue": "PK"
}
]
}
],
"currency": "USD",
"decisionContexts": [
{
"allocatedOrderLineIds": [
"<string>"
],
"methodConfigs": {},
"methodName": "<string>",
"ruleName": "<string>",
"ruleSetId": "<string>",
"ruleSetVersion": "<string>"
}
],
"items": [
{
"allocationLineNumber": 3,
"itemId": 100064,
"quantity": 3,
"sku": "123k4h123k",
"uom": "EA",
"channelId": "4a35cc1b-4e15-46df-96c9-38a697d88dfe",
"cost": 150.6,
"estimatedDeliveryDate": "2022-08-01T18:03:28.483971941Z",
"itemStatus": "PARTIALLY_ALLOCATED",
"notes": [
{
"createdAt": "2022-05-12T09:30:31.198Z",
"notes": "Fragile - handle with care",
"user": "62272e917b12209e68751d94"
}
],
"orderId": "62f3982438bcab1951be0a19",
"orderLineId": "134fqfaa532qrf",
"orderLineNumber": 1,
"orderNumber": "123k4h123k",
"orderExternalId": "123k4h123k",
"orderedAt": "2022-08-01T18:03:28.483971941Z",
"parentAllocationLineNumber": 3,
"price": 50.2,
"reallocationReasonCode": "Reallocating due to unavailability of location number",
"reallocationRequestId": "123k4h123k",
"reshipReasonCode": "Stock refilled",
"scratchQuantity": 1,
"scratchedReasonCode": "Out of stock",
"shippedQuantity": 1,
"weight": 5.5
}
],
"itemsType": "WEB_SHIP",
"locationType": "DC",
"notifiedToPPSAt": "2022-08-01T18:03:28.483971941Z",
"orderSubType": "ANDROID",
"parentAllocationId": "62ff5c0bec0aed3c86202c32",
"previousAllocatedLocationNums": [
"410"
],
"recipients": [
{
"email": "test@example.com",
"name": {
"firstName": "Alex",
"lastName": "Doe",
"middleName": "E"
},
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
},
"pickupType": "PRIMARY"
}
],
"shipToAddress": {
"addressLine1": "123 Main St.",
"city": "Seattle",
"countryCode": "US",
"latitude": 47.6205,
"longitude": -122.3493,
"postalCode": "98121",
"region": "WA",
"type": "Home",
"addressLine2": "Suite 100",
"addressLine3": "Seventh floor",
"addressLine4": "Attention: Pat E. Kake",
"email": "test@example.com",
"name": {
"firstName": "Alex",
"lastName": "Doe",
"middleName": "E"
},
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
}
},
"shipFromAddress": {
"addressLine1": "123 Main St.",
"city": "Seattle",
"countryCode": "US",
"latitude": 47.6205,
"longitude": -122.3493,
"postalCode": "98121",
"region": "WA",
"type": "Home",
"addressLine2": "Suite 100",
"addressLine3": "Seventh floor",
"addressLine4": "Attention: Pat E. Kake",
"email": "test@example.com",
"name": {
"firstName": "Alex",
"lastName": "Doe",
"middleName": "E"
},
"phone": {
"number": "123-456-7890",
"type": "MOBILE"
}
},
"shipToId": "98ff5c0bec0aed3c86202c32",
"shipmentMethod": "Parcel Post Delivery",
"shipmentType": "SHIP_TO_ADDRESS",
"shippedAt": "2022-08-01T20:03:28.483971941Z",
"statusCode": "ALLOCATED",
"type": "ALLOCATED",
"updatedAt": "2022-08-01T20:03:28.483971941Z"
}
],
"pagination": {
"count": 1000,
"limit": 10,
"offset": 1
},
"stats": [
"<string>"
]
}{
"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.
x-fabric-channel-id identifies the sales channel where the API request is being made; primarily for multichannel use cases. The channel ids are 12 corresponding to US and 13 corresponding to Canada. The default channel id is 12. This field is required.
Unique request ID
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 per page
1 <= x <= 10010
Body
Sample request to search allocations
50Criteria to find allocations by a single value. Condition between field and value is anything except IN and NIN when valueSearchFilter is used.
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
Show child attributes
Show child attributes
Property by which data is sorted
(^[+-]allocation\.[a-zA-Z.\-_]*)(,([+-]allocation\.[a-zA-Z.\-_]*)){0,}"+allocation.createdAt"
The stats filter resource.
Show child attributes
Show child attributes
Was this page helpful?
