curl --request POST \
--url https://live.copilot.fabric.inc/api-offers/segment \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"name": "Customer Type",
"value": [
"High Spender"
]
}
'import requests
url = "https://live.copilot.fabric.inc/api-offers/segment"
payload = {
"name": "Customer Type",
"value": ["High Spender"]
}
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({name: 'Customer Type', value: ['High Spender']})
};
fetch('https://live.copilot.fabric.inc/api-offers/segment', 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-offers/segment",
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([
'name' => 'Customer Type',
'value' => [
'High Spender'
]
]),
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-offers/segment"
payload := strings.NewReader("{\n \"name\": \"Customer Type\",\n \"value\": [\n \"High Spender\"\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-offers/segment")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Customer Type\",\n \"value\": [\n \"High Spender\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://live.copilot.fabric.inc/api-offers/segment")
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 \"name\": \"Customer Type\",\n \"value\": [\n \"High Spender\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"_id": "614b58924e92f6861ac9d43b",
"segmentId": 100002,
"name": "Customer Type",
"value": [
"High Spender"
],
"deleted": false,
"createdAt": "2020-12-14T12:15:43.646Z",
"updatedAt": "2021-12-14T12:15:43.646Z"
}{
"code": "SEGMENT_NAME_EXISTS",
"message": "Segment name already exists."
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error."
}Create segment
Create a segment record.
curl --request POST \
--url https://live.copilot.fabric.inc/api-offers/segment \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--header 'x-site-context: <x-site-context>' \
--data '
{
"name": "Customer Type",
"value": [
"High Spender"
]
}
'import requests
url = "https://live.copilot.fabric.inc/api-offers/segment"
payload = {
"name": "Customer Type",
"value": ["High Spender"]
}
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({name: 'Customer Type', value: ['High Spender']})
};
fetch('https://live.copilot.fabric.inc/api-offers/segment', 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-offers/segment",
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([
'name' => 'Customer Type',
'value' => [
'High Spender'
]
]),
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-offers/segment"
payload := strings.NewReader("{\n \"name\": \"Customer Type\",\n \"value\": [\n \"High Spender\"\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-offers/segment")
.header("x-site-context", "<x-site-context>")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"Customer Type\",\n \"value\": [\n \"High Spender\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://live.copilot.fabric.inc/api-offers/segment")
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 \"name\": \"Customer Type\",\n \"value\": [\n \"High Spender\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"_id": "614b58924e92f6861ac9d43b",
"segmentId": 100002,
"name": "Customer Type",
"value": [
"High Spender"
],
"deleted": false,
"createdAt": "2020-12-14T12:15:43.646Z",
"updatedAt": "2021-12-14T12:15:43.646Z"
}{
"code": "SEGMENT_NAME_EXISTS",
"message": "Segment name already exists."
}{
"code": "INTERNAL_SERVER_ERROR",
"message": "Internal server error."
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
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
Response
OK
fabric internal database ObjectId of the record
"614b58924e92f6861ac9d43b"
System generated unique ID of the segment
100002
Name of segment
"Customer Type"
Array of segment value
true: Segment is deleted
false: Segment is not deleted
false
Creation date of the record
"2020-12-14T12:15:43.646Z"
Last updated date of the record
"2021-12-14T12:15:43.646Z"
Was this page helpful?
