/v1/recordings/views,
/v1/deals/views, /v1/companies/views and /v1/contacts/views, since the
available columns, filters and sort fields differ between domains.
Visibility
Views in Claap are either public (shared with the workspace) or private to their owner. Since API requests do not impersonate workspace users, only public views are accessible through the API:- Listing endpoints only return public views.
- Retrieving, updating or deleting a private view fails as if the view did not exist.
- Created views are always public.
Default views
Built-in default views (for example “All deals” or “My Meetings”) are returned by the listing endpoints after saved views, and can be retrieved by theirviewId. They carry isDefault: true and cannot be updated or deleted.
Listing records within a view
The record listing endpoints —GET /v1/recordings, GET /v1/deals,
GET /v1/companies and GET /v1/contacts — accept an optional viewId query
parameter. When set, the endpoint returns the records of that view: the view’s
filters and sorting are applied. The response keeps its usual shape and does not
include the view’s columns; use the view endpoints under /v1/<domain>/views
for column values.
Other query parameters narrow the results down within the view rather than
replacing its filters. For recordings, filters such as channelId, labels,
recorderId, recorderEmail, createdAfter and createdBefore intersect with
the view — a value that contradicts the view yields an empty page. Where a
sort parameter is available, it overrides the view’s own sorting.
An unknown or inaccessible viewId returns a 404 error, following the same
visibility rules as the view endpoints: private views are reported as not found.
Ownership
Creating a view requires acreatorEmail attribute. It must be the email
address of an active workspace member, who becomes the owner of the view, as
if they had created it in the Claap application.
Partial updates
Update endpoints accept partial payloads: omitted attributes keep their current values. Sending an attribute replaces its value entirely — for instance, sendingcolumns replaces the whole column list, not just the
entries it contains. A few internal filter attributes are not exposed through
the API and always keep their stored values on update.
The Me filter type
Some filters (for example the recording author or the deal owner) accept a
special entry of type Me in addition to explicit users or email addresses.
Me is resolved dynamically to whoever is viewing the table in the Claap
application, which allows a single shared view like “My deals” to show
different rows to each user.
Since API requests are not made on behalf of a workspace user, Me is
resolved against the whole workspace when listing records with a viewId: a
view filter that includes Me matches records of any workspace member, and a
view that excludes Me returns an empty page.