Search Accounts
Search accounts using up to two filters (prop1/op1/value1 and optionally prop2/op2/value2), combined with logic (AND/OR).
Properties:
propXcan be a standard field (e.g.,title,city,accountType,parentAccountId, etc.) or a custom property key name.- Use the
property keyfrom your company settings. - Find the sub-accounts of an account with
parentAccountId(e.g.,?prop1=parentAccountId&op1=eq&value1=123456).
Sub-accounts are included in results like any other account. To keep only top-level accounts, drop results whose parentAccountId is not null.
Operators (opX):
- Equality:
eq,neq - Numeric/datetime comparisons:
gt,gte,lt,lte - Text/string matching:
contains(case-insensitive) - Lists:
in,nin(CSV list invalueX) - Ranges:
between(usevalueXasfrom,to) - Existence:
existsis not supported for custom properties due to performance limitations. Useeqorneqinstead.
Value formats:
in/nin: lists can be provided as:- Plain CSV:
value1=OPEN,ACTIVE - Quoted CSV (to include commas inside a value):
value1="Last, First",Other - JSON array:
value1=["Last, First","Other"]
- Plain CSV:
between:from,to(e.g.,value1=2025-01-01,2025-12-31orvalue1=10,20)- Dates should be ISO 8601 strings; numeric-like values on custom properties are matched against both numeric and text representations.
Examples:
- status equals ACTIVE:
?prop1=status&op1=eq&value1=ACTIVE - custom id equals 1234:
?prop1=legacy_tool_project_id&op1=eq&value1=1234 - title contains “Solar”:
?prop1=name&op1=contains&value1=Solar - status IN (ACTIVE, ON_HOLD) AND city = Austin:
?prop1=status&op1=in&value1=ACTIVE,ON_HOLD&logic=and&prop2=city&op2=eq&value2=Austin
Note: The /clients path is an alias for /accounts and will continue to work until users are individually notified and migrated.
Authentication
Query parameters
First field to filter (standard or custom keyName)
Value for prop1 (comma-separated values for in/nin or between)
Value for prop2 (comma-separated values for in/nin or between)
Number of items per page (max 100)
Page number (1-based)
Whether to include archived (inactive) records in the response. By default only active records are returned.
Response
Record title/name
Record location/address
Record number (e.g., 1234)
User who created the record. Null when the record was created by a non-user actor (e.g. automation or a contact).
User who last edited a field on the record, derived from the changelog. Null when the record has never been edited or the last edit was made by a non-user actor. Returned by single-record GET only; list and search responses omit it.
Type of account (residential or commercial)
On GET requests, only populated when include_contacts=true is passed. Always populated on POST (create) and PATCH (update) responses. Ordered with the primary contact first, capped at 20 contacts.
ID of the parent account when this account is a sub-account, otherwise null. Sub-accounts nest 1 level deep: a parent account is always a top-level account.
