Skip to main content
GET
/
calls
/
{id}
Get call
curl --request GET \
  --url https://api.goyappr.com/calls/{id} \
  --header 'Authorization: Bearer <token>'
{
  "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "agent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "from": "<string>",
  "to": "<string>",
  "direction": "<string>",
  "status": "<string>",
  "started_at": "2023-11-07T05:31:56Z",
  "ended_at": "2023-11-07T05:31:56Z",
  "duration_seconds": 123,
  "metadata": {},
  "created_at": "2023-11-07T05:31:56Z",
  "disconnect_reason": "<string>",
  "transferred_at": "2023-11-07T05:31:56Z",
  "transfer_target": "<string>",
  "recording_url": "<string>",
  "disposition": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "label": "<string>",
    "color": "#22c55e",
    "position": 123,
    "is_protected": true,
    "created_at": "2023-11-07T05:31:56Z"
  },
  "lead": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "phone_number": "+972501234567",
    "name": "<string>",
    "email": "jsmith@example.com",
    "source": "api",
    "tags": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "name": "<string>",
        "description": "<string>",
        "color": "<string>",
        "sort_order": 123,
        "created_at": "2023-11-07T05:31:56Z"
      }
    ],
    "long_term_context": "<string>",
    "metadata": {},
    "created_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z"
  },
  "summary": "<string>",
  "transcript": [
    {
      "text": "<string>",
      "start": 123,
      "end": 123
    }
  ],
  "extracted_data": {},
  "tool_calls": [
    {
      "tool_name": "<string>",
      "timestamp": "2023-11-07T05:31:56Z",
      "node": {
        "id": "<string>",
        "name": "<string>"
      },
      "tool_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "provider": "<string>",
      "action": "<string>",
      "integration_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
      "arg_sources": {},
      "request": {
        "body": "<unknown>",
        "method": "<string>",
        "url": "<string>",
        "headers": {}
      },
      "response": {
        "success": true,
        "response_preview": "<string>",
        "raw_response_preview": "<string>",
        "error": "<string>",
        "duration_ms": 123
      }
    }
  ],
  "events": [
    {
      "timestamp": "2023-11-07T05:31:56Z",
      "data": {}
    }
  ],
  "flow_trace": {
    "started_at": "2023-11-07T05:31:56Z",
    "steps": [
      {
        "step_id": "<string>",
        "entered_at": "2023-11-07T05:31:56Z",
        "eval_decisions": [
          {
            "decision": "<string>",
            "decided_at": "2023-11-07T05:31:56Z",
            "turn_id": 123,
            "reasoning": "<string>"
          }
        ],
        "step_name": "<string>",
        "reason": "<string>",
        "tool_call": {
          "tool_name": "<string>",
          "tool_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "provider": "<string>",
          "action": "<string>",
          "integration_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
          "args": {},
          "arg_sources": {},
          "response_preview": "<string>",
          "raw_response_preview": "<string>",
          "error": "<string>",
          "duration_ms": 123
        }
      }
    ],
    "agent_speaks_first": true,
    "first_step_id": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://docs.goyappr.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Your Yappr API key (e.g. ypr_live_...). Generate one in the dashboard under Settings → API Keys.

Path Parameters

id
string<uuid>
required

Response

Full call details

id
string<uuid>
agent_id
string<uuid>
from
string
to
string
direction
string
status
string
started_at
string<date-time> | null
ended_at
string<date-time> | null
duration_seconds
integer | null
metadata
object

The metadata object you attached at POST /calls. Empty object {} if no metadata was provided at call creation.

created_at
string<date-time>
ended_by
enum<string> | null

Who terminated the call. First-write-wins (a specific value like 'system' from voicemail detection is not overwritten by a later generic 'caller').

Available options:
caller,
agent,
system,
unknown
disconnect_reason
string | null

User-friendly reason the call ended (e.g. 'Completed', 'Voicemail detected'). First-write-wins.

transferred_at
string<date-time> | null

When the call was transferred (set only if status='transferred').

transfer_target
string | null

E.164 number or SIP URI the call was transferred to.

recording_url
string | null

Permanent signed URL for the call recording. Opens directly in a browser or audio player — redirects (302) to the audio file. No additional authentication required.

disposition
object

Full Disposition object. Present only when a disposition has been assigned.

lead
object

Full Lead object including long_term_context and tags. Present only when a matched lead exists.

summary
string | null

AI-generated call summary. Present only when available.

transcript
object[]

Full call transcript, ordered by time. Present only when available.

extracted_data
object

Structured fields extracted post-call by the agent's extraction_parameters. Present only when extraction ran and produced at least one value.

tool_calls
object[]

Paired request/response objects for each tool invocation during the call. Easier to consume than raw events. Auth-related headers (Authorization, tokens, keys) are redacted as [REDACTED].

events
object[]

Full ordered event stream for the call. Low-level — for flow agents prefer flow_trace (below). Auth headers in tool_called events are redacted.

flow_trace
object

Present only on flow-agent calls (agent.type='flow'). For prompt agents this field is omitted. Structured view of the call's path through the flow graph, built from the underlying flow_* events. For flow agents tool_calls[] is always empty — flow tool nodes use a separate dispatch path that emits flow_tool_result events (surfaced inline on each flow_trace.steps[].tool_call).