Search Projects

Search projects using up to two filters (prop1/op1/value1 and optionally prop2/op2/value2), combined with `logic` (AND/OR). Properties: - `propX` can be a standard field (e.g., `status`, `title`, `city`, `type`, etc.) or a custom property key name. - Use the `property key` from your company settings. Operators (`opX`): - Equality: `eq`, `neq` - Numeric/datetime comparisons: `gt`, `gte`, `lt`, `lte` - Text/string matching: `contains` (case-insensitive) - Lists: `in`, `nin` (CSV list in `valueX`) - Ranges: `between` (use `valueX` as `from,to`) - Existence: `exists` is not supported for custom properties due to performance limitations. Use `eq` or `neq` instead. 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"]` - `between`: `from,to` (e.g., `value1=2025-01-01,2025-12-31` or `value1=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:** If a project has no `title` (empty or whitespace-only), the response returns the parent account's `title` instead. The stored value is not modified — this is a read-time fallback only. Title-based search (`title` query param, full-text `q`, or the `/projects/search` endpoint with `prop=title&op=contains`) also matches projects whose own title is null/empty when the parent account's title matches the search term.

Authentication

x-api-keystring
API Key authentication via header

Query parameters

prop1stringRequired

First field to filter (standard or custom keyName)

op1enumRequired
Operator for prop1
value1stringRequired

Value for prop1 (CSV for in/nin, from,to for between)

logicenumOptionalDefaults to and
Logical combination when both prop1 and prop2 are provided
Allowed values:
prop2stringOptional
Optional second field to filter
op2enumOptional
Operator for prop2
value2stringOptional

Value for prop2 (CSV for in/nin, from,to for between)

page_sizeintegerOptional1-100Defaults to 20

Number of items per page (max 100)

pageintegerOptional>=1Defaults to 1

Page number (1-based)

order_byenumOptionalDefaults to asc
Sort order for results
Allowed values:
include_archivedbooleanOptionalDefaults to false

Whether to include archived (inactive) records in the response. By default only active records are returned.

Response

List of projects matching filters
idinteger
Unique identifier
createdAtstringformat: "date-time"
Creation timestamp
updatedAtstringformat: "date-time"
Last update timestamp
titlestring

Record title/name

descriptionstring or null
Record description
addresslist of strings

Record location/address

isActiveboolean
Whether the record is active
primaryEmailstring or nullformat: "email"
Primary contact email
primaryPhonestring or null
Primary contact phone
numberinteger

Record number (e.g., 1234)

custommap from strings to any
Custom fields
tradeslist of strings
Array of trade types
valuedouble or null
Project value
sizedouble or null
Project size
workflowIdinteger or null
Associated workflow ID
accountIdinteger or null
Associated account ID
statusenum

Status of the project:

  • ACTIVE - Project is active and in progress
  • ON_HOLD - Project is temporarily paused
  • CANCELLED - Project has been cancelled
  • COMPLETED - Project has been completed
Allowed values:
stageobject

Current stage information (Workflows 1.0).

This object is present only for records still using the original Stage-based workflow engine. When the project is managed by Workflows 2.0 (Phase engine) the stage object and related fields (stageId, timeInStageDays, slaStatus) are omitted.

phaseobject

Current phase information (Workflows 2.0).

This object replaces stage when a project is attached to the Phase-based workflow engine. If the project is still on Workflows 1.0 this object will be omitted.

workflowNamestring
Name of the associated workflow.

Errors

400
Bad Request Error
401
Unauthorized Error