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:

ParameterTypeDescription
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:

FieldTypeRequiredDescription
namestringYesView name. Must be unique per user, org, and entity type (case-insensitive).
entityType"issue" | "risk"YesThe type of records this view applies to.
scope"organization" | "product"YesWhether the view applies organization-wide or to a specific product.
productIdstring | nullConditionalRequired when scope is "product".
visibility"private" | "shared"NoDefault: "private".
filtersobjectNoSerialized filter state.
sortingobjectNo{ field: string, direction: "asc" | "desc" }.
columnVisibilityobjectNoMap 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):

FieldTypeDescription
namestringMust remain unique per user, org, and entity type.
visibility"private" | "shared"
filtersobject
sortingobject
columnVisibilityobject

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

Required role: Creator of the view only.

Returns 204 No Content.