Skip to main content

Documentation Index

Fetch the complete documentation index at: https://qomon-86428773.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

How queries are structured

Every search query is a two-level tree. The outer group sets the top-level logic; each inner group contains the individual conditions.
query
└── $all (AND) or $at_least_one (OR)          ← outer group
    ├── $all or $at_least_one                  ← inner group
    │   ├── $condition { attr, ope, value }
    │   └── $condition { attr, ope, value }
    └── $all or $at_least_one                  ← inner group
        └── $condition { attr, ope, value }
The minimum shape — even for a single condition — is always:
{
  "data": {
    "advanced_search": {
      "per_page": 100,
      "query": {
        "$all": [
          {
            "$all": [
              {
                "$condition": {
                  "attr": "address.city",
                  "ope": "eql",
                  "value": "Paris"
                }
              }
            ]
          }
        ]
      }
    }
  }
}

Operators

OperatorMeaning
eqlEquals (tokenised match)
not_eqlDoes not equal
eql:strictdataExact literal match
not_eql:strictdataNot an exact literal match
extHas a value / is filled in
not_extHas no value / is empty
containsContains the substring
not_containsDoes not contain the substring
start_withStarts with
not_start_withDoes not start with
gteGreater than or equal
lteLess than or equal
rangeBetween two values — use from and to
Date fields accept relative values: "now", "now-30d", "now-1y", "now+1y". All dates are interpreted as UTC.

Getting a count without results

Use POST /kpi with the same query body (omit per_page) to get the number of matching contacts instantly without fetching the full contact list.
{ "data": { "advanced_search": { "query": { "$all": [ ... ] } } } }
Response: { "data": { "total": 1042 }, "status": "success" }

Custom fields and form answers

Custom fields and form answers use a different condition shape — you must supply form_id and form_ref_ids alongside attr and ope:
{
  "$condition": {
    "attr": "custom_fields",
    "ope": "eql",
    "form_id": 1001,
    "form_ref_ids": [2001]
  }
}
Retrieve your form_id and form_ref_ids from GET /forms/custom_fields.
Last modified on May 19, 2026