API Reference
API documentation for Sublyzer One backend endpoints. Note: some SDK ingestion endpoints are public (they use integrationCode), while dashboard/admin endpoints require Bearer token authentication.
Authentication
All API requests require a Bearer token in the Authorization header:
Authorization: Bearer YOUR_JWT_TOKEN
Obtain your token by logging in via /auth/login endpoint.
Data Collection Endpoints (SDK ingestion)
POST /data-collection/collect
Send a single telemetry event from your SDK. No JWT required; the request identifies the integration via integrationCode.
POST /data-collection/collect
Content-Type: application/json
{
"integrationCode": "YOUR_24_CHAR_CODE",
"dataType": "performance",
"timestamp": "2025-01-15T10:30:00Z",
"sessionId": "session_123",
"data": {
"loadTime": 1500,
"firstContentfulPaint": 800,
"largestContentfulPaint": 1200
}
}POST /data-collection/collect-batch
Send multiple telemetry events at once. No JWT required.
POST /data-collection/collect-batch
Content-Type: application/json
{
"integrationCode": "YOUR_24_CHAR_CODE",
"data": [
{ "dataType": "event", "timestamp": "2025-01-15T10:30:00Z", "sessionId": "s1", "data": { "name": "page_view" } },
{ "dataType": "error", "timestamp": "2025-01-15T10:30:05Z", "sessionId": "s1", "data": { "message": "TypeError..." } }
]
}GET /data-collection/data
Retrieve collected data for an integration.
GET /data-collection/data?integrationId=INTEGRATION_ID&limit=100 Authorization: Bearer YOUR_TOKEN
GET /data-collection/telemetry
Get telemetry statistics (unique users, session counts).
GET /data-collection/telemetry?integrationId=INTEGRATION_ID Authorization: Bearer YOUR_TOKEN
Integration Endpoints
GET /integrations
List all integrations for the authenticated user.
GET /integrations Authorization: Bearer YOUR_TOKEN
POST /integrations
Create a new integration.
POST /integrations
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN
{
"name": "My App",
"type": "web"
}GET /integrations/:id
Get details of a specific integration.
GET /integrations/INTEGRATION_ID Authorization: Bearer YOUR_TOKEN
GitHub Integration
GET /integrations/:id/github/repos
List GitHub repositories for a connected integration.
GET /integrations/INTEGRATION_ID/github/repos Authorization: Bearer YOUR_TOKEN
POST /integrations/:id/github/select
Select repositories to connect.
POST /integrations/INTEGRATION_ID/github/select
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN
{
"repoIds": ["repo_id_1", "repo_id_2"]
}SwarmAI / TestingAI Endpoints
POST /ai/swarm/run
Start a SwarmAI/TestingAI run (multi-agent). Parameters include agents, targetUrl, maxPages and maxClicks.
POST /ai/swarm/run
Content-Type: application/json
Authorization: Bearer YOUR_TOKEN
{
"integrationId": "INTEGRATION_ID",
"agents": 8,
"targetUrl": "https://www.example.com",
"maxPages": 3,
"maxClicks": 10,
"includeAccessibility": true
}GET /ai/swarm/last
Get the last run status for an integration.
GET /ai/swarm/last?integrationId=INTEGRATION_ID Authorization: Bearer YOUR_TOKEN
GET /ai/swarm/analysis
Get analysis for the last run (or a specific runId).
GET /ai/swarm/analysis?integrationId=INTEGRATION_ID&runId=RUN_ID Authorization: Bearer YOUR_TOKEN
GET /ai/swarm/stream (SSE)
Server-Sent Events stream with live logs. Optional filter by integrationId.
GET /ai/swarm/stream?integrationId=INTEGRATION_ID
GET /ai/swarm/video
Download recorded agent video (usually .webm, sometimes .mp4).
GET /ai/swarm/video?integrationId=INTEGRATION_ID&runId=RUN_ID&agent=1 Authorization: Bearer YOUR_TOKEN
Error Responses
All endpoints return standard error responses:
{
"statusCode": 401,
"message": "Unauthorized",
"error": "Unauthorized"
}Common status codes: 400 (Bad Request), 401 (Unauthorized), 404 (Not Found), 500 (Internal Server Error).