/api/v1/object/data/{objectSlug}/searchSearch an object's records by free text.
Search an object's records by free text.
Finds records whose text, long text, email, phone, WhatsApp number or
serial number fields contain searchTerm, ignoring case. The record slug
and its random_id are searched too. When the term holds 6 or more digits,
phone and WhatsApp numbers also match on digits alone, so 201505779515
finds +20 150 577 9515. An empty or missing searchTerm returns all
records. Results come newest first.
The response has the same shape as GET /object/data/{objectSlug}:
records keyed by field slug in data.data, the columns in data.fields,
and pagination at the top level. Only records the credential can see are
returned.
Query parameters:
page— page number, from 1. Default1.limit— records per page, up to200. Default25.
Scope: read.<object slug>, for example read.contacts.
Errors:
400— no active object has that slug.403— the credential lacksread.<object slug>.422— the body or query is invalid, for examplesearchTermis longer than 200 characters.
Request:
{ "searchTerm": "sara" }
Response 200:
{
"status": 200,
"message": "Search completed successfully",
"data": {
"fields": [
{
"name": "name",
"slug": "name-mp9nm29v",
"label": "Name",
"type": "text",
"icon": null,
"options": null,
"is_system": true,
"api_only": false,
"field_group": null,
"required": false,
"default_value": null,
"sort_order": 0,
"is_active": true,
"filterOperators": ["includes", "multi_includes", "does_not_include", "equals", "does_not_equal", "starts_with", "ends_with", "is_empty", "is_not_empty"]
}
],
"data": [
{
"name-mp9nm29v": "Sara Ali",
"assignees": [],
"name": "Sara Ali",
"relations": {},
"slug": "9f2c4b7a1e03",
"random_id": "a3f9c21b",
"createdAt": "2026-09-14T10:00:00.000Z",
"updatedAt": "2026-09-14T10:00:00.000Z",
"position": null,
"creator": null,
"updater": null,
"linked_record": null,
"capabilities": { "can_edit": true, "can_delete": true, "can_assign": true }
}
]
},
"pagination": {
"total": 1,
"page": 1,
"limit": 25,
"totalPages": 1,
"nextPage": null,
"prevPage": null
}
}
Send request
Use the documented inputs to call this endpoint directly.
Parameters
Values are applied to the request and the example on the right.
Request body
application/jsonrequiredText to find in the record's text-like fields, slug and random_id.
Responses
Successful response
{
"message": "string",
"data": "string",
"pagination": "string"
}Bad request
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Unauthorized
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Internal server error
{
"status": 1,
"message": "string",
"code": "string",
"data": {}
}The HTTP status code of the response.
What went wrong. Several validation messages are joined with ", ".
A stable, machine-readable reason. Only some errors set it.
Extra detail about the error. Only some errors set it.
Powered by heyo-docs