POST Invoke action query
{{baseUrl}}/search/microsoft.graph.query
BODY json

{
  "requests": [
    {
      "aggregationFilters": [],
      "aggregations": [
        {
          "bucketDefinition": {
            "isDescending": false,
            "minimumCount": 0,
            "prefixFilter": "",
            "ranges": [
              {
                "from": "",
                "to": ""
              }
            ],
            "sortBy": ""
          },
          "field": "",
          "size": 0
        }
      ],
      "collapseProperties": [
        {
          "fields": [],
          "limit": 0
        }
      ],
      "contentSources": [],
      "enableTopResults": false,
      "entityTypes": [],
      "fields": [],
      "from": 0,
      "query": {
        "queryString": "",
        "queryTemplate": ""
      },
      "queryAlterationOptions": {
        "enableModification": false,
        "enableSuggestion": false
      },
      "region": "",
      "resultTemplateOptions": {
        "enableResultTemplate": false
      },
      "sharePointOneDriveOptions": {
        "includeContent": ""
      },
      "size": 0,
      "sortProperties": [
        {
          "isDescending": false,
          "name": ""
        }
      ]
    }
  ]
}
Examples
REQUEST

CURL *hnd = curl_easy_init();

curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "POST");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/search/microsoft.graph.query");

struct curl_slist *headers = NULL;
headers = curl_slist_append(headers, "content-type: application/json");
curl_easy_setopt(hnd, CURLOPT_HTTPHEADER, headers);

curl_easy_setopt(hnd, CURLOPT_POSTFIELDS, "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}");

CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])

(client/post "{{baseUrl}}/search/microsoft.graph.query" {:content-type :json
                                                                         :form-params {:requests [{:aggregationFilters []
                                                                                                   :aggregations [{:bucketDefinition {:isDescending false
                                                                                                                                      :minimumCount 0
                                                                                                                                      :prefixFilter ""
                                                                                                                                      :ranges [{:from ""
                                                                                                                                                :to ""}]
                                                                                                                                      :sortBy ""}
                                                                                                                   :field ""
                                                                                                                   :size 0}]
                                                                                                   :collapseProperties [{:fields []
                                                                                                                         :limit 0}]
                                                                                                   :contentSources []
                                                                                                   :enableTopResults false
                                                                                                   :entityTypes []
                                                                                                   :fields []
                                                                                                   :from 0
                                                                                                   :query {:queryString ""
                                                                                                           :queryTemplate ""}
                                                                                                   :queryAlterationOptions {:enableModification false
                                                                                                                            :enableSuggestion false}
                                                                                                   :region ""
                                                                                                   :resultTemplateOptions {:enableResultTemplate false}
                                                                                                   :sharePointOneDriveOptions {:includeContent ""}
                                                                                                   :size 0
                                                                                                   :sortProperties [{:isDescending false
                                                                                                                     :name ""}]}]}})
require "http/client"

url = "{{baseUrl}}/search/microsoft.graph.query"
headers = HTTP::Headers{
  "content-type" => "application/json"
}
reqBody = "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}"

