Skip to content
API PlatformDevelopers
GET/v1/saved-filters/{saved_filter_id}beta

Get a saved filter

Needs
Read your data (mcp:read)
Plan
Any plan with API access
Limits
300 a minute per key
Undo
Nothing to undo: this only reads.

Returns one saved filter: its name, description, type (contact or conversation), who saved it and its stored definition.

Every saved filter is visible to your whole team (visible_to: workspace); only the staff member who saved it (owner_staff_id, owned_by_you) can change it.

filter is the definition exactly as it was saved; for a contact filter that is the format of Search contacts, which applies it by id (saved_filter_id). A definition over 32 KB is left out (filter: null, filter_too_large: true).

Try it

Path

The saved filter id.

This only reads. It uses your real data and changes nothing.

Code and response

curl -X GET 'https://mcp.wa-api.cloud/v1/saved-filters/7' \
  -H "Authorization: Bearer $API_KEY"

The code reads your key from $API_KEY.

Parameters

Parameters
FieldTypeWhat it is
saved_filter_idrequiredstring | integer · pathThe saved filter id.pattern ^[1-9]\d{0,18}$

Headers

Headers
FieldTypeWhat it is
AuthorizationrequiredheaderBearer $API_KEY — your API key.
Api-VersionheaderThe API version to use, e.g. 2026-10-01. Default: the version your key is pinned to.one of: 2026-10-01 · pattern ^\d{4}-\d{2}-\d{2}$

Response 200

The saved filter.

Response fields
FieldTypeWhat it is
idrequiredstring
namerequiredstring
descriptionrequiredstring or null
typerequiredstring or nullcontact or conversation.
owner_staff_idrequiredstring or nullThe staff member who saved it; only they can change or delete it.
owned_by_yourequiredboolean or nulltrue = you saved it (you may change it in the panel).
visible_torequiredstringEvery saved filter is visible to all staff of the workspace.always workspace
filterrequiredobject or nullThe stored definition exactly as the panel saved it (for a contact filter: the GET /v1/contacts filter format). null when larger than 32000 bytes (filterTooLarge).
filter_too_largerequiredboolean
created_atrequiredstring or null
updated_atrequiredstring or null

Errors

Errors are application/problem+json. Branch on code.

StatusCodeWhen
400invalid_input

A field is missing or has the wrong format. errors[] points at each field.

401unauthenticated

The Authorization header is missing, the key is unknown, expired or revoked.

403entitlement_required

The workspace's plan does not include API access (api_access).

403insufficient_scope

The key does not have the permission this operation needs.

404not_found

No saved filter with this id in your workspace.

429rate_limited

The key or workspace went over its rate limit. Wait for Retry-After seconds.

503upstream_unavailable

A service behind the API is briefly unavailable. Safe to retry with backoff.

Examples

Read a saved contact filter

Response 200

{
  "id": "7",
  "name": "Dubai VIPs",
  "description": "VIP tag, city Dubai",
  "type": "contact",
  "owner_staff_id": "501",
  "owned_by_you": true,
  "visible_to": "workspace",
  "filter": {
    "attributes": {
      "some": {
        "attributeName": {
          "eq": "city"
        },
        "stringValue": {
          "eq": "Dubai"
        }
      }
    }
  },
  "filter_too_large": false,
  "created_at": "2026-09-01T08:00:00Z",
  "updated_at": "2026-09-02T08:00:00Z"
}

Operation path

The same operation is also at POST /v1/ops/crm_get_saved_filter, with every field in the JSON body.