---
title: "Inspect a tool call"
method: GET
path: "/v1/tasks/{taskId}/tool-calls/{callId}"
tags: ["Adam API"]
---

# Inspect a tool call

`GET /v1/tasks/{taskId}/tool-calls/{callId}`

## Request

- Base URL: `https://api.adam.new`
- URL: `https://api.adam.new/v1/tasks/{taskId}/tool-calls/{callId}`
- Auth: one of:
  - HTTP bearer
  - OAuth 2
    - Authorization code: `https://api.adam.new/auth/oauth2/authorize`
    - Token URL: `https://api.adam.new/auth/oauth2/token` scopes: `tasks:read`, `tools:execute`
- TypeScript: <https://skmtc.dev/adam/apis/adam-api/docs/v1/tasks/:taskId/tool-calls/:callId/get.ts> (a function with typed inputs; its response is checked against the schema)

Return the durable status, tool output, artifact references, and any execution error for a call in an external task you own. Requires tasks:read and tools:execute because results can include workspace and connected-account data. Unsafe error details are sanitized and oversized output may be truncated. Reading a result never executes the tool again.

## Path parameters

- `callId` string, uuid, required
- `taskId` string, uuid, required

## Response `200`

- GetPublicToolCallResponseDto
  - `call` object, required
    - `id` string, uuid, required
    - `taskId` string, uuid, required
    - `tool` string, required
    - `status` 'queued' | 'running' | 'succeeded' | 'failed' | 'unknown', required
    - `input` object, required
    - `output` union, required
      - string
      - number
      - boolean
      - GetPublicToolCallResponseDtoSchema0[]
      - object
    - `error` object, nullable, required
      - `code` string, required
      - `message` string, required
    - `createdAt` string, required
    - `startedAt` string, nullable, required
    - `finishedAt` string, nullable, required

## Other responses

- `400`: Invalid request
- `401`: Missing or invalid Bearer credential
- `402`: Payment or subscription required
- `403`: Credential is missing a required scope
- `404`: Resource not found
- `409`: Request conflict
- `429`: Rate limit exceeded
- `500`: Internal API error

## Changes

- **2026-10-29** `4baea94e5dbc`: 2 breaking, 2 info
  - the response property `call/finishedAt` became nullable for the status `200`
  - the response property `call/startedAt` became nullable for the status `200`
  - response property `call/finishedAt` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
  - response property `call/startedAt` list-of-types was narrowed by removing types `null` from media type `application/json` of response `200`
- **2026-10-09** `135cef4f7586`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/adam/apis/adam-api/changes/v1/tasks/:taskId/tool-calls/:callId/get.md)

---

[API](https://skmtc.dev/adam/apis/adam-api.md) - [All operations](https://skmtc.dev/adam/apis/adam-api/llms.txt) - [OpenAPI document](https://skmtc.dev/adam/apis/adam-api/revisions/38d4c566646c?raw)
