Workspace API
List Views
List or filter shared workspace Views with GET /workspace/views.
GET https://api.parcelengineering.com/api/v1/workspace/viewsReturns shared View definitions and metadata for the workspace. Filter by id, name substring, dataset, type, or (with a user JWT) Favorites only.
List Views costs 0 credits. Requires workspace:read.
The Workspace API requires the Pro plan. A request from a non-Pro workspace or a non-member receives 403 forbidden.
Query parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
workspace_id | string (UUID) | Conditional | Attribution. Required for user JWT; optional for API keys. |
id | string (UUID) | No | Fetch one View by id. |
query | string (min 1) | No | Case-insensitive name substring. |
dataset | account | contact | project | No | Limit to one dataset. |
view_type | dynamic | static | No | Limit to Dynamic or Static. |
favorite_only | true | false | No | Only the current user’s Favorites. Requires a user JWT; API keys receive 400 user_identity_required. |
limit | integer 1..100 | No | Default 25. |
offset | integer ≥ 0 | No | Default 0. |
Example
curl "https://api.parcelengineering.com/api/v1/workspace/views?dataset=account&view_type=dynamic" \ -H "Authorization: Bearer pcl_your_api_key"const response = await fetch( 'https://api.parcelengineering.com/api/v1/workspace/views?dataset=account&view_type=dynamic', { headers: { 'Authorization': 'Bearer pcl_your_api_key' }, });
const { data, metadata } = await response.json();Response
{ "data": { "views": [ { "id": "a1b2c3d4-0001-4e8d-bf6a-000000000001", "workspace_id": "w1e2f3a4-0001-4b7c-9e5d-000000000001", "dataset": "account", "view_type": "dynamic", "name": "Tier 1 architects", "definition": { "version": 1, "q": "architect", "fields": { "account_type": ["architect"], "icp_tier": ["tier_1"] } }, "presentation": { "version": 1, "sorting": [], "column_visibility": {} }, "revision": 1, "created_by": null, "updated_by": null, "created_at": "2026-07-01T12:00:00.000Z", "updated_at": "2026-07-01T12:00:00.000Z", "is_favorite": false, "favorite_position": null } ] }, "metadata": { "limit": 25, "offset": 0, "credits": 0 }}Every listed View includes is_favorite and favorite_position. API-key principals always receive is_favorite: false and favorite_position: null (they have no user identity). User JWTs reflect the caller’s Favorites. Only Static Views include record_count (exact membership size after the entity join). Dynamic Views omit record_count; use Search View Records for a request-scoped total.
See Workspace Views for definition grammar.