Skip to content

Saved Views

import { Aside } from ‘@astrojs/starlight/components’;

GET /v1/organizations/:orgId/views

Required role: Member.

Returns all views visible to the current user: their own private views plus all shared views in the organization.

Query parameters:

Parameter Type Description
entityType "issue" | "risk" Filter by entity type.

Response:

{
"views": [
{
"id": "...",
"name": "Open critical issues",
"entityType": "issue",
"scope": "organization",
"visibility": "shared",
"organizationId": "...",
"productId": null,
"createdBy": "...",
"filters": { ... },
"sorting": { "field": "createdAt", "direction": "desc" },
"columnVisibility": { "severity": true, "priority": true },
"createdAt": "...",
"updatedAt": "..."
}
]
}

POST /v1/organizations/:orgId/views

Required role: Member.

Request body:

Field Type Required Description
name string Yes View name. Must be unique per user, org, and entity type (case-insensitive).
entityType "issue" | "risk" Yes The type of records this view applies to.
scope "organization" | "product" Yes Whether the view applies organization-wide or to a specific product.
productId string | null Conditional Required when scope is "product".
visibility "private" | "shared" No Default: "private".
filters object No Serialized filter state.
sorting object No { field: string, direction: "asc" | "desc" }.
columnVisibility object No Map of column names to boolean visibility flags.

Returns 201 Created.


PATCH /v1/organizations/:orgId/views/:viewId

Required role: Creator of the view only.

Request body (all fields optional):

Field Type Description
name string Must remain unique per user, org, and entity type.
visibility "private" | "shared"
filters object
sorting object
columnVisibility object

DELETE /v1/organizations/:orgId/views/:viewId

Required role: Creator of the view only.

Returns 204 No Content.