API Reference
Projects
List and retrieve projects in your organisation.
List projects
Returns all projects across all clients in your organisation.
GET /api/v1/projectsResponse
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Marketing Site",
"url": "https://example.com",
"type": "website",
"client_id": "660e8400-e29b-41d4-a716-446655440001",
"created_at": "2025-06-15T10:30:00Z"
},
{
"id": "770e8400-e29b-41d4-a716-446655440002",
"name": "Sprint Board",
"url": null,
"type": "board",
"client_id": "660e8400-e29b-41d4-a716-446655440001",
"created_at": "2025-06-10T08:00:00Z"
}
],
"meta": { "total": 2, "limit": 100, "offset": 0 }
}Fields
| Field | Type | Description |
|---|---|---|
id | string | Unique project identifier |
name | string | Project display name |
url | string | null | Website URL (null for board projects) |
type | "website" | "board" | Project type |
client_id | string | Parent client identifier |
created_at | string | ISO 8601 creation timestamp |
Example
curl -H "Authorization: Bearer $TOKEN" \
https://loop.solve-studio.co/api/v1/projectsGet project
Retrieve a single project by ID.
GET /api/v1/projects/:idPath parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Project ID |
Response
{
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"name": "Marketing Site",
"url": "https://example.com",
"type": "website",
"client_id": "660e8400-e29b-41d4-a716-446655440001",
"api_key": "pk_abc123...",
"created_at": "2025-06-15T10:30:00Z"
}
}The single-project response includes the api_key field used for widget configuration.
Errors
| Status | Error |
|---|---|
404 | Project not found |
List project members
Returns all team members who have access to a project. Useful for looking up display names for @mentions in comments.
GET /api/v1/projects/:id/membersPath parameters
| Parameter | Type | Description |
|---|---|---|
id | string | Project ID |
Response
{
"data": [
{
"user_id": "user-001",
"display_name": "Alex Johnson",
"email": "alex@example.com",
"role": "owner"
},
{
"user_id": "user-002",
"display_name": "Sam Lee",
"email": "sam@example.com",
"role": "developer"
}
],
"meta": { "total": 2, "limit": 2, "offset": 0 }
}Fields
| Field | Type | Description |
|---|---|---|
user_id | string | User's unique identifier |
display_name | string | User's display name (use this for @mentions) |
email | string | User's email address |
role | "owner" | "developer" | User's role in the organisation |
Example
curl -H "Authorization: Bearer $TOKEN" \
https://loop.solve-studio.co/api/v1/projects/550e8400-e29b-41d4-a716-446655440000/membersErrors
| Status | Error |
|---|---|
404 | Project not found |