curl --request GET \
--url https://live.copilot.fabric.inc/api-category/v1/category/source \
--header 'Authorization: Bearer <token>' \
--header 'x-site-context: <x-site-context>'import requests
url = "https://live.copilot.fabric.inc/api-category/v1/category/source"
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-site-context': '<x-site-context>', Authorization: 'Bearer <token>'}
};
fetch('https://live.copilot.fabric.inc/api-category/v1/category/source', 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/source",
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>",
"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"
"net/http"
"io"
)
func main() {
url := "https://live.copilot.fabric.inc/api-category/v1/category/source"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-site-context", "<x-site-context>")
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://live.copilot.fabric.inc/api-category/v1/category/source")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://live.copilot.fabric.inc/api-category/v1/category/source")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-site-context"] = '<x-site-context>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"totalSize": 100,
"pageSize": 10,
"pages": 10,
"id": "6170135a49b4af38190970fe",
"nodeId": 12,
"name": "Furniture",
"sources": [
{
"id": "61701259125b7225cbfb21b9",
"nodeId": 12,
"name": "picture",
"breadcrumbString": "PRIMARY/Furniture/Chairs"
}
]
}{
"code": 400,
"message": "Client error"
}{
"code": 500,
"message": "An internal error occurred. If the issue persists please contact support@fabric.inc."
}Get category source inclusions
Gets all the available category sources.
Items are created under the Primary category, and Alternate categories are created to export alternate organizations of the Primary category. So, the Primary category is the source of items that appear in Alternate categories. The category sources are Primary categories that can be used as item sources in Alternate categories. Sources behave similar to symlinks.
curl --request GET \
--url https://live.copilot.fabric.inc/api-category/v1/category/source \
--header 'Authorization: Bearer <token>' \
--header 'x-site-context: <x-site-context>'import requests
url = "https://live.copilot.fabric.inc/api-category/v1/category/source"
headers = {
"x-site-context": "<x-site-context>",
"Authorization": "Bearer <token>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-site-context': '<x-site-context>', Authorization: 'Bearer <token>'}
};
fetch('https://live.copilot.fabric.inc/api-category/v1/category/source', 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/source",
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>",
"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"
"net/http"
"io"
)
func main() {
url := "https://live.copilot.fabric.inc/api-category/v1/category/source"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-site-context", "<x-site-context>")
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://live.copilot.fabric.inc/api-category/v1/category/source")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://live.copilot.fabric.inc/api-category/v1/category/source")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-site-context"] = '<x-site-context>'
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"totalSize": 100,
"pageSize": 10,
"pages": 10,
"id": "6170135a49b4af38190970fe",
"nodeId": 12,
"name": "Furniture",
"sources": [
{
"id": "61701259125b7225cbfb21b9",
"nodeId": 12,
"name": "picture",
"breadcrumbString": "PRIMARY/Furniture/Chairs"
}
]
}{
"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\"}"
Query Parameters
A 24-character system-generated category ID. id and nodeId are the two identifiers of a category and one of them must be specified.
Numeric category ID. id and nodeId are the two identifiers of a category and one of them must be specified.
Status of Category source. If omitted, 'ASSIGNED' status is used as default.
ASSIGNED, UNASSIGNED "ASSIGNED"
Page number to be retrieved. Applicable only in a paginated response and always paired with size.
Number of records per page. Applicable only in a paginated response and always paired with page.
Response
OK
Total number of records (categories)
100
Number of records (categories) in a page
10
Number of pages for the given pageSize
10
A 24-character system-generated category ID
"6170135a49b4af38190970fe"
Numeric category ID
12
Category name
"Furniture"
Show child attributes
Show child attributes
Was this page helpful?
