Skip to main content
Run a deep investigation on a person and keep it: a team of research agents builds a workspace of files and an attribution graph that links every finding to its source, which you can read, export as a report, and continue later. Use it for diligence, background research and any lead where a single enrichment answer isn’t enough. A deep investigation is the same run as People Intelligence on tier: "xhigh" (or scout with graph: true). Use this API when you want the investigation itself rather than a structured_data answer: to start one without a struct, list your investigations, or read their findings, graph, files and report.

Endpoint

All paths are under https://api.sixtyfour.ai/v1/atlas. Authenticate with your x-api-key header, as on every other endpoint.

How an investigation works

Each run researches until its credit budget, its time limit or, when you set a struct without relentless, its answers are complete. Findings and files persist on the investigation, so a later run builds on them instead of starting over.

Starting an investigation

POST /investigations returns 202 with the run’s task_id and the new investigation:
Poll the run with GET /job-status/{task_id}, or open workspace_url to watch it in the Atlas section of the Sixtyfour app.

Continuing an investigation

POST /investigations/{investigation_id}/runs starts another run on the same workspace and graph. It takes the same body as starting one, without lead_info, name and private, and returns the same 202 response. Continuing needs editor access to the investigation.

Listing and reading investigations

GET /investigations returns investigations, the page limit and a next_cursor: Each investigation, also returned by GET /investigations/{investigation_id}, looks like this:
shared is null when your team owns the investigation. Otherwise it names the team that shared it and your tier on it: a viewer can read and export, an editor can also run and edit.

Reading the graph and workspace

Field confidence on a deep-investigation People Intelligence run lists, for each value, the nodes in this graph that support it. See Confidence Scoring.

Reports

  1. POST .../report starts generating a PDF intelligence report from the current workspace and returns 202 with a report job. If an up-to-date report already exists, the job comes back with cached: true. Pass {"retry_failed": true} to retry after a failure. An empty workspace returns 400.
  2. GET .../report returns the job: job_id, status (pending, running, completed, failed, or superseded when the workspace changed and a newer job replaced it), requested_at, completed_at, error and byte_size.
  3. GET .../report.pdf returns the PDF when it is ready, 202 with the job and a Retry-After header while it is generating, and 404 if no report has been requested.

Export

GET .../export.zip downloads everything visible in the app in one archive: workspace files, attachments with <path>.json metadata sidecars, the attribution graph, investigation.json, and the agents’ activity when your org has access to it.

Pricing

Starting or continuing an investigation is billed as a deep-investigation People Intelligence run; reading, reports and exports are not billed per call. See Credits & Pricing Guide for the price per unit.

Errors

For error responses (400, 402, 403, 404, 409, 429, etc.), see Handling Errors. Deep investigations are enabled on request. Without access, starting or reading an investigation returns 403; GET /access works for every org and returns {"has_atlas": false}, so clients can hide investigation features instead of handling the error. Contact sales to request access. All /v1/atlas endpoints share a limit of 120 requests per minute per organization. Reads don’t consume credits, so an org with no balance can still list and export what it already ran.