API Quick Reference
This is a navigable index of Cat-Scan's 118+ API endpoints, grouped by
domain. For full request/response schemas, see the interactive OpenAPI docs
at https://scan.rtb.cat/api/docs.
Core / System
| Method |
Path |
Purpose |
| GET |
/health |
Liveness check (git_sha, version) |
| GET |
/stats |
System statistics |
| GET |
/sizes |
Available ad sizes |
| GET |
/system/status |
Server status (Python, Node, FFmpeg, DB, disk) |
| GET |
/system/data-health |
Data completeness per buyer |
| GET |
/system/ui-page-load-metrics |
Frontend performance metrics |
| GET |
/geo/lookup |
Geo ID to name resolution |
| GET |
/geo/search |
Search countries/cities |
Auth
| Method |
Path |
Purpose |
| GET |
/auth/check |
Check if current session is authenticated |
| POST |
/auth/logout |
End session |
Seats
| Method |
Path |
Purpose |
| GET |
/seats |
List buyer seats |
| GET |
/seats/{buyer_id} |
Get specific seat |
| PUT |
/seats/{buyer_id} |
Update seat display name |
| POST |
/seats/populate |
Auto-create seats from data |
| POST |
/seats/discover |
Discover seats from Google API |
| POST |
/seats/{buyer_id}/sync |
Sync specific seat |
| POST |
/seats/sync-all |
Full sync (all seats) |
| POST |
/seats/collect-creatives |
Collect creative data |
Creatives
| Method |
Path |
Purpose |
| GET |
/creatives |
List creatives (with filters) |
| GET |
/creatives/paginated |
Paginated creative list |
| GET |
/creatives/{id} |
Creative details |
| GET |
/creatives/{id}/live |
Live creative data (cache-aware) |
| GET |
/creatives/{id}/destination-diagnostics |
Destination URL health |
| GET |
/creatives/{id}/countries |
Country performance breakdown |
| GET |
/creatives/{id}/geo-linguistic |
Geo-linguistic analysis |
| POST |
/creatives/{id}/detect-language |
Auto-detect language |
| PUT |
/creatives/{id}/language |
Manual language override |
| GET |
/creatives/thumbnail-status |
Batch thumbnail status |
| POST |
/creatives/thumbnails/batch |
Generate missing thumbnails |
Campaigns
| Method |
Path |
Purpose |
| GET |
/campaigns |
List campaigns |
| GET |
/campaigns/{id} |
Campaign details |
| GET |
/campaigns/ai |
AI-generated clusters |
| GET |
/campaigns/ai/{id} |
AI campaign details |
| PUT |
/campaigns/ai/{id} |
Update campaign |
| DELETE |
/campaigns/ai/{id} |
Delete campaign |
| GET |
/campaigns/ai/{id}/creatives |
Campaign's creatives |
| DELETE |
/campaigns/ai/{id}/creatives/{creative_id} |
Remove creative from campaign |
| POST |
/campaigns/auto-cluster |
AI auto-clustering |
| GET |
/campaigns/ai/{id}/performance |
Campaign performance |
| GET |
/campaigns/ai/{id}/daily-trend |
Campaign trend data |
Analytics
| Method |
Path |
Purpose |
| GET |
/analytics/waste-report |
Overall waste metrics |
| GET |
/analytics/size-coverage |
Size targeting coverage |
| GET |
/analytics/rtb-funnel |
RTB funnel breakdown |
| GET |
/analytics/rtb-funnel/configs |
Config-level funnel |
| GET |
/analytics/endpoint-efficiency |
QPS efficiency by endpoint |
| GET |
/analytics/spend-stats |
Spend statistics |
| GET |
/analytics/config-performance |
Config performance over time |
| GET |
/analytics/config-performance/breakdown |
Config field breakdown |
| GET |
/analytics/qps-recommendations |
AI recommendations |
| GET |
/analytics/performance/batch |
Batch creative performance |
| GET |
/analytics/performance/{creative_id} |
Single creative performance |
| GET |
/analytics/publishers |
Publisher domain metrics |
| GET |
/analytics/publishers/search |
Search publishers |
| GET |
/analytics/languages |
Language performance |
| GET |
/analytics/languages/multi |
Multiple language analysis |
| GET |
/analytics/geo-performance |
Geographic performance |
| GET |
/analytics/geo-performance/multi |
Multiple geo analysis |
| POST |
/analytics/import |
CSV import |
| POST |
/analytics/mock-traffic |
Generate test data |
Settings / Pretargeting
| Method |
Path |
Purpose |
| GET |
/settings/rtb-endpoints |
Bidder RTB endpoints |
| POST |
/settings/rtb-endpoints/sync |
Sync endpoint data |
| GET |
/settings/pretargeting-configs |
List pretargeting configs |
| GET |
/settings/pretargeting-configs/{id} |
Config details |
| GET |
/settings/pretargeting-history |
Config change history |
| POST |
/settings/pretargeting-configs/sync |
Sync configs from Google |
| POST |
/settings/pretargeting-configs/{id}/apply |
Apply a config change |
| POST |
/settings/pretargeting-configs/apply-all |
Apply all pending changes |
| PUT |
/settings/pretargeting-configs/{id} |
Batch update config |
Uploads
| Method |
Path |
Purpose |
| GET |
/uploads/tracking |
Daily upload summary |
| GET |
/uploads/import-matrix |
Import status by report type |
| GET |
/uploads/data-freshness |
Data freshness grid (date x type) |
| GET |
/uploads/history |
Import history |
Optimizer
| Method |
Path |
Purpose |
| GET |
/optimizer/models |
List BYOM models |
| POST |
/optimizer/models |
Register model |
| PUT |
/optimizer/models/{id} |
Update model |
| POST |
/optimizer/models/{id}/activate |
Activate model |
| POST |
/optimizer/models/{id}/deactivate |
Deactivate model |
| POST |
/optimizer/models/{id}/validate |
Test model endpoint |
| POST |
/optimizer/score-and-propose |
Generate proposals |
| GET |
/optimizer/proposals |
List active proposals |
| GET |
/optimizer/proposals/history |
Proposal history |
| POST |
/optimizer/proposals/{id}/approve |
Approve proposal |
| POST |
/optimizer/proposals/{id}/apply |
Apply proposal |
| POST |
/optimizer/proposals/{id}/sync-status |
Check apply status |
| GET |
/optimizer/segment-scores |
Segment-level scores |
| GET |
/optimizer/economics/efficiency |
Efficiency summary |
| GET |
/optimizer/economics/effective-cpm |
CPM analysis |
| GET |
/optimizer/setup |
Optimizer configuration |
| PUT |
/optimizer/setup |
Update optimizer config |
Conversions
| Method |
Path |
Purpose |
| GET |
/conversions/health |
Ingestion and aggregation status |
| GET |
/conversions/readiness |
Source readiness check |
| GET |
/conversions/ingestion-stats |
Event counts by source/period |
| GET |
/conversions/security/status |
Webhook security status |
| GET |
/conversions/pixel |
Pixel tracking endpoint |
Snapshots
| Method |
Path |
Purpose |
| GET |
/snapshots |
List config snapshots |
| POST |
/snapshots/rollback |
Restore a snapshot (with dry-run) |
Integrations
| Method |
Path |
Purpose |
| POST |
/integrations/credentials |
Upload GCP service account JSON |
| GET |
/integrations/service-accounts |
List service accounts |
| DELETE |
/integrations/service-accounts/{id} |
Delete service account |
| GET |
/integrations/language-ai/config |
AI provider status |
| PUT |
/integrations/language-ai/config |
Configure AI provider |
| GET |
/integrations/gmail/status |
Gmail import status |
| POST |
/integrations/gmail/import/start |
Trigger manual import |
| POST |
/integrations/gmail/import/stop |
Stop import job |
| GET |
/integrations/gmail/import/history |
Import history |
| GET |
/integrations/gcp/project-status |
GCP project health |
| POST |
/integrations/gcp/validate |
Test GCP connection |
Admin
| Method |
Path |
Purpose |
| GET |
/admin/users |
List users |
| POST |
/admin/users |
Create user |
| GET |
/admin/users/{id} |
User details |
| PUT |
/admin/users/{id} |
Update user |
| POST |
/admin/users/{id}/deactivate |
Deactivate user |
| GET |
/admin/users/{id}/permissions |
User's global permissions |
| GET |
/admin/users/{id}/seat-permissions |
User's per-seat permissions |
| POST |
/admin/users/{id}/seat-permissions |
Grant seat access |
| DELETE |
/admin/users/{id}/seat-permissions/{buyer_id} |
Revoke seat access |
| POST |
/admin/users/{id}/permissions |
Grant global permission |
| DELETE |
/admin/users/{id}/permissions/{sa_id} |
Revoke global permission |
| GET |
/admin/audit-log |
Audit trail |
| GET |
/admin/stats |
Admin dashboard stats |
| GET |
/admin/settings |
System configuration |
| PUT |
/admin/settings/{key} |
Update system setting |