curl --request GET \
--url https://{tenant_name}.{region}.techwolf.ai/tasks/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/tasks/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{tenant_name}.{region}.techwolf.ai/tasks/search', 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://{tenant_name}.{region}.techwolf.ai/tasks/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{tenant_name}.{region}.techwolf.ai/tasks/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{tenant_name}.{region}.techwolf.ai/tasks/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/tasks/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"task_id": "56dcdb53-264e-f380-50bf-5179e2d082af",
"task_name": "Write unit tests for backend services"
},
{
"task_id": "8c1e4313-cb49-9055-74c9-5976970fa335",
"task_name": "Write integration tests for the payment API"
}
]Search Tasks
Search for Tasks using a fuzzy text query. Results are ordered by similarity to the query string (highest first). Low-confidence matches are excluded. Useful for looking up tasks by name when building or updating task profiles.
Note: This endpoint is experimental and may change in future versions.
curl --request GET \
--url https://{tenant_name}.{region}.techwolf.ai/tasks/search \
--header 'Authorization: Bearer <token>'import requests
url = "https://{tenant_name}.{region}.techwolf.ai/tasks/search"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://{tenant_name}.{region}.techwolf.ai/tasks/search', 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://{tenant_name}.{region}.techwolf.ai/tasks/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://{tenant_name}.{region}.techwolf.ai/tasks/search"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://{tenant_name}.{region}.techwolf.ai/tasks/search")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://{tenant_name}.{region}.techwolf.ai/tasks/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body[
{
"task_id": "56dcdb53-264e-f380-50bf-5179e2d082af",
"task_name": "Write unit tests for backend services"
},
{
"task_id": "8c1e4313-cb49-9055-74c9-5976970fa335",
"task_name": "Write integration tests for the payment API"
}
]Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Query Parameters
The search query to match against task names. Typically a short partial term — fuzzy matching expands it across stored task names.
100Maximum number of results to return.
1 <= x <= 100Additional attributes that will be included in each result. This query parameter can be added multiple times to include more attributes. By default none of these are returned.
ai_impact— includes AI impact level and rationale per task.hierarchy— includes the task's position in the work taxonomy (domain → subdomain → cluster → canonical task).task_source— distinguishes standard work-taxonomy Tasks (vocabulary) from Tasks created through thePOST /tasksendpoint (custom).enrichment_status— includes the status of the task's asynchronous AI-impact enrichment (pending,complete, orfailed).
ai_impact, hierarchy, task_source, enrichment_status Response
OK
Unique identifier of a Task.
"56dcdb53-264e-f380-50bf-5179e2d082af"
Name/description of the task.
"Write unit tests for backend services"
AI impact level and rationale for this task. Only present when include=ai_impact.
Show child attributes
Show child attributes
Position of this task in the work taxonomy (domain → subdomain → cluster → canonical task). Only present when include=hierarchy. Either all fields are populated, or all fields are null when the task has no position in the work taxonomy.
Show child attributes
Show child attributes
Origin of the task. Only present when include=task_source.
vocabulary, custom "vocabulary"
Status of the task's asynchronous AI-impact enrichment. Only present when include=enrichment_status.
pending, complete, failed "complete"
Was this page helpful?