curl --request GET \
--url https://api.sixtyfour.ai/v1/atlas/investigationsimport requests
url = "https://api.sixtyfour.ai/v1/atlas/investigations"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.sixtyfour.ai/v1/atlas/investigations', 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://api.sixtyfour.ai/v1/atlas/investigations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://api.sixtyfour.ai/v1/atlas/investigations"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sixtyfour.ai/v1/atlas/investigations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sixtyfour.ai/v1/atlas/investigations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"investigations": [
{
"id": "<string>",
"name": "<string>",
"status": "created",
"visibility": "<string>",
"lead_info": {},
"created_at": "<string>",
"updated_at": "<string>",
"cost_cents": 123,
"workspace_url": "<string>",
"completed_at": "<string>",
"shared": {
"team_id": "<string>",
"tier": "viewer",
"team_name": "<string>"
},
"private": false
}
],
"limit": 123,
"next_cursor": "<string>"
}{
"detail": "Invalid request body"
}{
"detail": "Invalid API key"
}{
"detail": "This organization no longer has access to Sixtyfour. Contact your representative at Sixtyfour."
}{
"detail": [
{
"loc": [
"body",
"target_company",
"domain"
],
"msg": "Field required",
"type": "missing",
"input": null,
"ctx": {}
}
]
}{
"detail": "Internal server error"
}{
"detail": "Could not verify the API key right now. Retry shortly."
}List investigations
Your team’s Atlas investigations and the ones other teams shared with it, newest first. Each carries shared:
null when your team owns it, otherwise who shared it and how. Follow next_cursor
(pass it as after) until it is null; the cursor is a keyset, so pages stay stable while investigations are
created or deleted. With a status filter a page can come back short (the filter is applied while scanning), so
next_cursor — not page size — is the end-of-listing signal.
curl --request GET \
--url https://api.sixtyfour.ai/v1/atlas/investigationsimport requests
url = "https://api.sixtyfour.ai/v1/atlas/investigations"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.sixtyfour.ai/v1/atlas/investigations', 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://api.sixtyfour.ai/v1/atlas/investigations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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://api.sixtyfour.ai/v1/atlas/investigations"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.sixtyfour.ai/v1/atlas/investigations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sixtyfour.ai/v1/atlas/investigations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"investigations": [
{
"id": "<string>",
"name": "<string>",
"status": "created",
"visibility": "<string>",
"lead_info": {},
"created_at": "<string>",
"updated_at": "<string>",
"cost_cents": 123,
"workspace_url": "<string>",
"completed_at": "<string>",
"shared": {
"team_id": "<string>",
"tier": "viewer",
"team_name": "<string>"
},
"private": false
}
],
"limit": 123,
"next_cursor": "<string>"
}{
"detail": "Invalid request body"
}{
"detail": "Invalid API key"
}{
"detail": "This organization no longer has access to Sixtyfour. Contact your representative at Sixtyfour."
}{
"detail": [
{
"loc": [
"body",
"target_company",
"domain"
],
"msg": "Field required",
"type": "missing",
"input": null,
"ctx": {}
}
]
}{
"detail": "Internal server error"
}{
"detail": "Could not verify the API key right now. Retry shortly."
}Headers
Query Parameters
1 <= x <= 200Your team's own investigations, the ones other teams shared with it, or both.
all, owned, shared Cursor from a previous page's next_cursor.
Only investigations in this state.
created, running, stalled, completed, failed Only investigations created at or after this time (ISO 8601).
Only investigations created before this time (ISO 8601).
Response
Successful Response
Show child attributes
Show child attributes
Pass as after for the next page; null when there is nothing further. A short or empty page with a non-null next_cursor means the scan stopped early (status filtering), not that the listing ended.
Was this page helpful?