curl --request POST \
--url https://getunblocked.com/api/v1/context/research \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"instruction": "<string>"
}
'import requests
url = "https://getunblocked.com/api/v1/context/research"
payload = {
"query": "<string>",
"instruction": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: '<string>', instruction: '<string>'})
};
fetch('https://getunblocked.com/api/v1/context/research', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://getunblocked.com/api/v1/context/research",
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([
'query' => '<string>',
'instruction' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://getunblocked.com/api/v1/context/research"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"instruction\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://getunblocked.com/api/v1/context/research")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"instruction\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://getunblocked.com/api/v1/context/research")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"instruction\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"summary": "<string>",
"sources": [
{
"content": "<string>",
"title": "<string>",
"url": "<string>",
"sourceType": "<string>",
"provider": "github"
}
],
"effort": "low"
}{
"status": 400
}{
"status": 400
}{
"status": 400
}{
"status": 400
}Research Context
Research a question across the data sources connected to Unblocked, including code, pull requests, issues, messages, and documentation. Returns a synthesized summary along with the sources that support it.
Authentication behavior:
- Personal Access Token (PAT) keys: Requests are attributed to the key’s user
- Organization-wide API keys: Requests are attributed to the organization
curl --request POST \
--url https://getunblocked.com/api/v1/context/research \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"query": "<string>",
"instruction": "<string>"
}
'import requests
url = "https://getunblocked.com/api/v1/context/research"
payload = {
"query": "<string>",
"instruction": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({query: '<string>', instruction: '<string>'})
};
fetch('https://getunblocked.com/api/v1/context/research', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://getunblocked.com/api/v1/context/research",
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([
'query' => '<string>',
'instruction' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://getunblocked.com/api/v1/context/research"
payload := strings.NewReader("{\n \"query\": \"<string>\",\n \"instruction\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://getunblocked.com/api/v1/context/research")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"query\": \"<string>\",\n \"instruction\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://getunblocked.com/api/v1/context/research")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"query\": \"<string>\",\n \"instruction\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"summary": "<string>",
"sources": [
{
"content": "<string>",
"title": "<string>",
"url": "<string>",
"sourceType": "<string>",
"provider": "github"
}
],
"effort": "low"
}{
"status": 400
}{
"status": 400
}{
"status": 400
}{
"status": 400
}Authorizations
The API key to authenticate requests. Obtainable from the web dashboard.
Body
The research question or topic to investigate.
1Additional guidance that shapes how results are gathered and summarized, such as the desired focus, format, or level of detail.
The amount of effort applied to a research request. Higher effort explores more sources and produces a more thorough result, at the cost of latency.
low, medium, high Response
OK
Synthesized answer to the research query, in Markdown format.
The sources that support the summary.
Show child attributes
Show child attributes
The amount of effort applied to a research request. Higher effort explores more sources and produces a more thorough result, at the cost of latency.
low, medium, high