---
title: "GET /portfolio/{portfolioId}/views"
method: GET
path: "/portfolio/{portfolioId}/views"
tags: ["Views"]
---

# GET /portfolio/{portfolioId}/views

`GET /portfolio/{portfolioId}/views`

## Request

- Base URL: `https://api.craft.io`
- URL: `https://api.craft.io/portfolio/{portfolioId}/views`
- Auth: API key in header `x-api-key`

List the portfolio's views and the categories they are organised by.

## Path parameters

- `portfolioId` string, required

## Query parameters

- `category` string
- `ownerType` 'personal' | 'workspace'
- `name` string
- `page` number, double
- `limit` number, double

## Response `200`

The portfolio views

- ViewListResponse: Saved views — the filters, grouping, sorting and columns a user has set up in the app. Reading one lets a client work on exactly what the user sees; creating one hands a result back to the user as something they can open. Views belong to a workspace or a portfolio, and are either personal (only the owner sees them) or workspace-wide (everyone, admins only to create). The routes mirror that: the same five operations under both containers.
  - `views` ViewSummary[], required
    - `viewId` string, required
    - `name` string, required
    - `viewType` string, required
    - `ownerType` 'personal' | 'workspace', required
    - `category` string
    - `workspaceId` string
    - `portfolioId` string
    - `webUrl` string
  - `categories` CategorySummary[], required: Categories the container's views menu is organised by.
    - `name` string, required
    - `scope` 'workspace' | 'personal', required
  - `canCreateWorkspaceViews` boolean, required: False when the caller may only create personal views here.
  - `page` number, double, required
  - `limit` number, double, required
  - `total` number, double, required

## Other responses

- `400`: Invalid portfolio ID
- `403`: Access denied

## Changes

- **2026-10-01** `6009bb084cb5`: 2 info
  - added the optional property `error` to the response with the `400` status
  - added the optional property `error` to the response with the `403` status
- **2026-08-19** `df0d980eb1e3`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/craft/apis/craft-io-public-api/changes/portfolio/:portfolioId/views/get.md)

---

[API](https://skmtc.dev/craft/apis/craft-io-public-api.md) - [All operations](https://skmtc.dev/craft/apis/craft-io-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/craft/apis/craft-io-public-api/revisions/2972a1b05ab1?raw)
