List Saved Views

Read the saved views in a workspace, or fetch one by ID, via the savedViews and savedView queries.


Use the savedViews query to read the saved views in a workspace, and the savedView query to fetch a single view by ID. A saved view is a SavedView object: a stored workspace layout (board, database, calendar, timeline, or map) with its own filters, sorting, and column configuration. Saved views belong to a workspace (a Project in the API).

Both queries return only the views the caller can see: their own personal views plus every shared view in the workspace. Personal views created by other members are never returned — and savedView reports them as not found rather than forbidden, so a missing ID and another user’s private view are indistinguishable. savedViews returns a SavedViewPagination page of items plus pageInfo, ordered by position descending.

POST https://api.blue.app/graphql
blue-token-id: YOUR_TOKEN_ID
blue-token-secret: YOUR_TOKEN_SECRET
blue-org-id: YOUR_ORG_ID

Company headers accept an ID or a slug. Header names are case-insensitive. See Authentication for the full header reference.

Request

List the saved views in a workspace. The smallest call passes only filter.projectId.

query ListSavedViews {
  savedViews(filter: { projectId: "project_123" }) {
    items {
      id
      name
      viewType
      isShared
      position
    }
    pageInfo {
      totalItems
      hasNextPage
    }
  }
}
projectId must be an exact ID

For this query, filter.projectId must be the exact workspace ID — a slug is not accepted. Passing a slug returns an empty items array rather than an error.

Parameters

Arguments

ArgumentTypeRequiredDescription
filterSavedViewFilterInput!YesSelects the workspace to read views from.
skipIntNoNumber of views to skip. Defaults to 0.
takeIntNoMaximum number of views to return. Defaults to 100. Not capped server-side.

SavedViewFilterInput

FieldTypeRequiredDescription
projectIdString!YesThe workspace ID. A slug is not accepted for this query.

Response

{
  "data": {
    "savedViews": {
      "items": [
        {
          "id": "clm4n8qwx000008l0g4oxdqn7",
          "name": "Sprint Board",
          "viewType": "BOARD",
          "isShared": true,
          "position": 2
        },
        {
          "id": "clm4n8qwx000108l0h7tzbq19",
          "name": "My Backlog",
          "viewType": "DATABASE",
          "isShared": false,
          "position": 1
        }
      ],
      "pageInfo": {
        "totalItems": 2,
        "hasNextPage": false
      }
    }
  }
}

SavedViewPagination

FieldTypeDescription
items[SavedView!]!The saved views on this page.
pageInfoPageInfo!Pagination metadata. See PageInfo.

SavedView

FieldTypeDescription
idID!Unique identifier for the saved view.
uidString!Short human-readable identifier.
nameString!Display name of the view.
iconStringIcon identifier, or null if none is set.
positionFloat!Sort position. Views are returned in descending position order.
isSharedBoolean!true if the view is visible to all workspace members; false for a personal view.
viewTypeSavedViewType!Layout type. See SavedViewType.
viewConfigJSON!The view’s filters, grouping, sorting, and column settings, as a JSON object.
createdByUser!The member who created the view.
projectProject!The workspace the view belongs to.
createdAtDateTime!When the view was created.
updatedAtDateTime!When the view was last updated.

SavedViewType

ValueDescription
BOARDKanban-style board grouped into columns.
DATABASESpreadsheet-style table of records.
CALENDARRecords placed on a calendar by date.
TIMELINEGantt-style timeline.
MAPRecords plotted on a map by location.

PageInfo

FieldTypeDescription
totalItemsIntTotal number of views matching the filter.
totalPagesIntTotal number of pages at the current take.
pageIntCurrent page number.
perPageIntNumber of items per page.
hasNextPageBoolean!true if more views follow this page.
hasPreviousPageBoolean!true if views precede this page.

PageInfo also exposes startCursor and endCursor, both deprecated — use skip/take offset pagination instead.

Full example

Read every field of every view in a workspace, with full pagination metadata and nested relationships.

query ListSavedViewsDetailed {
  savedViews(filter: { projectId: "project_123" }, skip: 0, take: 50) {
    items {
      id
      uid
      name
      icon
      viewType
      isShared
      position
      viewConfig
      createdBy {
        id
        fullName
      }
      project {
        id
        name
      }
      createdAt
      updatedAt
    }
    pageInfo {
      totalItems
      totalPages
      page
      perPage
      hasNextPage
      hasPreviousPage
    }
  }
}

Get a single saved view

Use the savedView query to fetch one view by its id. The view must be one the caller can see — their own, or a shared view in a workspace they belong to. Any other ID (nonexistent, in a workspace they don’t belong to, or another member’s personal view) returns the SAVED_VIEW_NOT_FOUND error.

query GetSavedView {
  savedView(id: "clm4n8qwx000008l0g4oxdqn7") {
    id
    uid
    name
    icon
    viewType
    isShared
    position
    viewConfig
    createdBy {
      id
      fullName
    }
    createdAt
    updatedAt
  }
}

Returns a single SavedView (see the field table above).

{
  "data": {
    "savedView": {
      "id": "clm4n8qwx000008l0g4oxdqn7",
      "uid": "sv_8qwx",
      "name": "Sprint Board",
      "icon": "kanban",
      "viewType": "BOARD",
      "isShared": true,
      "position": 2,
      "viewConfig": { "groupBy": "list", "sort": [{ "field": "duedAt", "direction": "asc" }] },
      "createdBy": {
        "id": "user_123",
        "fullName": "Jordan Lee"
      },
      "createdAt": "2026-05-12T09:30:00.000Z",
      "updatedAt": "2026-05-20T14:05:00.000Z"
    }
  }
}

Errors

CodeWhen
SAVED_VIEW_NOT_FOUND(savedView only) No visible view matches the id: it does not exist, is in a workspace the caller is not a member of, or is another member’s personal view.

savedViews does not raise a not-found error — a workspace the caller cannot see, or one with no matching views, returns an empty items array.

Permissions

Any workspace member can read saved views, regardless of project role. Both queries scope results to the caller: their own personal views plus all shared views in workspaces they belong to. Personal views created by other members are never returned.

To find which view is the workspace default, read defaultSavedView on the Project type; for the caller’s personal default, read userDefaultSavedView.