---
title: "List interactions"
method: GET
path: "/interactions"
tags: ["Interactions"]
---

# List interactions

`GET /interactions`

## Request

- Base URL: `https://api.primitive.dev/v1`
- URL: `https://api.primitive.dev/v1/interactions`
- Auth: HTTP bearer

The organization's interactions, newest first by creation, with their state, whose turn it is and when the last step happened. Reading needs interactions:read and organization-wide mail scope; a credential narrowed to some mailboxes is refused.

## Query parameters

- `state` 'open' | 'completed' | 'failed' | 'all'
- `protocol` string
- `wire_id` string
- `email_id` string, uuid
- `limit` integer
- `cursor` string

## Response `200`

List interactions

- object
  - `success` true, required
  - `data` ListInteractionsResult, required
    - `items` object[], required
      - `id` string, uuid, required
      - `wire_id` string, required
      - `role` string, required
      - `protocol` string, required
      - `protocol_version` integer, required
      - `state` string, required
      - `outcome` string, nullable, required
      - `failure_reason` string, nullable, required
      - `awaiting` string, nullable, required
      - `counterparty_address` string, required
      - `counterparty_domain` string, required
      - `our_address` string, required
      - `step_count` integer, required
      - `expires_at` string, nullable, required
      - `created_at` string, required
      - `updated_at` string, required
      - `completed_at` string, nullable, required
      - `latest_step_at` string, required
    - `next_cursor` string, nullable, required

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key
- `403`: feature_disabled: interactions (or, for wake.dispatch, Wake dispatch) are not enabled for this organization; grant_forbidden: the credential does not hold the permission
- `429`: Rate limit exceeded. The `ratelimit-*` headers describe the limiter that rejected this request, with its own limit and window, not the API budget that successful responses report. A limiter that reports only a wait sends `Retry-After` alone.

---

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