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
/v1/projectsList all projects belonging to your organization. Returns project metadata and the most recent completed monitoring timestamp for each project.
Request
curl "https://api.competlab.com/v1/projects" \
-H "CL-API-Key: YOUR_COMPETLAB_API_KEY"Response 200 OK
Example
{
"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
| Status | Code | Meaning |
|---|---|---|
| 401 | api_key_missing · api_key_invalid · api_key_revoked · api_key_expired · insufficient_scope | The 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
/v1/projects/{projectId}Get detailed information about a specific project, including per-dimension monitoring freshness and AI monitoring prompts.
Path parameters
| Name | Type | Description |
|---|---|---|
projectId | string | Project ID |
Request
curl "https://api.competlab.com/v1/projects/507f1f77bcf86cd799439011" \
-H "CL-API-Key: YOUR_COMPETLAB_API_KEY"Response 200 OK
Example
{
"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
| Status | Code | Meaning |
|---|---|---|
| 401 | api_key_missing · api_key_invalid · api_key_revoked · api_key_expired · insufficient_scope | The CL-API-Key is missing, malformed, revoked, expired, or lacks the required scope. |
| 404 | project_not_found | No 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
}
}