Endpoints Overview
All Genlytic API endpoints at a glance.
Base URL: https://api.genlytic.app/v1
Include Authorization: Bearer gly_live_xxx on every request. See Authentication for API key setup.
REST endpoints
| Method | Path | Scope | Description |
|---|---|---|---|
GET | /v1/visibility | visibility:read | Visibility snapshots with period filter |
GET | /v1/prompts | prompts:read | Prompts list with win rates |
GET | /v1/competitors | visibility:read | Competitor SoV vs your brand |
GET | /v1/sources | visibility:read | Citation domains and gaps |
GET | /v1/optimize/actions | optimize:read | Optimize actions |
GET | /v1/optimize/actions/:id | optimize:read | Single action detail |
GET | /v1/agent/missions | agent:read | Agent missions list |
POST | /v1/scans | scans:write | Trigger a manual scan for a brand |
GET | /v1/export/metrics | visibility:read | Visibility snapshot export (date, score, model breakdown) |
OData endpoints (Power BI / Tableau)
OData 4.0 feed — connect directly from Power BI (OData feed connector) or Tableau (OData connector).
| Path | Description |
|---|---|
/v1/odata | Service document — entity set list |
/v1/odata/$metadata | EDMX schema (field types, entity definitions) |
/v1/odata/visibility | Visibility entity set |
/v1/odata/prompts | Prompts entity set |
/v1/odata/competitors | Competitor SoV entity set |
/v1/odata/sources | Sources entity set |
/v1/odata/actions | Optimize actions entity set |
OData params: $top (max 100) · $skip · $skiptoken · $count=true · period · brandId
Common query params
| Param | Values | Description |
|---|---|---|
period | 7d 30d 90d | Date range filter |
brandId | MongoDB ObjectId string | Filter to a specific brand |
limit | 1–100 (default 50) | Page size |
cursor | Opaque string from pagination.nextCursor | Pagination cursor |
Response format
All successful responses:
{
"data": [...],
"pagination": {
"hasMore": true,
"nextCursor": "6868b4c1f2a3b4c5d6e7f8a9"
}
}
All error responses:
{
"error": {
"code": "invalid_param",
"message": "brandId must be a valid ID."
}
}
Status codes
| Code | Meaning |
|---|---|
200 | Success |
400 | Bad request — invalid parameters |
401 | Unauthorized — missing or invalid API key |
403 | Forbidden — key lacks required scope, or plan too low |
404 | Not found |
429 | Rate limit exceeded |
500 / 503 | Server or database error — retry with backoff |
Pagination
All list endpoints use cursor-based pagination. Pass nextCursor from the previous response as cursor on the next request. When hasMore is false, you've reached the last page.
# Page 1
curl "https://api.genlytic.app/v1/visibility" \
-H "Authorization: Bearer gly_live_xxx"
# Page 2
curl "https://api.genlytic.app/v1/visibility?cursor=6868b4c1f2a3b4c5d6e7f8a9" \
-H "Authorization: Bearer gly_live_xxx"
Next steps
Was this page helpful?Report an issue →