Skip to Content

Projects

REST endpoints for Projects. Base URL https://api.competlab.com; every request needs a CL-API-Key header (see Authentication). Responses wrap in { item } or { items }; errors in { error }.

List all projects

GET/v1/projects

List all projects belonging to your organization. Returns project metadata and the most recent completed monitoring timestamp for each project.

Returns · { items }

Request

curl "https://api.competlab.com/v1/projects" \ -H "CL-API-Key: YOUR_COMPETLAB_API_KEY"

Response 200 OK

{ "items": [ { "id": "507f1f77bcf86cd799439011", "organizationId": "507f1f77bcf86cd799439011", "name": "My SaaS Product", "domain": "mycompany.com", "status": "active", "competitorCount": 5, "lastMonitoredAt": "2026-03-15T10:00:00.000Z", "createdAt": "2026-01-10T08:30:00.000Z" } ] }

Errors

StatusCodeMeaning
401api_key_missing · api_key_invalid · api_key_revoked · api_key_expired · insufficient_scopeThe CL-API-Key is missing, malformed, revoked, expired, or lacks the required scope.

Every error uses the shared { error: { code, message, status } } envelope; code is one of the values listed above.

{ "error": { "code": "api_key_invalid", "message": "Invalid API key", "status": 401 } }

Get project details

GET/v1/projects/{projectId}

Get detailed information about a specific project, including per-dimension monitoring freshness and AI monitoring prompts.

Returns · { item }

Path parameters

NameTypeDescription
projectIdstringProject ID

Request

curl "https://api.competlab.com/v1/projects/507f1f77bcf86cd799439011" \ -H "CL-API-Key: YOUR_COMPETLAB_API_KEY"

Response 200 OK

{ "item": { "id": "507f1f77bcf86cd799439011", "organizationId": "507f1f77bcf86cd799439011", "name": "My SaaS Product", "domain": "mycompany.com", "status": "active", "competitorCount": 5, "lastMonitoredAt": "2026-03-15T10:00:00.000Z", "createdAt": "2026-01-10T08:30:00.000Z", "dimensions": { "techTrust": { "lastRunAt": "2026-03-14T18:30:00.000Z" }, "content": { "lastRunAt": "2026-03-14T18:30:00.000Z" }, "positioning": { "lastRunAt": "2026-03-14T18:30:00.000Z" }, "pricing": { "lastRunAt": "2026-03-14T18:30:00.000Z" }, "aiVisibility": { "lastRunAt": "2026-03-14T18:30:00.000Z" } }, "prompts": [ "Best CRM for small business", "Compare CRM platforms" ], "promptsLastChangedAt": "2026-02-20T14:00:00.000Z" } }

Errors

StatusCodeMeaning
401api_key_missing · api_key_invalid · api_key_revoked · api_key_expired · insufficient_scopeThe CL-API-Key is missing, malformed, revoked, expired, or lacks the required scope.
404project_not_foundNo project matches the id in the path.

Every error uses the shared { error: { code, message, status } } envelope; code is one of the values listed above.

{ "error": { "code": "api_key_invalid", "message": "Invalid API key", "status": 401 } }
Last updated on