> ## Documentation Index
> Fetch the complete documentation index at: https://docs.memorylake.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Projects

> Returns a paginated list of projects in a workspace with optional filtering

```
GET /openapi/memorylake/api/v3/workspaces/{workspaceId}/projects
```

Returns a paginated list of projects in the specified workspace. You can filter results by name using a fuzzy match and control pagination with `page_size` and `continuation_token`.

<Note>
  **Permission required:** `project:list`
</Note>

### Path Parameters

<ParamField path="workspaceId" type="string" required>
  Workspace identifier
</ParamField>

### Query Parameters

<ParamField query="page_size" type="integer">
  Number of projects to return per page
</ParamField>

<ParamField query="continuation_token" type="string">
  Token from a previous response to fetch the next page of results
</ParamField>

<ParamField query="name_fuzzy" type="string">
  Fuzzy filter by project name (partial match)
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl -X GET 'https://app.memorylake.ai/openapi/memorylake/api/v3/workspaces/ws_abc123/projects?page_size=20' \
    -H 'Authorization: Bearer sk_xxxxxx'
  ```
</RequestExample>

### Response

<ResponseField name="data" type="object">
  <Expandable title="Paginated project list">
    <ResponseField name="items" type="array">
      Array of project objects

      <Expandable title="Project object">
        <ResponseField name="id" type="string">Unique project identifier</ResponseField>
        <ResponseField name="name" type="string">Project name</ResponseField>
        <ResponseField name="description" type="string">Project description</ResponseField>

        <ResponseField name="industries" type="array">
          Industry classifications assigned to the project

          <Expandable title="Industry object">
            <ResponseField name="id" type="string">Industry identifier</ResponseField>
            <ResponseField name="name" type="string">Industry name</ResponseField>
            <ResponseField name="description" type="string">Industry description</ResponseField>
          </Expandable>
        </ResponseField>

        <ResponseField name="custom_id" type="string">Custom identifier for external system integration</ResponseField>
        <ResponseField name="created_at" type="string">Creation timestamp</ResponseField>
        <ResponseField name="updated_at" type="string">Last update timestamp</ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="continuation_token" type="string">Token to retrieve the next page of results. Absent when there are no more pages.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseExample>
  ```json Success (200) theme={null}
  {
    "success": true,
    "data": {
      "items": [
        {
          "id": "proj_def456",
          "name": "Customer Research",
          "description": "Interview transcripts and survey analysis",
          "industries": [
            {
              "id": "ind_tech01",
              "name": "Technology",
              "description": "Software and technology sector"
            }
          ],
          "custom_id": "research-2024-q1",
          "created_at": "2024-01-15T10:30:00Z",
          "updated_at": "2024-02-10T08:15:00Z"
        }
      ],
      "continuation_token": "eyJsYXN0SWQiOiJwcm9qX2RlZjQ1NiJ9"
    }
  }
  ```
</ResponseExample>
