Getting Started
Generate an API key and make your first request to the Loop Developer API.
This guide walks you through generating a Loop API token and making your first API request. You'll need a Loop account on the Pro or Business plan (or an active free trial).
Prerequisites
Before using the API, ensure you have:
- A Loop account with an organisation set up
- A Pro or Business plan (or an active trial)
- An Owner or Developer role in the organisation
Generate an API token
- Open your Loop dashboard
- Navigate to Settings > Developer API
- Click Generate token
- Give the token a descriptive name (e.g. "CI Pipeline" or "Staging Server")
- Copy the token immediately — it will not be shown again
The token format is tok_ followed by 64 hex characters. Store it securely; treat it like a password.
Make your first request
Test your token by listing projects in your organisation:
curl -s -H "Authorization: Bearer tok_your_token_here" \
https://loop.solve-studio.co/api/v1/projects | jqExpected response:
{
"data": [
{
"id": "abc-123",
"name": "Marketing Site",
"url": "https://example.com",
"type": "website",
"client_id": "def-456",
"created_at": "2025-01-15T10:30:00Z"
}
],
"meta": {
"total": 1,
"limit": 100,
"offset": 0
}
}Using the API with JavaScript
const API_URL = "https://loop.solve-studio.co/api/v1";
const API_TOKEN = process.env.LOOP_API_TOKEN;
async function loopFetch(path: string, options?: RequestInit) {
const res = await fetch(`${API_URL}${path}`, {
...options,
headers: {
Authorization: `Bearer ${API_TOKEN}`,
"Content-Type": "application/json",
...options?.headers,
},
});
if (!res.ok) {
const err = await res.json();
throw new Error(err.error || `API error: ${res.status}`);
}
return res.json();
}
// List all feedback marked as "new"
const { data, meta } = await loopFetch("/feedback?status=new");
console.log(`${meta.total} new feedback items`);
// Update a feedback item's status
await loopFetch("/feedback/abc-123", {
method: "PATCH",
body: JSON.stringify({ status: "in_progress" }),
});Pagination
List endpoints support limit and offset query parameters:
| Parameter | Default | Max | Description |
|---|---|---|---|
limit | 50 | 100 | Number of items per page |
offset | 0 | — | Number of items to skip |
# Get the second page of 25 items
curl -H "Authorization: Bearer $TOKEN" \
"https://loop.solve-studio.co/api/v1/feedback?limit=25&offset=25"The response meta object always includes total, limit, and offset so you can calculate pagination state.
Error handling
All error responses include a human-readable error field:
{
"error": "Developer API requires a Pro or Business plan"
}Check the HTTP status code to determine the error category:
- 401 — your token is missing, malformed, or revoked
- 403 — your plan does not include API access, or your role is insufficient
- 404 — the resource was not found or you do not have access to it
- 400 — the request body or parameters are invalid
Revoking tokens
If a token is compromised:
- Go to Settings > Developer API
- Find the token by its name and prefix
- Click Revoke
The token will stop working immediately for all API and MCP requests.
Next steps
- API Reference — explore all available endpoints
- MCP Server — connect Loop to Cursor, Claude Code, and other AI tools