response = HTTP::Client.post url, headers: headers, body: reqBody
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
    Method = HttpMethod.Post,
    RequestUri = new Uri("{{baseUrl}}/search/microsoft.graph.query"),
    Content = new StringContent("{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}")
    {
        Headers =
        {
            ContentType = new MediaTypeHeaderValue("application/json")
        }
    }
};
using (var response = await client.SendAsync(request))
{
    response.EnsureSuccessStatusCode();
    var body = await response.Content.ReadAsStringAsync();
    Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/search/microsoft.graph.query");
var request = new RestRequest("", Method.Post);
request.AddHeader("content-type", "application/json");
request.AddParameter("application/json", "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}", ParameterType.RequestBody);
var response = client.Execute(request);
package main

import (
	"fmt"
	"strings"
	"net/http"
	"io"
)

func main() {

	url := "{{baseUrl}}/search/microsoft.graph.query"

	payload := strings.NewReader("{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}")

	req, _ := http.NewRequest("POST", url, payload)

	req.Header.Add("content-type", "application/json")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
POST /baseUrl/search/microsoft.graph.query HTTP/1.1
Content-Type: application/json
Host: example.com
Content-Length: 1177

{
  "requests": [
    {
      "aggregationFilters": [],
      "aggregations": [
        {
          "bucketDefinition": {
            "isDescending": false,
            "minimumCount": 0,
            "prefixFilter": "",
            "ranges": [
              {
                "from": "",
                "to": ""
              }
            ],
            "sortBy": ""
          },
          "field": "",
          "size": 0
        }
      ],
      "collapseProperties": [
        {
          "fields": [],
          "limit": 0
        }
      ],
      "contentSources": [],
      "enableTopResults": false,
      "entityTypes": [],
      "fields": [],
      "from": 0,
      "query": {
        "queryString": "",
        "queryTemplate": ""
      },
      "queryAlterationOptions": {
        "enableModification": false,
        "enableSuggestion": false
      },
      "region": "",
      "resultTemplateOptions": {
        "enableResultTemplate": false
      },
      "sharePointOneDriveOptions": {
        "includeContent": ""
      },
      "size": 0,
      "sortProperties": [
        {
          "isDescending": false,
          "name": ""
        }
      ]
    }
  ]
}
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("POST", "{{baseUrl}}/search/microsoft.graph.query")
  .setHeader("content-type", "application/json")
  .setBody("{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}")
  .execute()
  .toCompletableFuture()
  .thenAccept(System.out::println)
  .join();

client.close();
HttpRequest request = HttpRequest.newBuilder()
    .uri(URI.create("{{baseUrl}}/search/microsoft.graph.query"))
    .header("content-type", "application/json")
    .method("POST", HttpRequest.BodyPublishers.ofString("{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}"))
    .build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();

MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}");
Request request = new Request.Builder()
  .url("{{baseUrl}}/search/microsoft.graph.query")
  .post(body)
  .addHeader("content-type", "application/json")
  .build();

Response response = client.newCall(request).execute();
HttpResponse response = Unirest.post("{{baseUrl}}/search/microsoft.graph.query")
  .header("content-type", "application/json")
  .body("{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}")
  .asString();
const data = JSON.stringify({
  requests: [
    {
      aggregationFilters: [],
      aggregations: [
        {
          bucketDefinition: {
            isDescending: false,
            minimumCount: 0,
            prefixFilter: '',
            ranges: [
              {
                from: '',
                to: ''
              }
            ],
            sortBy: ''
          },
          field: '',
          size: 0
        }
      ],
      collapseProperties: [
        {
          fields: [],
          limit: 0
        }
      ],
      contentSources: [],
      enableTopResults: false,
      entityTypes: [],
      fields: [],
      from: 0,
      query: {
        queryString: '',
        queryTemplate: ''
      },
      queryAlterationOptions: {
        enableModification: false,
        enableSuggestion: false
      },
      region: '',
      resultTemplateOptions: {
        enableResultTemplate: false
      },
      sharePointOneDriveOptions: {
        includeContent: ''
      },
      size: 0,
      sortProperties: [
        {
          isDescending: false,
          name: ''
        }
      ]
    }
  ]
});

const xhr = new XMLHttpRequest();
xhr.withCredentials = true;

xhr.addEventListener('readystatechange', function () {
  if (this.readyState === this.DONE) {
    console.log(this.responseText);
  }
});

xhr.open('POST', '{{baseUrl}}/search/microsoft.graph.query');
xhr.setRequestHeader('content-type', 'application/json');

xhr.send(data);
import axios from 'axios';

const options = {
  method: 'POST',
  url: '{{baseUrl}}/search/microsoft.graph.query',
  headers: {'content-type': 'application/json'},
  data: {
    requests: [
      {
        aggregationFilters: [],
        aggregations: [
          {
            bucketDefinition: {
              isDescending: false,
              minimumCount: 0,
              prefixFilter: '',
              ranges: [{from: '', to: ''}],
              sortBy: ''
            },
            field: '',
            size: 0
          }
        ],
        collapseProperties: [{fields: [], limit: 0}],
        contentSources: [],
        enableTopResults: false,
        entityTypes: [],
        fields: [],
        from: 0,
        query: {queryString: '', queryTemplate: ''},
        queryAlterationOptions: {enableModification: false, enableSuggestion: false},
        region: '',
        resultTemplateOptions: {enableResultTemplate: false},
        sharePointOneDriveOptions: {includeContent: ''},
        size: 0,
        sortProperties: [{isDescending: false, name: ''}]
      }
    ]
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const url = '{{baseUrl}}/search/microsoft.graph.query';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"requests":[{"aggregationFilters":[],"aggregations":[{"bucketDefinition":{"isDescending":false,"minimumCount":0,"prefixFilter":"","ranges":[{"from":"","to":""}],"sortBy":""},"field":"","size":0}],"collapseProperties":[{"fields":[],"limit":0}],"contentSources":[],"enableTopResults":false,"entityTypes":[],"fields":[],"from":0,"query":{"queryString":"","queryTemplate":""},"queryAlterationOptions":{"enableModification":false,"enableSuggestion":false},"region":"","resultTemplateOptions":{"enableResultTemplate":false},"sharePointOneDriveOptions":{"includeContent":""},"size":0,"sortProperties":[{"isDescending":false,"name":""}]}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
const settings = {
  async: true,
  crossDomain: true,
  url: '{{baseUrl}}/search/microsoft.graph.query',
  method: 'POST',
  headers: {
    'content-type': 'application/json'
  },
  processData: false,
  data: '{\n  "requests": [\n    {\n      "aggregationFilters": [],\n      "aggregations": [\n        {\n          "bucketDefinition": {\n            "isDescending": false,\n            "minimumCount": 0,\n            "prefixFilter": "",\n            "ranges": [\n              {\n                "from": "",\n                "to": ""\n              }\n            ],\n            "sortBy": ""\n          },\n          "field": "",\n          "size": 0\n        }\n      ],\n      "collapseProperties": [\n        {\n          "fields": [],\n          "limit": 0\n        }\n      ],\n      "contentSources": [],\n      "enableTopResults": false,\n      "entityTypes": [],\n      "fields": [],\n      "from": 0,\n      "query": {\n        "queryString": "",\n        "queryTemplate": ""\n      },\n      "queryAlterationOptions": {\n        "enableModification": false,\n        "enableSuggestion": false\n      },\n      "region": "",\n      "resultTemplateOptions": {\n        "enableResultTemplate": false\n      },\n      "sharePointOneDriveOptions": {\n        "includeContent": ""\n      },\n      "size": 0,\n      "sortProperties": [\n        {\n          "isDescending": false,\n          "name": ""\n        }\n      ]\n    }\n  ]\n}'
};

$.ajax(settings).done(function (response) {
  console.log(response);
});
val client = OkHttpClient()

val mediaType = MediaType.parse("application/json")
val body = RequestBody.create(mediaType, "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}")
val request = Request.Builder()
  .url("{{baseUrl}}/search/microsoft.graph.query")
  .post(body)
  .addHeader("content-type", "application/json")
  .build()

val response = client.newCall(request).execute()
const http = require('https');

const options = {
  method: 'POST',
  hostname: 'example.com',
  port: null,
  path: '/baseUrl/search/microsoft.graph.query',
  headers: {
    'content-type': 'application/json'
  }
};

const req = http.request(options, function (res) {
  const chunks = [];

  res.on('data', function (chunk) {
    chunks.push(chunk);
  });

  res.on('end', function () {
    const body = Buffer.concat(chunks);
    console.log(body.toString());
  });
});

req.write(JSON.stringify({
  requests: [
    {
      aggregationFilters: [],
      aggregations: [
        {
          bucketDefinition: {
            isDescending: false,
            minimumCount: 0,
            prefixFilter: '',
            ranges: [{from: '', to: ''}],
            sortBy: ''
          },
          field: '',
          size: 0
        }
      ],
      collapseProperties: [{fields: [], limit: 0}],
      contentSources: [],
      enableTopResults: false,
      entityTypes: [],
      fields: [],
      from: 0,
      query: {queryString: '', queryTemplate: ''},
      queryAlterationOptions: {enableModification: false, enableSuggestion: false},
      region: '',
      resultTemplateOptions: {enableResultTemplate: false},
      sharePointOneDriveOptions: {includeContent: ''},
      size: 0,
      sortProperties: [{isDescending: false, name: ''}]
    }
  ]
}));
req.end();
const request = require('request');

const options = {
  method: 'POST',
  url: '{{baseUrl}}/search/microsoft.graph.query',
  headers: {'content-type': 'application/json'},
  body: {
    requests: [
      {
        aggregationFilters: [],
        aggregations: [
          {
            bucketDefinition: {
              isDescending: false,
              minimumCount: 0,
              prefixFilter: '',
              ranges: [{from: '', to: ''}],
              sortBy: ''
            },
            field: '',
            size: 0
          }
        ],
        collapseProperties: [{fields: [], limit: 0}],
        contentSources: [],
        enableTopResults: false,
        entityTypes: [],
        fields: [],
        from: 0,
        query: {queryString: '', queryTemplate: ''},
        queryAlterationOptions: {enableModification: false, enableSuggestion: false},
        region: '',
        resultTemplateOptions: {enableResultTemplate: false},
        sharePointOneDriveOptions: {includeContent: ''},
        size: 0,
        sortProperties: [{isDescending: false, name: ''}]
      }
    ]
  },
  json: true
};

request(options, function (error, response, body) {
  if (error) throw new Error(error);

  console.log(body);
});
const unirest = require('unirest');

const req = unirest('POST', '{{baseUrl}}/search/microsoft.graph.query');

req.headers({
  'content-type': 'application/json'
});

req.type('json');
req.send({
  requests: [
    {
      aggregationFilters: [],
      aggregations: [
        {
          bucketDefinition: {
            isDescending: false,
            minimumCount: 0,
            prefixFilter: '',
            ranges: [
              {
                from: '',
                to: ''
              }
            ],
            sortBy: ''
          },
          field: '',
          size: 0
        }
      ],
      collapseProperties: [
        {
          fields: [],
          limit: 0
        }
      ],
      contentSources: [],
      enableTopResults: false,
      entityTypes: [],
      fields: [],
      from: 0,
      query: {
        queryString: '',
        queryTemplate: ''
      },
      queryAlterationOptions: {
        enableModification: false,
        enableSuggestion: false
      },
      region: '',
      resultTemplateOptions: {
        enableResultTemplate: false
      },
      sharePointOneDriveOptions: {
        includeContent: ''
      },
      size: 0,
      sortProperties: [
        {
          isDescending: false,
          name: ''
        }
      ]
    }
  ]
});

req.end(function (res) {
  if (res.error) throw new Error(res.error);

  console.log(res.body);
});
const axios = require('axios').default;

const options = {
  method: 'POST',
  url: '{{baseUrl}}/search/microsoft.graph.query',
  headers: {'content-type': 'application/json'},
  data: {
    requests: [
      {
        aggregationFilters: [],
        aggregations: [
          {
            bucketDefinition: {
              isDescending: false,
              minimumCount: 0,
              prefixFilter: '',
              ranges: [{from: '', to: ''}],
              sortBy: ''
            },
            field: '',
            size: 0
          }
        ],
        collapseProperties: [{fields: [], limit: 0}],
        contentSources: [],
        enableTopResults: false,
        entityTypes: [],
        fields: [],
        from: 0,
        query: {queryString: '', queryTemplate: ''},
        queryAlterationOptions: {enableModification: false, enableSuggestion: false},
        region: '',
        resultTemplateOptions: {enableResultTemplate: false},
        sharePointOneDriveOptions: {includeContent: ''},
        size: 0,
        sortProperties: [{isDescending: false, name: ''}]
      }
    ]
  }
};

try {
  const { data } = await axios.request(options);
  console.log(data);
} catch (error) {
  console.error(error);
}
const fetch = require('node-fetch');

const url = '{{baseUrl}}/search/microsoft.graph.query';
const options = {
  method: 'POST',
  headers: {'content-type': 'application/json'},
  body: '{"requests":[{"aggregationFilters":[],"aggregations":[{"bucketDefinition":{"isDescending":false,"minimumCount":0,"prefixFilter":"","ranges":[{"from":"","to":""}],"sortBy":""},"field":"","size":0}],"collapseProperties":[{"fields":[],"limit":0}],"contentSources":[],"enableTopResults":false,"entityTypes":[],"fields":[],"from":0,"query":{"queryString":"","queryTemplate":""},"queryAlterationOptions":{"enableModification":false,"enableSuggestion":false},"region":"","resultTemplateOptions":{"enableResultTemplate":false},"sharePointOneDriveOptions":{"includeContent":""},"size":0,"sortProperties":[{"isDescending":false,"name":""}]}]}'
};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
#import 

NSDictionary *headers = @{ @"content-type": @"application/json" };
NSDictionary *parameters = @{ @"requests": @[ @{ @"aggregationFilters": @[  ], @"aggregations": @[ @{ @"bucketDefinition": @{ @"isDescending": @NO, @"minimumCount": @0, @"prefixFilter": @"", @"ranges": @[ @{ @"from": @"", @"to": @"" } ], @"sortBy": @"" }, @"field": @"", @"size": @0 } ], @"collapseProperties": @[ @{ @"fields": @[  ], @"limit": @0 } ], @"contentSources": @[  ], @"enableTopResults": @NO, @"entityTypes": @[  ], @"fields": @[  ], @"from": @0, @"query": @{ @"queryString": @"", @"queryTemplate": @"" }, @"queryAlterationOptions": @{ @"enableModification": @NO, @"enableSuggestion": @NO }, @"region": @"", @"resultTemplateOptions": @{ @"enableResultTemplate": @NO }, @"sharePointOneDriveOptions": @{ @"includeContent": @"" }, @"size": @0, @"sortProperties": @[ @{ @"isDescending": @NO, @"name": @"" } ] } ] };

NSData *postData = [NSJSONSerialization dataWithJSONObject:parameters options:0 error:nil];

NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/search/microsoft.graph.query"]
                                                       cachePolicy:NSURLRequestUseProtocolCachePolicy
                                                   timeoutInterval:10.0];
[request setHTTPMethod:@"POST"];
[request setAllHTTPHeaderFields:headers];
[request setHTTPBody:postData];

NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
                                            completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
                                                if (error) {
                                                    NSLog(@"%@", error);
                                                } else {
                                                    NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
                                                    NSLog(@"%@", httpResponse);
                                                }
                                            }];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt

let uri = Uri.of_string "{{baseUrl}}/search/microsoft.graph.query" in
let headers = Header.add (Header.init ()) "content-type" "application/json" in
let body = Cohttp_lwt_body.of_string "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}" in

Client.call ~headers ~body `POST uri
>>= fun (res, body_stream) ->
  (* Do stuff with the result *)
 "{{baseUrl}}/search/microsoft.graph.query",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'requests' => [
        [
                'aggregationFilters' => [
                                
                ],
                'aggregations' => [
                                [
                                                                'bucketDefinition' => [
                                                                                                                                'isDescending' => null,
                                                                                                                                'minimumCount' => 0,
                                                                                                                                'prefixFilter' => '',
                                                                                                                                'ranges' => [
                                                                                                                                                                                                                                                                [
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                'from' => '',
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                'to' => ''
                                                                                                                                                                                                                                                                ]
                                                                                                                                ],
                                                                                                                                'sortBy' => ''
                                                                ],
                                                                'field' => '',
                                                                'size' => 0
                                ]
                ],
                'collapseProperties' => [
                                [
                                                                'fields' => [
                                                                                                                                
                                                                ],
                                                                'limit' => 0
                                ]
                ],
                'contentSources' => [
                                
                ],
                'enableTopResults' => null,
                'entityTypes' => [
                                
                ],
                'fields' => [
                                
                ],
                'from' => 0,
                'query' => [
                                'queryString' => '',
                                'queryTemplate' => ''
                ],
                'queryAlterationOptions' => [
                                'enableModification' => null,
                                'enableSuggestion' => null
                ],
                'region' => '',
                'resultTemplateOptions' => [
                                'enableResultTemplate' => null
                ],
                'sharePointOneDriveOptions' => [
                                'includeContent' => ''
                ],
                'size' => 0,
                'sortProperties' => [
                                [
                                                                'isDescending' => null,
                                                                'name' => ''
                                ]
                ]
        ]
    ]
  ]),
  CURLOPT_HTTPHEADER => [
    "content-type: application/json"
  ],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
  echo "cURL Error #:" . $err;
} else {
  echo $response;
}
request('POST', '{{baseUrl}}/search/microsoft.graph.query', [
  'body' => '{
  "requests": [
    {
      "aggregationFilters": [],
      "aggregations": [
        {
          "bucketDefinition": {
            "isDescending": false,
            "minimumCount": 0,
            "prefixFilter": "",
            "ranges": [
              {
                "from": "",
                "to": ""
              }
            ],
            "sortBy": ""
          },
          "field": "",
          "size": 0
        }
      ],
      "collapseProperties": [
        {
          "fields": [],
          "limit": 0
        }
      ],
      "contentSources": [],
      "enableTopResults": false,
      "entityTypes": [],
      "fields": [],
      "from": 0,
      "query": {
        "queryString": "",
        "queryTemplate": ""
      },
      "queryAlterationOptions": {
        "enableModification": false,
        "enableSuggestion": false
      },
      "region": "",
      "resultTemplateOptions": {
        "enableResultTemplate": false
      },
      "sharePointOneDriveOptions": {
        "includeContent": ""
      },
      "size": 0,
      "sortProperties": [
        {
          "isDescending": false,
          "name": ""
        }
      ]
    }
  ]
}',
  'headers' => [
    'content-type' => 'application/json',
  ],
]);

echo $response->getBody();
setUrl('{{baseUrl}}/search/microsoft.graph.query');
$request->setMethod(HTTP_METH_POST);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$request->setContentType('application/json');
$request->setBody(json_encode([
  'requests' => [
    [
        'aggregationFilters' => [
                
        ],
        'aggregations' => [
                [
                                'bucketDefinition' => [
                                                                'isDescending' => null,
                                                                'minimumCount' => 0,
                                                                'prefixFilter' => '',
                                                                'ranges' => [
                                                                                                                                [
                                                                                                                                                                                                                                                                'from' => '',
                                                                                                                                                                                                                                                                'to' => ''
                                                                                                                                ]
                                                                ],
                                                                'sortBy' => ''
                                ],
                                'field' => '',
                                'size' => 0
                ]
        ],
        'collapseProperties' => [
                [
                                'fields' => [
                                                                
                                ],
                                'limit' => 0
                ]
        ],
        'contentSources' => [
                
        ],
        'enableTopResults' => null,
        'entityTypes' => [
                
        ],
        'fields' => [
                
        ],
        'from' => 0,
        'query' => [
                'queryString' => '',
                'queryTemplate' => ''
        ],
        'queryAlterationOptions' => [
                'enableModification' => null,
                'enableSuggestion' => null
        ],
        'region' => '',
        'resultTemplateOptions' => [
                'enableResultTemplate' => null
        ],
        'sharePointOneDriveOptions' => [
                'includeContent' => ''
        ],
        'size' => 0,
        'sortProperties' => [
                [
                                'isDescending' => null,
                                'name' => ''
                ]
        ]
    ]
  ]
]));

try {
  $response = $request->send();

  echo $response->getBody();
} catch (HttpException $ex) {
  echo $ex;
}
append(json_encode([
  'requests' => [
    [
        'aggregationFilters' => [
                
        ],
        'aggregations' => [
                [
                                'bucketDefinition' => [
                                                                'isDescending' => null,
                                                                'minimumCount' => 0,
                                                                'prefixFilter' => '',
                                                                'ranges' => [
                                                                                                                                [
                                                                                                                                                                                                                                                                'from' => '',
                                                                                                                                                                                                                                                                'to' => ''
                                                                                                                                ]
                                                                ],
                                                                'sortBy' => ''
                                ],
                                'field' => '',
                                'size' => 0
                ]
        ],
        'collapseProperties' => [
                [
                                'fields' => [
                                                                
                                ],
                                'limit' => 0
                ]
        ],
        'contentSources' => [
                
        ],
        'enableTopResults' => null,
        'entityTypes' => [
                
        ],
        'fields' => [
                
        ],
        'from' => 0,
        'query' => [
                'queryString' => '',
                'queryTemplate' => ''
        ],
        'queryAlterationOptions' => [
                'enableModification' => null,
                'enableSuggestion' => null
        ],
        'region' => '',
        'resultTemplateOptions' => [
                'enableResultTemplate' => null
        ],
        'sharePointOneDriveOptions' => [
                'includeContent' => ''
        ],
        'size' => 0,
        'sortProperties' => [
                [
                                'isDescending' => null,
                                'name' => ''
                ]
        ]
    ]
  ]
]));
$request->setRequestUrl('{{baseUrl}}/search/microsoft.graph.query');
$request->setRequestMethod('POST');
$request->setBody($body);

$request->setHeaders([
  'content-type' => 'application/json'
]);

$client->enqueue($request)->send();
$response = $client->getResponse();

echo $response->getBody();
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-WebRequest -Uri '{{baseUrl}}/search/microsoft.graph.query' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "requests": [
    {
      "aggregationFilters": [],
      "aggregations": [
        {
          "bucketDefinition": {
            "isDescending": false,
            "minimumCount": 0,
            "prefixFilter": "",
            "ranges": [
              {
                "from": "",
                "to": ""
              }
            ],
            "sortBy": ""
          },
          "field": "",
          "size": 0
        }
      ],
      "collapseProperties": [
        {
          "fields": [],
          "limit": 0
        }
      ],
      "contentSources": [],
      "enableTopResults": false,
      "entityTypes": [],
      "fields": [],
      "from": 0,
      "query": {
        "queryString": "",
        "queryTemplate": ""
      },
      "queryAlterationOptions": {
        "enableModification": false,
        "enableSuggestion": false
      },
      "region": "",
      "resultTemplateOptions": {
        "enableResultTemplate": false
      },
      "sharePointOneDriveOptions": {
        "includeContent": ""
      },
      "size": 0,
      "sortProperties": [
        {
          "isDescending": false,
          "name": ""
        }
      ]
    }
  ]
}'
$headers=@{}
$headers.Add("content-type", "application/json")
$response = Invoke-RestMethod -Uri '{{baseUrl}}/search/microsoft.graph.query' -Method POST -Headers $headers -ContentType 'application/json' -Body '{
  "requests": [
    {
      "aggregationFilters": [],
      "aggregations": [
        {
          "bucketDefinition": {
            "isDescending": false,
            "minimumCount": 0,
            "prefixFilter": "",
            "ranges": [
              {
                "from": "",
                "to": ""
              }
            ],
            "sortBy": ""
          },
          "field": "",
          "size": 0
        }
      ],
      "collapseProperties": [
        {
          "fields": [],
          "limit": 0
        }
      ],
      "contentSources": [],
      "enableTopResults": false,
      "entityTypes": [],
      "fields": [],
      "from": 0,
      "query": {
        "queryString": "",
        "queryTemplate": ""
      },
      "queryAlterationOptions": {
        "enableModification": false,
        "enableSuggestion": false
      },
      "region": "",
      "resultTemplateOptions": {
        "enableResultTemplate": false
      },
      "sharePointOneDriveOptions": {
        "includeContent": ""
      },
      "size": 0,
      "sortProperties": [
        {
          "isDescending": false,
          "name": ""
        }
      ]
    }
  ]
}'
import http.client

conn = http.client.HTTPSConnection("example.com")

payload = "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}"

headers = { 'content-type': "application/json" }

conn.request("POST", "/baseUrl/search/microsoft.graph.query", payload, headers)

res = conn.getresponse()
data = res.read()

print(data.decode("utf-8"))
import requests

url = "{{baseUrl}}/search/microsoft.graph.query"

payload = { "requests": [
        {
            "aggregationFilters": [],
            "aggregations": [
                {
                    "bucketDefinition": {
                        "isDescending": False,
                        "minimumCount": 0,
                        "prefixFilter": "",
                        "ranges": [
                            {
                                "from": "",
                                "to": ""
                            }
                        ],
                        "sortBy": ""
                    },
                    "field": "",
                    "size": 0
                }
            ],
            "collapseProperties": [
                {
                    "fields": [],
                    "limit": 0
                }
            ],
            "contentSources": [],
            "enableTopResults": False,
            "entityTypes": [],
            "fields": [],
            "from": 0,
            "query": {
                "queryString": "",
                "queryTemplate": ""
            },
            "queryAlterationOptions": {
                "enableModification": False,
                "enableSuggestion": False
            },
            "region": "",
            "resultTemplateOptions": { "enableResultTemplate": False },
            "sharePointOneDriveOptions": { "includeContent": "" },
            "size": 0,
            "sortProperties": [
                {
                    "isDescending": False,
                    "name": ""
                }
            ]
        }
    ] }
headers = {"content-type": "application/json"}

response = requests.post(url, json=payload, headers=headers)

print(response.json())
library(httr)

url <- "{{baseUrl}}/search/microsoft.graph.query"

payload <- "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}"

encode <- "json"

response <- VERB("POST", url, body = payload, content_type("application/json"), encode = encode)

content(response, "text")
require 'uri'
require 'net/http'

url = URI("{{baseUrl}}/search/microsoft.graph.query")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["content-type"] = 'application/json'
request.body = "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}"

response = http.request(request)
puts response.read_body
require 'faraday'

conn = Faraday.new(
  url: 'https://example.com',
  headers: {'Content-Type' => 'application/json'}
)

response = conn.post('/baseUrl/search/microsoft.graph.query') do |req|
  req.body = "{\n  \"requests\": [\n    {\n      \"aggregationFilters\": [],\n      \"aggregations\": [\n        {\n          \"bucketDefinition\": {\n            \"isDescending\": false,\n            \"minimumCount\": 0,\n            \"prefixFilter\": \"\",\n            \"ranges\": [\n              {\n                \"from\": \"\",\n                \"to\": \"\"\n              }\n            ],\n            \"sortBy\": \"\"\n          },\n          \"field\": \"\",\n          \"size\": 0\n        }\n      ],\n      \"collapseProperties\": [\n        {\n          \"fields\": [],\n          \"limit\": 0\n        }\n      ],\n      \"contentSources\": [],\n      \"enableTopResults\": false,\n      \"entityTypes\": [],\n      \"fields\": [],\n      \"from\": 0,\n      \"query\": {\n        \"queryString\": \"\",\n        \"queryTemplate\": \"\"\n      },\n      \"queryAlterationOptions\": {\n        \"enableModification\": false,\n        \"enableSuggestion\": false\n      },\n      \"region\": \"\",\n      \"resultTemplateOptions\": {\n        \"enableResultTemplate\": false\n      },\n      \"sharePointOneDriveOptions\": {\n        \"includeContent\": \"\"\n      },\n      \"size\": 0,\n      \"sortProperties\": [\n        {\n          \"isDescending\": false,\n          \"name\": \"\"\n        }\n      ]\n    }\n  ]\n}"
end

puts response.status
puts response.body
use serde_json::json;
use reqwest;

#[tokio::main]
pub async fn main() {
    let url = "{{baseUrl}}/search/microsoft.graph.query";

    let payload = json!({"requests": (
            json!({
                "aggregationFilters": (),
                "aggregations": (
                    json!({
                        "bucketDefinition": json!({
                            "isDescending": false,
                            "minimumCount": 0,
                            "prefixFilter": "",
                            "ranges": (
                                json!({
                                    "from": "",
                                    "to": ""
                                })
                            ),
                            "sortBy": ""
                        }),
                        "field": "",
                        "size": 0
                    })
                ),
                "collapseProperties": (
                    json!({
                        "fields": (),
                        "limit": 0
                    })
                ),
                "contentSources": (),
                "enableTopResults": false,
                "entityTypes": (),
                "fields": (),
                "from": 0,
                "query": json!({
                    "queryString": "",
                    "queryTemplate": ""
                }),
                "queryAlterationOptions": json!({
                    "enableModification": false,
                    "enableSuggestion": false
                }),
                "region": "",
                "resultTemplateOptions": json!({"enableResultTemplate": false}),
                "sharePointOneDriveOptions": json!({"includeContent": ""}),
                "size": 0,
                "sortProperties": (
                    json!({
                        "isDescending": false,
                        "name": ""
                    })
                )
            })
        )});

    let mut headers = reqwest::header::HeaderMap::new();
    headers.insert("content-type", "application/json".parse().unwrap());

    let client = reqwest::Client::new();
    let response = client.post(url)
        .headers(headers)
        .json(&payload)
        .send()
        .await;

    let results = response.unwrap()
        .json::()
        .await
        .unwrap();

    dbg!(results);
}
curl --request POST \
  --url {{baseUrl}}/search/microsoft.graph.query \
  --header 'content-type: application/json' \
  --data '{
  "requests": [
    {
      "aggregationFilters": [],
      "aggregations": [
        {
          "bucketDefinition": {
            "isDescending": false,
            "minimumCount": 0,
            "prefixFilter": "",
            "ranges": [
              {
                "from": "",
                "to": ""
              }
            ],
            "sortBy": ""
          },
          "field": "",
          "size": 0
        }
      ],
      "collapseProperties": [
        {
          "fields": [],
          "limit": 0
        }
      ],
      "contentSources": [],
      "enableTopResults": false,
      "entityTypes": [],
      "fields": [],
      "from": 0,
      "query": {
        "queryString": "",
        "queryTemplate": ""
      },
      "queryAlterationOptions": {
        "enableModification": false,
        "enableSuggestion": false
      },
      "region": "",
      "resultTemplateOptions": {
        "enableResultTemplate": false
      },
      "sharePointOneDriveOptions": {
        "includeContent": ""
      },
      "size": 0,
      "sortProperties": [
        {
          "isDescending": false,
          "name": ""
        }
      ]
    }
  ]
}'
echo '{
  "requests": [
    {
      "aggregationFilters": [],
      "aggregations": [
        {
          "bucketDefinition": {
            "isDescending": false,
            "minimumCount": 0,
            "prefixFilter": "",
            "ranges": [
              {
                "from": "",
                "to": ""
              }
            ],
            "sortBy": ""
          },
          "field": "",
          "size": 0
        }
      ],
      "collapseProperties": [
        {
          "fields": [],
          "limit": 0
        }
      ],
      "contentSources": [],
      "enableTopResults": false,
      "entityTypes": [],
      "fields": [],
      "from": 0,
      "query": {
        "queryString": "",
        "queryTemplate": ""
      },
      "queryAlterationOptions": {
        "enableModification": false,
        "enableSuggestion": false
      },
      "region": "",
      "resultTemplateOptions": {
        "enableResultTemplate": false
      },
      "sharePointOneDriveOptions": {
        "includeContent": ""
      },
      "size": 0,
      "sortProperties": [
        {
          "isDescending": false,
          "name": ""
        }
      ]
    }
  ]
}' |  \
  http POST {{baseUrl}}/search/microsoft.graph.query \
  content-type:application/json
wget --quiet \
  --method POST \
  --header 'content-type: application/json' \
  --body-data '{\n  "requests": [\n    {\n      "aggregationFilters": [],\n      "aggregations": [\n        {\n          "bucketDefinition": {\n            "isDescending": false,\n            "minimumCount": 0,\n            "prefixFilter": "",\n            "ranges": [\n              {\n                "from": "",\n                "to": ""\n              }\n            ],\n            "sortBy": ""\n          },\n          "field": "",\n          "size": 0\n        }\n      ],\n      "collapseProperties": [\n        {\n          "fields": [],\n          "limit": 0\n        }\n      ],\n      "contentSources": [],\n      "enableTopResults": false,\n      "entityTypes": [],\n      "fields": [],\n      "from": 0,\n      "query": {\n        "queryString": "",\n        "queryTemplate": ""\n      },\n      "queryAlterationOptions": {\n        "enableModification": false,\n        "enableSuggestion": false\n      },\n      "region": "",\n      "resultTemplateOptions": {\n        "enableResultTemplate": false\n      },\n      "sharePointOneDriveOptions": {\n        "includeContent": ""\n      },\n      "size": 0,\n      "sortProperties": [\n        {\n          "isDescending": false,\n          "name": ""\n        }\n      ]\n    }\n  ]\n}' \
  --output-document \
  - {{baseUrl}}/search/microsoft.graph.query
import Foundation

let headers = ["content-type": "application/json"]
let parameters = ["requests": [
    [
      "aggregationFilters": [],
      "aggregations": [
        [
          "bucketDefinition": [
            "isDescending": false,
            "minimumCount": 0,
            "prefixFilter": "",
            "ranges": [
              [
                "from": "",
                "to": ""
              ]
            ],
            "sortBy": ""
          ],
          "field": "",
          "size": 0
        ]
      ],
      "collapseProperties": [
        [
          "fields": [],
          "limit": 0
        ]
      ],
      "contentSources": [],
      "enableTopResults": false,
      "entityTypes": [],
      "fields": [],
      "from": 0,
      "query": [
        "queryString": "",
        "queryTemplate": ""
      ],
      "queryAlterationOptions": [
        "enableModification": false,
        "enableSuggestion": false
      ],
      "region": "",
      "resultTemplateOptions": ["enableResultTemplate": false],
      "sharePointOneDriveOptions": ["includeContent": ""],
      "size": 0,
      "sortProperties": [
        [
          "isDescending": false,
          "name": ""
        ]
      ]
    ]
  ]] as [String : Any]

let postData = JSONSerialization.data(withJSONObject: parameters, options: [])

let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/search/microsoft.graph.query")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()