Integration API
Errors and rate limits
Successful responses return the JSON payload directly.
Failures return error_code and error_message (HTTP 500).
Common errors
| Code | Meaning |
-4 | Not authorized (missing/invalid key or secret, disabled credential, inactive company) |
-3 | Bad request |
-132 | Query set not found (or outside company scope) |
-145 | Rate limited |
Rate limits
Integration requests are limited to 120 requests per API key per 60 seconds. When exceeded, the API returns error code -145.
Error responses
Not authorized
Endpoint
GET /brands/list
Return
{
"error_code": -4,
"error_message": "Not authorized"
}
Example
curl -sS "https://api.symios.ai/v2/integration/brands/list" \
-H "X-Api-Key: sk_live_YOUR_KEY" \
-H "X-Api-Secret: YOUR_SECRET"
const response = await fetch('https://api.symios.ai/v2/integration/brands/list', {
headers: {
'X-Api-Key': 'sk_live_YOUR_KEY',
'X-Api-Secret': 'YOUR_SECRET',
},
});
const data = await response.json();
console.log(data);
$ch = curl_init('https://api.symios.ai/v2/integration/brands/list');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-Api-Key: sk_live_YOUR_KEY',
'X-Api-Secret: YOUR_SECRET',
],
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
Query set not found
Endpoint
GET /sets/{querySetId}/details
Return
{
"error_code": -132,
"error_message": "Query set not found"
}
Example
curl -sS "https://api.symios.ai/v2/integration/sets/42/details" \
-H "X-Api-Key: sk_live_YOUR_KEY" \
-H "X-Api-Secret: YOUR_SECRET"
const response = await fetch('https://api.symios.ai/v2/integration/sets/42/details', {
headers: {
'X-Api-Key': 'sk_live_YOUR_KEY',
'X-Api-Secret': 'YOUR_SECRET',
},
});
const data = await response.json();
console.log(data);
$ch = curl_init('https://api.symios.ai/v2/integration/sets/42/details');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-Api-Key: sk_live_YOUR_KEY',
'X-Api-Secret: YOUR_SECRET',
],
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);
Rate limited
Endpoint
GET /presence/sets/{querySetId}/gross
Return
{
"error_code": -145,
"error_message": "Rate limit exceeded"
}
Example
curl -sS "https://api.symios.ai/v2/integration/presence/sets/42/gross" \
-H "X-Api-Key: sk_live_YOUR_KEY" \
-H "X-Api-Secret: YOUR_SECRET"
const response = await fetch('https://api.symios.ai/v2/integration/presence/sets/42/gross', {
headers: {
'X-Api-Key': 'sk_live_YOUR_KEY',
'X-Api-Secret': 'YOUR_SECRET',
},
});
const data = await response.json();
console.log(data);
$ch = curl_init('https://api.symios.ai/v2/integration/presence/sets/42/gross');
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_HTTPHEADER => [
'X-Api-Key: sk_live_YOUR_KEY',
'X-Api-Secret: YOUR_SECRET',
],
]);
$response = curl_exec($ch);
curl_close($ch);
$data = json_decode($response, true);