List projects
Requires current workspace membership. All workspace roles can read this resource, including when archived.
GET /api/v1/workspaces/{workspaceId}/projectsOperation: listProjects · Download OpenAPI
Access
Section titled “Access”This operation does not use the panel session as its authentication mechanism. Follow the operation-specific checks described above.
session
{ "type": "apiKey", "in": "cookie", "name": "__Host-localisync-session"}Parameters
Section titled “Parameters”| Name | Location | Required | Description |
|---|---|---|---|
workspaceId |
path | Yes | See constraints below. |
page |
query | No | See constraints below. |
pageSize |
query | No | See constraints below. |
status |
query | No | See constraints below. |
workspaceId
Section titled “workspaceId”{ "type": "string", "format": "uuid"}{ "type": "integer", "minimum": 1, "maximum": 100000, "default": 1}pageSize
Section titled “pageSize”{ "type": "integer", "minimum": 1, "maximum": 100, "default": 25}status
Section titled “status”{ "type": "string", "enum": [ "active", "archived", "all" ], "default": "active"}Request body
Section titled “Request body”No request body.
Responses
Section titled “Responses”Success
Response headers:
{ "Cache-Control": { "schema": { "type": "string", "const": "no-store" } }}Content type: application/json
Schema reference: ProjectsPage.
| Field | Type | Required | Constraints / description |
|---|---|---|---|
items |
Array of Project | Yes | — |
page |
integer | Yes | minimum: 1 |
pageSize |
integer | Yes | minimum: 1; maximum: 100 |
hasMore |
boolean | Yes | — |
{ "$ref": "#/components/schemas/ProjectsPage"}Invalid fields or unsupported locale
Response headers:
{ "Cache-Control": { "schema": { "type": "string", "const": "no-store" } }}Content type: application/json
Schema reference: Error.
| Field | Type | Required | Constraints / description |
|---|---|---|---|
error |
unauthorized, forbidden, invalid_request, not_found, conflict, rate_limited, unavailable |
Yes | — |
message |
string | Yes | — |
requestId |
string | No | — |
details |
object | No | — |
{ "$ref": "#/components/schemas/Error"}Authentication required
Response headers:
{ "Cache-Control": { "schema": { "type": "string", "const": "no-store" } }}Content type: application/json
Schema reference: Error.
| Field | Type | Required | Constraints / description |
|---|---|---|---|
error |
unauthorized, forbidden, invalid_request, not_found, conflict, rate_limited, unavailable |
Yes | — |
message |
string | Yes | — |
requestId |
string | No | — |
details |
object | No | — |
{ "$ref": "#/components/schemas/Error"}Insufficient role or invalid CSRF/Origin
Response headers:
{ "Cache-Control": { "schema": { "type": "string", "const": "no-store" } }}Content type: application/json
Schema reference: Error.
| Field | Type | Required | Constraints / description |
|---|---|---|---|
error |
unauthorized, forbidden, invalid_request, not_found, conflict, rate_limited, unavailable |
Yes | — |
message |
string | Yes | — |
requestId |
string | No | — |
details |
object | No | — |
{ "$ref": "#/components/schemas/Error"}Resource unavailable in the current workspace
Response headers:
{ "Cache-Control": { "schema": { "type": "string", "const": "no-store" } }}Content type: application/json
Schema reference: Error.
| Field | Type | Required | Constraints / description |
|---|---|---|---|
error |
unauthorized, forbidden, invalid_request, not_found, conflict, rate_limited, unavailable |
Yes | — |
message |
string | Yes | — |
requestId |
string | No | — |
details |
object | No | — |
{ "$ref": "#/components/schemas/Error"}Version, lifecycle, graph or idempotency conflict
Response headers:
{ "Cache-Control": { "schema": { "type": "string", "const": "no-store" } }}Content type: application/json
Schema reference: Error.
| Field | Type | Required | Constraints / description |
|---|---|---|---|
error |
unauthorized, forbidden, invalid_request, not_found, conflict, rate_limited, unavailable |
Yes | — |
message |
string | Yes | — |
requestId |
string | No | — |
details |
object | No | — |
{ "$ref": "#/components/schemas/Error"}Request limit reached
Response headers:
{ "Cache-Control": { "schema": { "type": "string", "const": "no-store" } }}Content type: application/json
| Field | Type | Required | Constraints / description |
|---|---|---|---|
message |
string | Yes | — |
error |
string | No | — |
statusCode |
integer | No | — |
{ "type": "object", "properties": { "message": { "type": "string" }, "error": { "type": "string" }, "statusCode": { "type": "integer" } }, "required": [ "message" ], "description": "Fastify route limits or the aggregate application limit may supply this response."}Dependency unavailable
Response headers:
{ "Cache-Control": { "schema": { "type": "string", "const": "no-store" } }}Content type: application/json
Schema reference: Error.
| Field | Type | Required | Constraints / description |
|---|---|---|---|
error |
unauthorized, forbidden, invalid_request, not_found, conflict, rate_limited, unavailable |
Yes | — |
message |
string | Yes | — |
requestId |
string | No | — |
details |
object | No | — |
{ "$ref": "#/components/schemas/Error"}Related guidance
Section titled “Related guidance”Choose whether we remember appearance preferences and use Google Analytics on Localisync and its documentation. Optional storage stays off until you accept.
Read our cookie policy