HubSpot · Schema
SearchRequest
A search request for CRM objects. Filter groups are combined with OR logic; filters within a group are combined with AND logic.
AnalyticsCommerceContentCRMCustomer ServiceEmail MarketingMarketingMarketing AutomationOperationsSales
Properties
| Name | Type | Description |
|---|---|---|
| filterGroups | array | An array of filter groups. Records matching any filter group will be included in results (OR logic between groups). Filters within a group are all required (AND logic within groups). |
| sorts | array | An array of sort criteria to order the results. |
| query | string | A full-text search query string. When provided, returns records where any searchable property contains the query term. |
| properties | array | An array of property names to include in the response for each record. If not specified, a default set of properties is returned. |
| limit | integer | The maximum number of results to return. Maximum value is 200. |
| after | string | The cursor token for pagination. Use the value from the previous response's paging.next.after to get the next page of results. |
JSON Schema
{
"type": "object",
"description": "A search request for CRM objects. Filter groups are combined with OR logic; filters within a group are combined with AND logic.",
"properties": {
"filterGroups": {
"type": "array",
"description": "An array of filter groups. Records matching any filter group will be included in results (OR logic between groups). Filters within a group are all required (AND logic within groups).",
"example": [
{
"filters": [
{}
]
}
],
"items": {
"type": "object",
"description": "A group of filter conditions combined with AND logic. Use multiple filter groups to create OR conditions between groups.",
"properties": {
"filters": {
"type": "array",
"description": "An array of filters, all of which must match (AND logic).",
"example": [
{
"propertyName": "Example Record",
"operator": "EQ",
"value": "example-value",
"highValue": "example-value",
"values": [
{}
]
}
],
"items": {
"type": "object",
"description": "A single filter condition for a CRM object property.",
"properties": {
"propertyName": {
"type": "string",
"description": "The name of the CRM property to filter on.",
"example": "Example Record"
},
"operator": {
"type": "string",
"description": "The comparison operator for the filter.",
"example": "EQ",
"enum": [
"EQ",
"NEQ",
"LT",
"LTE",
"GT",
"GTE",
"BETWEEN",
"IN",
"NOT_IN",
"HAS_PROPERTY",
"NOT_HAS_PROPERTY",
"CONTAINS_TOKEN",
"NOT_CONTAINS_TOKEN"
]
},
"value": {
"type": "string",
"description": "The value to compare against. Not required for HAS_PROPERTY and NOT_HAS_PROPERTY operators.",
"example": "example-value"
},
"highValue": {
"type": "string",
"description": "The upper bound value for BETWEEN operator comparisons.",
"example": "example-value"
},
"values": {
"type": "array",
"description": "An array of values for IN and NOT_IN operator comparisons.",
"example": [
"example-value"
],
"items": {
"type": "object"
}
}
},
"required": [
"propertyName",
"operator"
]
}
}
}
}
},
"sorts": {
"type": "array",
"description": "An array of sort criteria to order the results.",
"example": [
{
"propertyName": "Example Record",
"direction": "ASCENDING"
}
],
"items": {
"type": "object",
"description": "A sort criterion for ordering search results.",
"properties": {
"propertyName": {
"type": "string",
"description": "The name of the CRM property to sort by.",
"example": "Example Record"
},
"direction": {
"type": "string",
"description": "The sort direction.",
"example": "ASCENDING",
"enum": [
"ASCENDING",
"DESCENDING"
]
}
},
"required": [
"propertyName"
]
}
},
"query": {
"type": "string",
"description": "A full-text search query string. When provided, returns records where any searchable property contains the query term.",
"example": "example-value"
},
"properties": {
"type": "array",
"description": "An array of property names to include in the response for each record. If not specified, a default set of properties is returned.",
"example": [
"example-value"
],
"items": {
"type": "string"
}
},
"limit": {
"type": "integer",
"description": "The maximum number of results to return. Maximum value is 200.",
"example": 10
},
"after": {
"type": "string",
"description": "The cursor token for pagination. Use the value from the previous response's paging.next.after to get the next page of results.",
"example": "example-value"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SearchRequest"
}