---
title: "Full Investigation Async"
method: POST
path: "/api/full_investigation_async"
---

# Full Investigation Async

`POST /api/full_investigation_async`

Start an investigation asynchronously and return immediately.

This is the correct pattern for long-running investigations behind an ALB/CDN:
- Create a placeholder investigation row immediately
- Spawn the investigation in the background
- Caller polls `GET /api/investigations/{id}` (or MCP `get_investigation`) for results

Body format (FastAPI multi-body-params):
  {
    "request": {"query": "...", "system_message": "..."},
    "mcps": ["sentry-mcp", ...]       // optional — falls back to team DB config
  }

## Query parameters

- `team_id` string, nullable
- `anthropic_api_key` string, nullable
- `custom_context` string, nullable
- `model` string
- `enable_alt_hypotheses` boolean
- `is_hypothesis_investigation` boolean
- `enable_explore_subagents` boolean, nullable
- `initiated_by_slack_user_id` string, nullable
- `existing_investigation_id` string, nullable

## Request body

- BodyFullInvestigationAsyncApiFullInvestigationAsyncPost
  - `request` FullInvestigationRequest, required — Request body for full investigation pipeline.
    - `query` string, required
    - `system_message` string, nullable
  - `mcps` string[], nullable — List of MCP server names to use for the investigation. If omitted, pulled from team config.
  - `disabled_tools` string[], nullable

## Response `200`

Successful Response

- object

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/deeptrace/apis/fastapi.md) · [All operations](https://skmtc.net/deeptrace/apis/fastapi/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/deeptrace/fastapi/versions/1af581120ec0/schema)
