Skip to main content
This API reference is useful if you are trying to use the search API to find entities.

Query

Playground

Known Limits
  • The maximum number of records that can be returned is 10,000.
  • Rate limited. It is recommended to not exceed 120 requests per minute, but this can vary depending on instance
Method: POST
Endpoint: https://{instance}.domo.com/api/search/v1/query

Body Parameters

Property NameTypeRequiredDescription
countNumberno. default is 10How many results to return
offsetNumberno. default is 0The results offset. The count and offset can only be used to return a total of 10,000 records
queryStringyesThe query term. Use * for wildcard
filtersArray of FilternoSearch results must match ALL filters.
orFiltersArray of FilternoSearch results must match ANY filter.
notFiltersArray of FilternoSearch results must NOT match any filter.
sortSortno. defaults to relevanceHow to sort the results. relevance sorting will show the most relevant content for a user first.
facetValuesToIncludeArray of StringsnoFacets (or groupings) to include in the search results.
facetValueLimitNumberno. default is 0How many of the facet values to return
facetValueOffsetNumberno. default is 0The facet value offset
includePhoneticBooleannoWhether to use phonetic matching
entityListArray of Arrays of StringsyesWhich entities to perform the query on. Entities can be grouped together. i.e. [["account"],["alert"],["app"],["data_app","app_card"]]
fieldsToReturnArray of Stringsno. defaults to all fieldsDefine which fields to return

Some Valid Entities

  • account
  • alert
  • app
  • beast_mode
  • card
  • connector
  • data_app
  • dataset
  • dataflow
  • group
  • page
  • user
Others may be available depending on your instance.

Example Request

{
  "method": "POST",
  "url": "https://{instance}.domo.com/api/search/v1/query",
  "headers": {
    "X-DOMO-Developer-Token": "",
    "Content-Type": "application/json"
  },
  "body": {
    "count": 20,
    "offset": 0,
    "query": "<insert query>",
    "filters": [],
    "sort": {},
    "facetValuesToInclude": [],
    "facetValueLimit": 0,
    "facetValueOffset": 0,
    "includePhonetic": true,
    "entityList": [["dataflow"]]
  }
}

Response

Property NameDescription
facetMapThe facet groupings requested
totalResultCountThe total count of results that match the query
sortThe sort used in the query
queryUuidA unique generated id
searchObjectsA list of all search results
searchResultsMapSearch results grouped as defined by the entityList
{
  "facetMap": {
    "OWNER_ID": {
      "fieldName": "owned_by_id",
      "searchFacetEnum": "OWNER_ID",
      "facetValues": []
    }
  },
  "totalResultCount": 1865,
  "sort": {
    "fieldSorts": null,
    "activity": null,
    "activitySortType": null,
    "metricAction": null,
    "isHotness": false,
    "isRelevance": true
  },
  "queryUuid": "d775bcda-f3f6-4c62-b0b1-d3c57a609637",
  "hideSearchObjects": false,
  "searchObjects": [],
  "searchResultsMap": {
    "dataflow": []
  }
}

Filter

Filters are used to narrow down the search results. Use the property filterType to specify the type of filter. Example
{
  "filterType": "term",
  "field": "databaseId",
  "value": "abcd-xyz"
}

Text filters

term

Property NameTypeRequiredDescription
fieldStringyesThe field to query
valueStringyes (or values)The term to match
valuesArray of Stringsyes (or value)The terms to match. Cannot be used with value
notBooleanno. default is falseWhether to invert the match

wildcard

Property NameTypeRequiredDescription
fieldStringyesThe field to query
queryStringyesThe query to match. Use * for wildcard

queryString

Property NameTypeRequiredDescription
fieldStringyesThe field to query
queryStringStringyesThe query string to match

Date Filters

dateBucket

Property NameTypeRequiredDescription
fieldStringyesThe field to query
valueStringyesThe date bucket to use. Valid buckets are LAST_DAY, LAST_WEEK, LAST_MONTH, LAST_QUARTER

dateRange

Property NameTypeRequiredDescription
fieldStringyesThe field to query
fromTimestampnoThe lower bound date
toTimestampnoThe upper bound date
notBooleanno. default is falseWhether to invert the match

Numeric Filters

numeric

Property NameTypeRequiredDescription
fieldStringyesThe field to query
longNumberLongyes (or floatNumber)The long value to match
floatNumberFloatyes (or longNumber)The float value to match
operatorStringyesThe operator: LT, LTE, EQ, GT, GTE
notBooleanno. default is falseWhether to invert the match

range

Property NameTypeRequiredDescription
fieldStringyesThe field to query
fromNumbernoThe lower bound to match
toNumbernoThe upper bound to match

Boolean Filters

boolean

Property NameTypeRequiredDescription
fieldStringyesThe field to query
valueBooleanyesThe value to match

missing

Property NameTypeRequiredDescription
fieldStringyesThe field to match if it exists
notBooleanno. default is falseWhether to invert the match

Sort

Use the sort to order search results. Example:
{
  "fieldSorts": [
    {
      "field": "createDate",
      "sortOrder": "DESC"
    }
  ],
  "isRelevance": false
}
Property NameTypeRequiredDescription
fieldSortsArray of FieldSortnoThe fields to order by
isRelevanceBooleannoWhether to order by relevance to user