curl --request POST \
--url https://developer.synq.io/api/overlays/v1/member-counts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"overlayEntityIds": [
"<string>"
]
}
'import requests
url = "https://developer.synq.io/api/overlays/v1/member-counts"
payload = { "overlayEntityIds": ["<string>"] }
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({overlayEntityIds: ['<string>']})
};
fetch('https://developer.synq.io/api/overlays/v1/member-counts', 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://developer.synq.io/api/overlays/v1/member-counts",
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([
'overlayEntityIds' => [
'<string>'
]
]),
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://developer.synq.io/api/overlays/v1/member-counts"
payload := strings.NewReader("{\n \"overlayEntityIds\": [\n \"<string>\"\n ]\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://developer.synq.io/api/overlays/v1/member-counts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"overlayEntityIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.synq.io/api/overlays/v1/member-counts")
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 \"overlayEntityIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"overlays": [
{
"overlayEntityId": "<string>",
"memberCount": 123
}
]
}BatchGetOverlayMemberCounts
Count the members of each named overlay.
The cheap way to answer “how big is this” — use it for a summary line or a badge. When you need the assets themselves, list them through the service that defines the overlay.
Counts distinct members, so an owner responsible for two data products that overlap is not charged twice for the assets they share.
Same freshness as BatchGetEntityOverlays: counts follow the periodic
recomputation of what each overlay contains.
Returns PERMISSION_DENIED if your credential can read neither data products nor owners.
curl --request POST \
--url https://developer.synq.io/api/overlays/v1/member-counts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"overlayEntityIds": [
"<string>"
]
}
'import requests
url = "https://developer.synq.io/api/overlays/v1/member-counts"
payload = { "overlayEntityIds": ["<string>"] }
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({overlayEntityIds: ['<string>']})
};
fetch('https://developer.synq.io/api/overlays/v1/member-counts', 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://developer.synq.io/api/overlays/v1/member-counts",
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([
'overlayEntityIds' => [
'<string>'
]
]),
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://developer.synq.io/api/overlays/v1/member-counts"
payload := strings.NewReader("{\n \"overlayEntityIds\": [\n \"<string>\"\n ]\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://developer.synq.io/api/overlays/v1/member-counts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"overlayEntityIds\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://developer.synq.io/api/overlays/v1/member-counts")
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 \"overlayEntityIds\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"overlays": [
{
"overlayEntityId": "<string>",
"memberCount": 123
}
]
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
The overlays to count: 1 to 1000 ids, no duplicates.
Opaque ids, as returned by BatchGetEntityOverlays or by the listing calls
of the service that defines the overlay. Data products and owners may be
mixed freely in one request.
1 - 1000 elements1 - 2048Response
Success
One entry per requested overlay, in the order they were requested.
Show child attributes
Show child attributes