List workspaces
Changed onPlan: Business or higher
Scope: workspaces:read
Returns workspaces accessible to the authenticated client, with cursor pagination. Workspaces are ordered by join date, oldest first. A workspace-scoped API key returns only its workspace. Member details, including roles, are on GET /v1/workspaces/{workspace_id}/members. The num_projects count is eventually consistent and may not immediately reflect project creation or deletion.
Request
- Base URLhttps://api.lovable.dev
- Auth
- API key in header Lovable-API-Key
- or HTTP bearer
Query parameters
Maximum number of items to return per page.
Pass pagination.next_cursor from the previous response to fetch the next page. Omit for the first page; keep the same filters and sort order across pages.
Headers
Stable API version to serve, as a YYYY-MM-DD date. Omit for the oldest supported stable version, currently 2026-09-11.
Comma-separated beta revision strings to enable on top of the stable version.
Response
OK
Example response
{
"data": [
{
"created_at": "2026-01-15T09:30:00Z",
"description": "Marketing site and internal tools for Acme.",
"id": "workspace_01jw3k9m2xq8r5v0c7d4e6f2gh",
"image_url": "https://lovable.dev/cdn/workspaces/acme/avatar.png",
"name": "Acme Inc",
"num_projects": 12,
"plan": "pro",
"updated_at": "2026-01-15T09:30:00Z"
}
],
"pagination": {
"has_more": true,
"next_cursor": "eyJ2IjoxLCJpZCI6InByal8wMWp3M2s5In0"
}
}Changes
- info
for the
headerrequest parameterLovable-Version, the format was generalized fromdateto no format - info
added the non-success response with the status
- info
- breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
//became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - breaking
the response property
became nullable for the status - warning
removed the optional property
//from the response with the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
//became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status - info
the response property
became required for the status
- breaking