# listSpaceCalls

Records › Calls: the organization's calls, newest first: direction, when, how long, whether recorded, the contact, status and disposition. Filter by `direction`, `contactId`, `handledBy` (`{ userId }` or `{ agentId }`) or `query` (the contact's name; transcripts are not searched). Read one call's recording, transcript and summary with the conversations domain's getCallRecording(callId). Page with `after` = `nextCursor`.

- Call: `POST https://server.goliathdata.com/api/v1/call` with `{ "operationId": "listSpaceCalls", "variables": {...} }`
- Scope: `READ`
- Type: query
- Idempotency: a read; rejects `Idempotency-Key`
- Rate-limited: no
- Result cap: `limit` is clamped to 50, without an error

## Variables

- `filter`: `SpacesCallsFilter`
  - `direction`: `SpacesCallDirection` (one of `INCOMING`, `OUTGOING`, `MISSED`). The Calls pills. MISSED is an incoming call nobody answered; INCOMING is every other incoming call.
  - `handledBy`: `SpacesCallHandlerInput`. A teammate or an AI employee. Give one of the two.
    - `userId`: `ID`
    - `agentId`: `ID`
  - `contactId`: `ID`
  - `query`: `String`. Matches the contact's name. Transcripts are not searched: no index covers them.
- `limit`: `Int` (default `50`)
- `after`: `String`

## Response (data, an example)

```json
{
  "spacesQuery": {
    "records": {
      "calls": {
        "nodes": [
          {
            "id": "<ID>",
            "direction": "INCOMING",
            "startedAt": "2026-01-01T00:00:00.000Z",
            "durationSeconds": 0,
            "hasRecording": true,
            "contact": {
              "id": "<ID>",
              "name": "…"
            },
            "call": {
              "id": "<ID>",
              "status": "RINGING",
              "disposition": "Connected"
            }
          }
        ],
        "hasNextPage": true,
        "nextCursor": "…"
      }
    }
  }
}
```

## Example

```bash
curl https://server.goliathdata.com/api/v1/call \
  -H "Authorization: Bearer $GOLIATH_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "operationId": "listSpaceCalls",
    "variables": {}
  }'
```
