Quick filters

GET /quick-filters

List the organization's saved quick filters, the one-click presets that sit above each list screen.

Requires the settings:read permission.

Query parameters

limitnumber

The number of records to return.

cursorstring

A pagination cursor. Fetch the next page by passing the nextCursor value from the previous response.

sortname | -name | createdAt | -createdAt

The sort order. Prefix a field with - to sort descending. Defaults to -createdAt.

filterstring

A JSON-encoded filter document, for example {"createdAt":{"$gte":"2025-01-01T00:00:00Z"}}. Filterable fields: id, type, name, createdAt. See Filtering for the syntax.

Request
curl \
  "https://your-store.meisei.app/api/quick-filters" \
  -H "Authorization: Bearer sk_YOUR_SECRET_KEY"
Response
{
  "data": [
    {
      "id": "A4Ws1igz",
      "type": "customers",
      "name": "string",
      "filter": "...",
      "createdAt": "2025-01-15T09:30:00Z",
      "updatedAt": "2025-01-15T09:30:00Z"
    }
  ],
  "nextCursor": "string"
}

POST /quick-filters

Create a quick filter. The filter document is validated against the fields its screen allows, so an unknown field is rejected up front.

Requires the settings:write permission.

Body parameters

typecustomers | products | orders | wishlists | tiers | surveys | offers | rewards | reviews | loyalty-activity | loyalty-rewards | loyalty-rulesrequired

Which list screen the quick filter appears on.

namestringrequired

The label to show on the quick filter's button.

filterobjectrequired

The filter document to apply. It is validated against the fields the chosen screen allows.

Request
curl \
  -X POST \
  "https://your-store.meisei.app/api/quick-filters" \
  -H "Authorization: Bearer sk_YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "customers",
  "name": "string",
  "filter": "..."
}'
Response
{
  "id": "A4Ws1igz",
  "type": "customers",
  "name": "string",
  "filter": "...",
  "createdAt": "2025-01-15T09:30:00Z",
  "updatedAt": "2025-01-15T09:30:00Z"
}

GET /quick-filters/{id}

Get a single quick filter by ID.

Requires the settings:read permission.

Path parameters

idstringrequired

The ID of the quick filter.

Request
curl \
  "https://your-store.meisei.app/api/quick-filters/A4Ws1igz" \
  -H "Authorization: Bearer sk_YOUR_SECRET_KEY"
Response
{
  "id": "A4Ws1igz",
  "type": "customers",
  "name": "string",
  "filter": "...",
  "createdAt": "2025-01-15T09:30:00Z",
  "updatedAt": "2025-01-15T09:30:00Z"
}

PUT /quick-filters/{id}

Rename a quick filter or change what it matches. Its screen cannot be changed.

Requires the settings:write permission.

Path parameters

idstringrequired

The ID of the quick filter to update.

Body parameters

namestring

The label shown on the quick filter's button.

filterobject

Replaces the filter document wholesale. Omit to leave it alone.

Request
curl \
  -X PUT \
  "https://your-store.meisei.app/api/quick-filters/A4Ws1igz" \
  -H "Authorization: Bearer sk_YOUR_SECRET_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "string",
  "filter": "..."
}'
Response
{
  "id": "A4Ws1igz",
  "type": "customers",
  "name": "string",
  "filter": "...",
  "createdAt": "2025-01-15T09:30:00Z",
  "updatedAt": "2025-01-15T09:30:00Z"
}

DELETE /quick-filters/{id}

Delete a quick filter. The records it matched are untouched.

Requires the settings:write permission.

Path parameters

idstringrequired

The ID of the quick filter to delete.

Request
curl \
  -X DELETE \
  "https://your-store.meisei.app/api/quick-filters/A4Ws1igz" \
  -H "Authorization: Bearer sk_YOUR_SECRET_KEY"
Response
{
  "id": "A4Ws1igz",
  "type": "customers",
  "name": "string",
  "filter": "...",
  "createdAt": "2025-01-15T09:30:00Z",
  "updatedAt": "2025-01-15T09:30:00Z"
}