Workspace API
Remove View Records
Remove records from a Static View with DELETE /records/{record_id} and POST /records/delete/batch.
DELETE https://api.parcelengineering.com/api/v1/workspace/views/{id}/records/{recordId}POST https://api.parcelengineering.com/api/v1/workspace/views/{id}/records/delete/batchRemoves one or more record IDs from a Static View. Dynamic Views are rejected with 400 view_type_mismatch. Removes are idempotent: an ID not in the View still reports success.
Remove costs 0 credits. Requires workspace:write.
Removing a Contact from its last Static View ends that visibility source only when no book overlay or project link remains. It does not delete an existing workspace overlay. See Workspace Views.
The Workspace API requires the Pro plan. A request from a non-Pro workspace or a non-member receives 403 forbidden.
Path parameters (single)
| Parameter | Description |
|---|---|
id | UUID of the Static View. |
recordId | UUID of the record to remove. |
Batch body
{ "ids": ["8a1f3c2e-0001-4b7d-9e5a-000000000001", "9b2e4d3f-0002-4b7d-9e5a-000000000002"] }1–100 UUIDs. Per-item results in input order.
Example
curl -X DELETE \ https://api.parcelengineering.com/api/v1/workspace/views/a1b2c3d4-0001-4e8d-bf6a-000000000001/records/8a1f3c2e-0001-4b7d-9e5a-000000000001 \ -H "Authorization: Bearer pcl_your_api_key"const response = await fetch( 'https://api.parcelengineering.com/api/v1/workspace/views/a1b2c3d4-0001-4e8d-bf6a-000000000001/records/8a1f3c2e-0001-4b7d-9e5a-000000000001', { method: 'DELETE', headers: { 'Authorization': 'Bearer pcl_your_api_key' }, });
const { data, metadata } = await response.json();Response
{ "data": { "view_id": "a1b2c3d4-0001-4e8d-bf6a-000000000001", "results": [ { "index": 0, "record_id": "8a1f3c2e-0001-4b7d-9e5a-000000000001", "status": "ok" } ] }, "metadata": { "credits": 0, "succeeded": 1, "failed": 0 }}