> ## Documentation Index
> Fetch the complete documentation index at: https://dialnexa.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Call Details

> Use the get_call_details MCP tool on the DialNexa remote MCP server.

<span data-api-safety-label="read-only"><Badge color="gray" size="sm" shape="pill">Read only</Badge></span>

Returns what actually HAPPENED on one call: its transcript, the post-call summary, notes, the recording link, and post-call-analysis field order. This is the only way to read a SINGLE call's transcript — get\_call returns metadata (status, duration, cost) but never the conversation. Use it for "what did the agent say on that call?", "why did this one go wrong?", or to quote a caller's own words. Transcripts can be long; ask only for the fields you need. The recording link is returned only with include\_recording: true, which you set only when the user explicitly asks for the audio.

## Parameters

| Name | Type | Required | Description |
| - | - | - | - |
| `call_id` | `string` | Yes | The call ID, e.g. call\_abc123 — from list\_calls or get\_call |
| `fields` | `array` | No | Which parts to return. Defaults to transcript + summary + notes. |
| `include_recording` | `boolean` | No | Set true ONLY when the user explicitly asked for the call audio or recording. Without it, recording\_url is withheld even if listed in fields. |

## Complete input schema

```json theme={null}
{
  "type": "object",
  "properties": {
    "call_id": {
      "type": "string",
      "description": "The call ID, e.g. call_abc123 — from list_calls or get_call"
    },
    "fields": {
      "type": "array",
      "items": {
        "type": "string",
        "enum": [
          "transcript",
          "summary",
          "notes",
          "recording_url",
          "warm_transfer",
          "audio_cache"
        ]
      },
      "description": "Which parts to return. Defaults to transcript + summary + notes."
    },
    "include_recording": {
      "type": "boolean",
      "description": "Set true ONLY when the user explicitly asked for the call audio or recording. Without it, recording_url is withheld even if listed in fields."
    }
  },
  "required": [
    "call_id"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```

## Registered output schema

```json theme={null}
{
  "type": "object",
  "properties": {
    "call_id": {
      "type": "string",
      "description": "The call ID, prefixed call_"
    },
    "agent_version_title": {
      "description": "Title of the agent version that handled the call, or null"
    },
    "agent_version_number": {
      "description": "Number of the agent version that handled the call, or null"
    },
    "transcript": {
      "description": "The call transcript (long ones are truncated), or null — present only when requested"
    },
    "summary": {
      "description": "Post-call summary, or null if not analysed — present only when requested"
    },
    "notes": {
      "description": "Notes stored on the call, or null — present only when requested"
    },
    "recording_url": {
      "description": "Time-limited link to the call recording, or null — present only when requested with include_recording: true"
    },
    "recording_note": {
      "description": "Present when recording_url was requested without include_recording: explains why it was withheld"
    },
    "warm_transfer": {
      "description": "Warm-transfer details from the call output, or null — present only when requested"
    },
    "audio_cache": {
      "description": "Audio-cache details from the call output, or null — present only when requested"
    }
  },
  "required": [
    "call_id"
  ],
  "additionalProperties": true,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
```

## Before you call

* Connect and initialize the MCP client with OAuth or an API key for the intended workspace.
* Provide the required parameters: `call_id`.
* If your OAuth grant covers several workspaces, also pass `organization_id` with the workspace to act in, from [List My Organizations](/docs/mcp-tools/organization/list-my-organizations).

## Example MCP request

Send `tools/call` after your client completes MCP initialization. Replace placeholder values with IDs and inputs from your workspace. For object and array parameters, follow the nested requirements in the parameter description instead of treating an empty value as complete.

```json theme={null}
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_call_details",
    "arguments": {
      "call_id": "call_abc123"
    }
  }
}
```

Successful results include `structuredContent` and a text content block containing the same JSON. Check `isError` first, then read `structuredContent` or parse `content[0].text`. See [MCP responses and errors](/docs/mcp-tools/errors) for the full envelope and failure behavior.

## Verify the result

Confirm the response is not marked `isError`, parse `content[0].text` as JSON, and verify that returned IDs and workspace data match the request.

## Retry safety

This tool does not change workspace data. Retrying after a transient transport failure is safe.

## Related MCP tools

* [List Calls](/docs/mcp-tools/calls/list-calls): `list_calls`
* [Get Call](/docs/mcp-tools/calls/get-call): `get_call`

## Related guides

* [Connect to the DialNexa MCP server](/docs/mcp-tools/overview)
* [Calls MCP tools](/docs/mcp-tools/calls/overview)
* [MCP responses and errors](/docs/mcp-tools/errors)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.