curl --request POST \
--url https://live.copilot.fabric.inc/api-category/v1/category/find \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"include": {
"children": false,
"itemAttributes": false,
"nodeAttributes": false,
"filters": false,
"sources": false,
"statuses": true
},
"type": "ALTERNATE",
"status": "ALL",
"page": 1,
"size": 10,
"match": {
"attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
},
"and": [
{
"attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
}
}
],
"or": [
{
"attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
}
}
]
}
}
'import requests
url = "https://live.copilot.fabric.inc/api-category/v1/category/find"
payload = {
"include": {
"children": False,
"itemAttributes": False,
"nodeAttributes": False,
"filters": False,
"sources": False,
"statuses": True
},
"type": "ALTERNATE",
"status": "ALL",
"page": 1,
"size": 10,
"match": {
"attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
},
"and": [{ "attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
} }],
"or": [{ "attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
} }]
}
}
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-site-context': '<x-site-context>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
include: {
children: false,
itemAttributes: false,
nodeAttributes: false,
filters: false,
sources: false,
statuses: true
},
type: 'ALTERNATE',
status: 'ALL',
page: 1,
size: 10,
match: {
attribute: {
id: '6196b44a5cb04b7ce167cb34',
name: 'Category Code',
value: {exact: '1234', contains: '1234'}
},
and: [
{
attribute: {
id: '6196b44a5cb04b7ce167cb34',
name: 'Category Code',
value: {exact: '1234', contains: '1234'}
}
}
],
or: [
{
attribute: {
id: '6196b44a5cb04b7ce167cb34',
name: 'Category Code',
value: {exact: '1234', contains: '1234'}
}
}
]
}
})
};
fetch('https://live.copilot.fabric.inc/api-category/v1/category/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://live.copilot.fabric.inc/api-category/v1/category/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([
'include' => [
'children' => false,
'itemAttributes' => false,
'nodeAttributes' => false,
'filters' => false,
'sources' => false,
'statuses' => true
],
'type' => 'ALTERNATE',
'status' => 'ALL',
'page' => 1,
'size' => 10,
'match' => [
'attribute' => [
'id' => '6196b44a5cb04b7ce167cb34',
'name' => 'Category Code',
'value' => [
'exact' => '1234',
'contains' => '1234'
]
],
'and' => [
[
'attribute' => [
'id' => '6196b44a5cb04b7ce167cb34',
'name' => 'Category Code',
'value' => [
'exact' => '1234',
'contains' => '1234'
]
]
]
],
'or' => [
[
'attribute' => [
'id' => '6196b44a5cb04b7ce167cb34',
'name' => 'Category Code',
'value' => [
'exact' => '1234',
'contains' => '1234'
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-site-context: <x-site-context>"
],
]);
$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://live.copilot.fabric.inc/api-category/v1/category/find"
payload := strings.NewReader("{\n \"include\": {\n \"children\": false,\n \"itemAttributes\": false,\n \"nodeAttributes\": false,\n \"filters\": false,\n \"sources\": false,\n \"statuses\": true\n },\n \"type\": \"ALTERNATE\",\n \"status\": \"ALL\",\n \"page\": 1,\n \"size\": 10,\n \"match\": {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n },\n \"and\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ],\n \"or\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
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://live.copilot.fabric.inc/api-category/v1/category/find")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"include\": {\n \"children\": false,\n \"itemAttributes\": false,\n \"nodeAttributes\": false,\n \"filters\": false,\n \"sources\": false,\n \"statuses\": true\n },\n \"type\": \"ALTERNATE\",\n \"status\": \"ALL\",\n \"page\": 1,\n \"size\": 10,\n \"match\": {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n },\n \"and\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ],\n \"or\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://live.copilot.fabric.inc/api-category/v1/category/find")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-site-context"] = '<x-site-context>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"include\": {\n \"children\": false,\n \"itemAttributes\": false,\n \"nodeAttributes\": false,\n \"filters\": false,\n \"sources\": false,\n \"statuses\": true\n },\n \"type\": \"ALTERNATE\",\n \"status\": \"ALL\",\n \"page\": 1,\n \"size\": 10,\n \"match\": {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n },\n \"and\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ],\n \"or\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"totalSize": 100,
"pageSize": 10,
"pages": 10,
"categories": [
{
"id": "6196b45b5cb04b7ce167cb46",
"nodeId": 16,
"name": "PCs",
"hierarchy": "ALTERNATE",
"isActive": true,
"breadcrumbs": [
{
"id": "6196b44a5cb04b7ce167cb34",
"nodeId": 10,
"name": "Computers",
"level": 0,
"hierarchy": "ALTERNATE",
"isActive": true,
"createdOn": "2022-03-09T23:37:54.086Z",
"modifiedOn": "2022-03-09T23:37:54.086Z"
}
],
"attributes": [
{
"id": "619a8ba6f1875f6dbcaf0521",
"name": "notes",
"description": "Notes for this particular category.",
"type": "TEXT",
"value": "Unable to fulfill demand."
}
],
"children": [
{
"id": "619973877a22c466eee93219",
"name": "Apple",
"breadcrumbs": [
{
"id": "6196b44a5cb04b7ce167cb34",
"nodeId": 10,
"name": "Computers",
"level": 0,
"hierarchy": "ALTERNATE",
"isActive": true,
"createdOn": "2022-03-09T23:37:54.086Z",
"modifiedOn": "2022-03-09T23:37:54.086Z"
}
],
"attributes": [
{
"id": "619a8ba6f1875f6dbcaf0521",
"name": "notes",
"description": "Notes for this particular category.",
"type": "TEXT",
"value": "Unable to fulfill demand."
}
],
"children": "<array>"
}
],
"createdOn": "2022-03-09T23:37:54.086Z",
"modifiedOn": "2022-03-09T23:37:54.086Z"
}
]
}{
"code": 400,
"message": "Client error"
}{
"code": 500,
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}Find categories
Using this endpoint, you can search for categories and collections based on status, type, or category attributes. You will get a paginated response, which you can fine tune by specifying the query parameters page and size.
Data is retrieved from the database, ensuring latest results.
curl --request POST \
--url https://live.copilot.fabric.inc/api-category/v1/category/find \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"include": {
"children": false,
"itemAttributes": false,
"nodeAttributes": false,
"filters": false,
"sources": false,
"statuses": true
},
"type": "ALTERNATE",
"status": "ALL",
"page": 1,
"size": 10,
"match": {
"attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
},
"and": [
{
"attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
}
}
],
"or": [
{
"attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
}
}
]
}
}
'import requests
url = "https://live.copilot.fabric.inc/api-category/v1/category/find"
payload = {
"include": {
"children": False,
"itemAttributes": False,
"nodeAttributes": False,
"filters": False,
"sources": False,
"statuses": True
},
"type": "ALTERNATE",
"status": "ALL",
"page": 1,
"size": 10,
"match": {
"attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
},
"and": [{ "attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
} }],
"or": [{ "attribute": {
"id": "6196b44a5cb04b7ce167cb34",
"name": "Category Code",
"value": {
"exact": "1234",
"contains": "1234"
}
} }]
}
}
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'x-site-context': '<x-site-context>',
Authorization: 'Bearer <token>',
'Content-Type': 'application/json'
},
body: JSON.stringify({
include: {
children: false,
itemAttributes: false,
nodeAttributes: false,
filters: false,
sources: false,
statuses: true
},
type: 'ALTERNATE',
status: 'ALL',
page: 1,
size: 10,
match: {
attribute: {
id: '6196b44a5cb04b7ce167cb34',
name: 'Category Code',
value: {exact: '1234', contains: '1234'}
},
and: [
{
attribute: {
id: '6196b44a5cb04b7ce167cb34',
name: 'Category Code',
value: {exact: '1234', contains: '1234'}
}
}
],
or: [
{
attribute: {
id: '6196b44a5cb04b7ce167cb34',
name: 'Category Code',
value: {exact: '1234', contains: '1234'}
}
}
]
}
})
};
fetch('https://live.copilot.fabric.inc/api-category/v1/category/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://live.copilot.fabric.inc/api-category/v1/category/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([
'include' => [
'children' => false,
'itemAttributes' => false,
'nodeAttributes' => false,
'filters' => false,
'sources' => false,
'statuses' => true
],
'type' => 'ALTERNATE',
'status' => 'ALL',
'page' => 1,
'size' => 10,
'match' => [
'attribute' => [
'id' => '6196b44a5cb04b7ce167cb34',
'name' => 'Category Code',
'value' => [
'exact' => '1234',
'contains' => '1234'
]
],
'and' => [
[
'attribute' => [
'id' => '6196b44a5cb04b7ce167cb34',
'name' => 'Category Code',
'value' => [
'exact' => '1234',
'contains' => '1234'
]
]
]
],
'or' => [
[
'attribute' => [
'id' => '6196b44a5cb04b7ce167cb34',
'name' => 'Category Code',
'value' => [
'exact' => '1234',
'contains' => '1234'
]
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json",
"x-site-context: <x-site-context>"
],
]);
$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://live.copilot.fabric.inc/api-category/v1/category/find"
payload := strings.NewReader("{\n \"include\": {\n \"children\": false,\n \"itemAttributes\": false,\n \"nodeAttributes\": false,\n \"filters\": false,\n \"sources\": false,\n \"statuses\": true\n },\n \"type\": \"ALTERNATE\",\n \"status\": \"ALL\",\n \"page\": 1,\n \"size\": 10,\n \"match\": {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n },\n \"and\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ],\n \"or\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ]\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("x-site-context", "<x-site-context>")
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://live.copilot.fabric.inc/api-category/v1/category/find")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"include\": {\n \"children\": false,\n \"itemAttributes\": false,\n \"nodeAttributes\": false,\n \"filters\": false,\n \"sources\": false,\n \"statuses\": true\n },\n \"type\": \"ALTERNATE\",\n \"status\": \"ALL\",\n \"page\": 1,\n \"size\": 10,\n \"match\": {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n },\n \"and\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ],\n \"or\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ]\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://live.copilot.fabric.inc/api-category/v1/category/find")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-site-context"] = '<x-site-context>'
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"include\": {\n \"children\": false,\n \"itemAttributes\": false,\n \"nodeAttributes\": false,\n \"filters\": false,\n \"sources\": false,\n \"statuses\": true\n },\n \"type\": \"ALTERNATE\",\n \"status\": \"ALL\",\n \"page\": 1,\n \"size\": 10,\n \"match\": {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n },\n \"and\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ],\n \"or\": [\n {\n \"attribute\": {\n \"id\": \"6196b44a5cb04b7ce167cb34\",\n \"name\": \"Category Code\",\n \"value\": {\n \"exact\": \"1234\",\n \"contains\": \"1234\"\n }\n }\n }\n ]\n }\n}"
response = http.request(request)
puts response.read_body{
"totalSize": 100,
"pageSize": 10,
"pages": 10,
"categories": [
{
"id": "6196b45b5cb04b7ce167cb46",
"nodeId": 16,
"name": "PCs",
"hierarchy": "ALTERNATE",
"isActive": true,
"breadcrumbs": [
{
"id": "6196b44a5cb04b7ce167cb34",
"nodeId": 10,
"name": "Computers",
"level": 0,
"hierarchy": "ALTERNATE",
"isActive": true,
"createdOn": "2022-03-09T23:37:54.086Z",
"modifiedOn": "2022-03-09T23:37:54.086Z"
}
],
"attributes": [
{
"id": "619a8ba6f1875f6dbcaf0521",
"name": "notes",
"description": "Notes for this particular category.",
"type": "TEXT",
"value": "Unable to fulfill demand."
}
],
"children": [
{
"id": "619973877a22c466eee93219",
"name": "Apple",
"breadcrumbs": [
{
"id": "6196b44a5cb04b7ce167cb34",
"nodeId": 10,
"name": "Computers",
"level": 0,
"hierarchy": "ALTERNATE",
"isActive": true,
"createdOn": "2022-03-09T23:37:54.086Z",
"modifiedOn": "2022-03-09T23:37:54.086Z"
}
],
"attributes": [
{
"id": "619a8ba6f1875f6dbcaf0521",
"name": "notes",
"description": "Notes for this particular category.",
"type": "TEXT",
"value": "Unable to fulfill demand."
}
],
"children": "<array>"
}
],
"createdOn": "2022-03-09T23:37:54.086Z",
"modifiedOn": "2022-03-09T23:37:54.086Z"
}
]
}{
"code": 400,
"message": "Client error"
}{
"code": 500,
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}Authorizations
S2S access token (JWT) from fabric Identity service (during Login)
Headers
The x-site-context header is a JSON object that contains information about the source you wish to pull from. The mandatory account is the 24 character identifier found in Copilot. The channel (Sales channel ID), stage (environment name), and date attributes can be used to further narrow the scope of your data source.
"{\"date\": \"2023-01-01T00:00:00.000Z\", \"channel\": 12, \"account\": \"1234abcd5678efgh9ijklmno\",\"stage\":\"production\"}"
Body
Inclusion criteria
Show child attributes
Show child attributes
Category type. The primary hierarchy contains all branches, whereas alternate hierarchies exist to export alternate organizations of the primary hierarchy. If omitted ALTERNATE is considered by default.
PRIMARY, ALTERNATE "ALTERNATE"
Category status. Only ALTERNATE Hierarchies can be filtered using this paramater. If omitted ACTIVE status is considered by default.
ACTIVE, INACTIVE, ALL "ALL"
Number of pages in the response.
1
Number of categories per page.
10
Show child attributes
Show child attributes
Was this page helpful?
