curl --request POST \
--url https://api.getcargo.io/v1/segmentation/segments/fetch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"modelUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"filter": {
"groups": [
{
"conditions": [
{
"kind": "sql",
"name": "<string>",
"clause": "<string>"
}
]
}
]
},
"sort": [
{
"columnSlug": "<string>"
}
],
"limit": 123,
"fetchingLimit": 123,
"fetchingOffset": 123,
"enrich": true,
"sync": true
}
'import requests
url = "https://api.getcargo.io/v1/segmentation/segments/fetch"
payload = {
"modelUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"filter": { "groups": [{ "conditions": [
{
"kind": "sql",
"name": "<string>",
"clause": "<string>"
}
] }] },
"sort": [{ "columnSlug": "<string>" }],
"limit": 123,
"fetchingLimit": 123,
"fetchingOffset": 123,
"enrich": True,
"sync": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
modelUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
filter: {groups: [{conditions: [{kind: 'sql', name: '<string>', clause: '<string>'}]}]},
sort: [{columnSlug: '<string>'}],
limit: 123,
fetchingLimit: 123,
fetchingOffset: 123,
enrich: true,
sync: true
})
};
fetch('https://api.getcargo.io/v1/segmentation/segments/fetch', 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.getcargo.io/v1/segmentation/segments/fetch",
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([
'modelUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'filter' => [
'groups' => [
[
'conditions' => [
[
'kind' => 'sql',
'name' => '<string>',
'clause' => '<string>'
]
]
]
]
],
'sort' => [
[
'columnSlug' => '<string>'
]
],
'limit' => 123,
'fetchingLimit' => 123,
'fetchingOffset' => 123,
'enrich' => true,
'sync' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.getcargo.io/v1/segmentation/segments/fetch"
payload := strings.NewReader("{\n \"modelUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"filter\": {\n \"groups\": [\n {\n \"conditions\": [\n {\n \"kind\": \"sql\",\n \"name\": \"<string>\",\n \"clause\": \"<string>\"\n }\n ]\n }\n ]\n },\n \"sort\": [\n {\n \"columnSlug\": \"<string>\"\n }\n ],\n \"limit\": 123,\n \"fetchingLimit\": 123,\n \"fetchingOffset\": 123,\n \"enrich\": true,\n \"sync\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
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.getcargo.io/v1/segmentation/segments/fetch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"modelUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"filter\": {\n \"groups\": [\n {\n \"conditions\": [\n {\n \"kind\": \"sql\",\n \"name\": \"<string>\",\n \"clause\": \"<string>\"\n }\n ]\n }\n ]\n },\n \"sort\": [\n {\n \"columnSlug\": \"<string>\"\n }\n ],\n \"limit\": 123,\n \"fetchingLimit\": 123,\n \"fetchingOffset\": 123,\n \"enrich\": true,\n \"sync\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/segmentation/segments/fetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"modelUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"filter\": {\n \"groups\": [\n {\n \"conditions\": [\n {\n \"kind\": \"sql\",\n \"name\": \"<string>\",\n \"clause\": \"<string>\"\n }\n ]\n }\n ]\n },\n \"sort\": [\n {\n \"columnSlug\": \"<string>\"\n }\n ],\n \"limit\": 123,\n \"fetchingLimit\": 123,\n \"fetchingOffset\": 123,\n \"enrich\": true,\n \"sync\": true\n}"
response = http.request(request)
puts response.read_body{
"records": [
{}
],
"columns": [
{
"slug": "<string>",
"type": "string",
"label": "<string>",
"modelUuid": "<string>"
}
],
"count": 123,
"isRefreshing": true
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Fetch segment data
Fetch data for a segment (POST /segmentation/segments/fetch).
curl --request POST \
--url https://api.getcargo.io/v1/segmentation/segments/fetch \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"modelUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"filter": {
"groups": [
{
"conditions": [
{
"kind": "sql",
"name": "<string>",
"clause": "<string>"
}
]
}
]
},
"sort": [
{
"columnSlug": "<string>"
}
],
"limit": 123,
"fetchingLimit": 123,
"fetchingOffset": 123,
"enrich": true,
"sync": true
}
'import requests
url = "https://api.getcargo.io/v1/segmentation/segments/fetch"
payload = {
"modelUuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"filter": { "groups": [{ "conditions": [
{
"kind": "sql",
"name": "<string>",
"clause": "<string>"
}
] }] },
"sort": [{ "columnSlug": "<string>" }],
"limit": 123,
"fetchingLimit": 123,
"fetchingOffset": 123,
"enrich": True,
"sync": True
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
modelUuid: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
filter: {groups: [{conditions: [{kind: 'sql', name: '<string>', clause: '<string>'}]}]},
sort: [{columnSlug: '<string>'}],
limit: 123,
fetchingLimit: 123,
fetchingOffset: 123,
enrich: true,
sync: true
})
};
fetch('https://api.getcargo.io/v1/segmentation/segments/fetch', 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.getcargo.io/v1/segmentation/segments/fetch",
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([
'modelUuid' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'filter' => [
'groups' => [
[
'conditions' => [
[
'kind' => 'sql',
'name' => '<string>',
'clause' => '<string>'
]
]
]
]
],
'sort' => [
[
'columnSlug' => '<string>'
]
],
'limit' => 123,
'fetchingLimit' => 123,
'fetchingOffset' => 123,
'enrich' => true,
'sync' => true
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.getcargo.io/v1/segmentation/segments/fetch"
payload := strings.NewReader("{\n \"modelUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"filter\": {\n \"groups\": [\n {\n \"conditions\": [\n {\n \"kind\": \"sql\",\n \"name\": \"<string>\",\n \"clause\": \"<string>\"\n }\n ]\n }\n ]\n },\n \"sort\": [\n {\n \"columnSlug\": \"<string>\"\n }\n ],\n \"limit\": 123,\n \"fetchingLimit\": 123,\n \"fetchingOffset\": 123,\n \"enrich\": true,\n \"sync\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
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.getcargo.io/v1/segmentation/segments/fetch")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"modelUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"filter\": {\n \"groups\": [\n {\n \"conditions\": [\n {\n \"kind\": \"sql\",\n \"name\": \"<string>\",\n \"clause\": \"<string>\"\n }\n ]\n }\n ]\n },\n \"sort\": [\n {\n \"columnSlug\": \"<string>\"\n }\n ],\n \"limit\": 123,\n \"fetchingLimit\": 123,\n \"fetchingOffset\": 123,\n \"enrich\": true,\n \"sync\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.getcargo.io/v1/segmentation/segments/fetch")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"modelUuid\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"filter\": {\n \"groups\": [\n {\n \"conditions\": [\n {\n \"kind\": \"sql\",\n \"name\": \"<string>\",\n \"clause\": \"<string>\"\n }\n ]\n }\n ]\n },\n \"sort\": [\n {\n \"columnSlug\": \"<string>\"\n }\n ],\n \"limit\": 123,\n \"fetchingLimit\": 123,\n \"fetchingOffset\": 123,\n \"enrich\": true,\n \"sync\": true\n}"
response = http.request(request)
puts response.read_body{
"records": [
{}
],
"columns": [
{
"slug": "<string>",
"type": "string",
"label": "<string>",
"modelUuid": "<string>"
}
],
"count": 123,
"isRefreshing": true
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}{
"errorMessage": "<string>",
"reason": "<string>"
}Authorizations
API token from cargo-ai login. Send as Authorization: Bearer <token>.
Headers
Client-generated key that makes this write safe to retry. Reusing the same key with the same request returns the original response instead of creating a second record. Reusing it with a different request returns 422. A concurrent retry while the first request is still running returns 409. Keys expire after 24 hours. Not accepted on multipart file uploads. Optional: a request without one is processed as it always was.
255"8e03978e-40d5-43e8-bc93-6894a57f9324"
Body
Request body schema.
Model identifier.
^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$Segment filter criteria.
Show child attributes
Show child attributes
Sort criteria for the segment.
Show child attributes
Show child attributes
Maximum number of records to include.
Number of records to fetch per batch.
Offset for fetching records.
Whether to enrich records with segment membership (adds a _segments column).
Whether to sync before fetching.
Response
Fetch segment data
Fetched segment records.
Show child attributes
Show child attributes
Segment columns.
Show child attributes
Show child attributes
Total number of records.
Whether a model refresh was still running, so very recent writes may be missing. Fetch again shortly for fresher data.
Was this page helpful?

