searchEntity: query
Namespace: microsoft.graph
Important
APIs under the /beta
version in Microsoft Graph are subject to change. Use of these APIs in production applications is not supported. To determine whether an API is available in v1.0, use the Version selector.
Run a specified search query. Search results are provided in the response.
Caution
Resources used in a Microsoft Search API request and response have had properties renamed or removed, or are being deprecated. Find more details about the deprecation. Update search API queries in any earlier apps accordingly.
This API is available in the following national cloud deployments.
Global service | US Government L4 | US Government L5 (DOD) | China operated by 21Vianet |
---|---|---|---|
✅ | ✅ | ✅ | ✅ |
Permissions
Choose the permission or permissions marked as least privileged for this API. Use a higher privileged permission or permissions only if your app requires it. For details about delegated and application permissions, see Permission types. To learn more about these permissions, see the permissions reference.
Permission type | Least privileged permissions | Higher privileged permissions |
---|---|---|
Delegated (work or school account) | Mail.Read | Acronym.Read.All, Bookmark.Read.All, Calendars.Read, Chat.Read, ExternalItem.Read.All, Files.Read.All, QnA.Read.All, Sites.Read.All |
Delegated (personal Microsoft account) | Not supported. | Not supported. |
Application | Files.Read.All | Sites.Read.All |
HTTP request
POST /search/query
Request headers
Name | Description |
---|---|
Authorization | Bearer {token}. Required. Learn more about authentication and authorization. |
Content-type | application/json. Required. |
Request body
In the request body, provide a JSON object with the following parameters.
Parameter | Type | Description |
---|---|---|
requests | searchRequest collection | A collection of one or more search requests each formatted in a JSON blob. Each JSON blob contains the types of resources expected in the response, the underlying sources, paging parameters, requested fields, and actual search query. Be aware of known limitations on searching specific combinations of entity types, and sorting or aggregating search results. |
Response
If successful, this method returns an HTTP 200 OK
response code and a collection of searchResponse objects in the response body.
Examples
Example 1: Basic call to perform a search request
The following example shows how to perform a search to get expected connector items.
Request
POST https://graph.microsoft.com/beta/search/query
Content-type: application/json
{
"requests": [
{
"entityTypes": [
"externalItem"
],
"contentSources": [
"/external/connections/connectionfriendlyname"
],
"region": "US",
"query": {
"queryString": "contoso product"
},
"from": 0,
"size": 25,
"fields": [
"title",
"description"
]
}
]
}
Response
The following example shows the response.
Note: The response object shown here might be shortened for readability.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"searchTerms": [
"searchTerms-value"
],
"hitsContainers": [
{
"hits": [
{
"hitId": "1",
"rank": 1,
"summary": "_summary-value",
"resource": "The source field will contain the underlying graph entity part of the response"
}
],
"total": 47,
"moreResultsAvailable": true
}
]
}
]
}
Example 2: Basic call to use queryTemplate
The following example shows how to use the queryable property createdBy to retrieve all files created by a user.
Request
POST https://graph.microsoft.com/beta/search/query
Content-type: application/json
{
"requests": [
{
"entityTypes": [
"listItem"
],
"region": "US",
"query": {
"queryString": "contoso",
"queryTemplate":"{searchTerms} CreatedBy:Bob"
},
"from": 0,
"size": 25
}
]
}
Response
The following example shows the response.
HTTP/1.1 200 OK
Content-type: application/json
{
"value": [
{
"searchTerms": [
"contoso"
],
"hitsContainers": [
{
"hits": [
{
"hitId": "1",
"rank": 1,
"summary": "_summary-value",
"resource": {
"@odata.type": "#microsoft.graph.listItem",
"id": "c23c7035-73d6-4bad-8901-9e2930d4be8e",
"createdBy": {
"user": {
"displayName": "Bob",
"email": "Bob@contoso.com"
}
},
"createdDateTime": "2021-11-19T17:04:18Z",
"lastModifiedDateTime": "2023-03-09T18:52:26Z"
}
}
],
"total": 1,
"moreResultsAvailable": false
}
]
}
]
}
Related content
- Search mail messages
- Search calendar events
- Search person
- Search content in SharePoint and OneDrive (files, lists, and sites)
- Search custom types (Graph Connectors) data
- Search with queryTemplate
- Sort search results
- Use aggregations to refine search results
- Enable spell corrections in search results