# List call logs (all, or for one agent)

> GET /calls. HeyRik API parameters and documented request and response examples.

Source: https://www.heyrik.com/docs/api-reference/calls/get-calls-list-call-logs-all-or-for-one-agent

GET https://server.heyrik.com/api/v1/calls

## Headers

Authorization: Bearer $HEYRIK_API_KEY (required). Keep your key on your server.

## Parameters

- agent_id (string): Only this agent's calls (the agent id from POST /agents). `agency_id` also accepted.
- direction (string): inbound | outbound.
- state (string): Lifecycle stage: CREATED, ACTIVE, ENDED, FAILED. (The semantic result — NoAnswer, resolved, callback… — is the separate `outcome` field.)
- full (boolean): full=1 includes the transcript, recording_url and summary on every row (heavier). Omit for slim rows.
- page / limit (number): Pagination — limit default 200, max 500.

## Notes

Slim rows by default (id, direction, state, duration, outcome, credits_charged). Add full=1 for the transcript + recording_url, or fetch one call with GET /calls/{id}.

## Request example

```sh
# All calls
curl "https://server.heyrik.com/api/v1/calls?direction=outbound&limit=20" \
  -H "Authorization: Bearer $HEYRIK_API_KEY"

# Just one agent's calls, with transcripts + recordings
curl "https://server.heyrik.com/api/v1/calls?agent_id=agc_9f2a1c30&full=1" \
  -H "Authorization: Bearer $HEYRIK_API_KEY"
```
