---
title: "Get Agent Turn Duration P90"
method: GET
path: "/api/agents/{agent_id}/turn-duration-p90"
tags: ["agents"]
---

# Get Agent Turn Duration P90

`GET /api/agents/{agent_id}/turn-duration-p90`

## Request

- Base URL: `https://app.thinqos.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.thinqos.com/api/agents/{agent_id}/turn-duration-p90`
- Auth: none declared

This agent's measured p90 turn duration, or "insufficient data".

``p90_ms`` is ``None`` below ``min_sample_size`` samples in the trailing
``window_days`` - never a fabricated number. Any caller who can view the
agent may read this; it carries only an aggregate timing statistic, no
prompts, responses, or per-turn detail.

## Path parameters

- `agent_id` string, uuid, required

## Query parameters

- `capability` string

## Headers

- `x-impersonate-identity-id` string, nullable

## Response `200`

Successful Response

- TurnDurationStatsResponse: TOS-2629 Phase 4: advisory input to the composer's "Run as task" nudge. Deliberately just a measurement - the frontend augments its existing content-shaped regex heuristic with this signal but must never auto-flip the task toggle from it (see ``web/src/pages/chats/chatTasks.ts`` ``shouldSuggestDurableTask`` and ``MessageComposer.tsx``'s ``taskSuggested`` contract).
  - `agent_id` string, uuid, required
  - `capability` string, required
  - `p90_ms` integer, nullable, required
  - `sample_size` integer, required
  - `window_days` integer, required
  - `min_sample_size` integer, required
  - `sufficient_data` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/thinqos/apis/thinqos-api.md) · [All operations](https://skmtc.dev/thinqos/apis/thinqos-api/llms.txt) · [OpenAPI document](https://skmtc.dev/thinqos/apis/thinqos-api/revisions/5387b4ded614?raw)
