---
title: "Agent session snapshot"
method: GET
path: "/agent/snapshot"
tags: ["tasks"]
---

# Agent session snapshot

`GET /agent/snapshot`

FULL SESSION SNAPSHOT for initialization only — returns all data in one call: credits, pipeline, ALL contexts across all campaigns, pendingDrafts, accounts, campaigns, events. NOT a targeted context lookup. To retrieve specific context entries (ICP, playbook, scraper-*, etc.), use context_list with type= and scope= filters — not context_get.

## Response `200`

Session snapshot

- object
  - `credits` unknown
  - `pipeline` object, required — Contact counts by lifecycle stage
  - `contexts` object[], required
    - `type` string, required
    - `label` string, nullable, required
    - `content` string, required
    - `scope` string, required
  - `pendingDrafts` integer, required
  - `failedDrafts` integer, required
  - `unreadDMs` integer, required
  - `pendingSentInvitations` integer, required
  - `activeAccount` object, nullable, required
    - `id` string, required
    - `name` string, nullable, required
    - `plan` string, required
    - `headline` string, nullable, required
    - `isUnlimited` boolean, required
    - `creditsLimit` integer, required
    - `creditsCount` integer, required
    - `simulateWrites` boolean, required
    - `isCurrent` boolean, required
  - `accounts` object[], required
    - `id` string, required
    - `name` string, nullable, required
    - `plan` string, required
    - `headline` string, nullable, required
    - `isUnlimited` boolean, required
    - `creditsLimit` integer, required
    - `creditsCount` integer, required
    - `simulateWrites` boolean, required
    - `isCurrent` boolean, required
  - `leadGenState` unknown
  - `outreachState` unknown
  - `activeCampaigns` object[], required
    - `id` string, required
    - `name` string, required
    - `type` string, required
    - `status` string, required
    - `context` unknown
    - `stageCounts` object, required
      - `contact` integer, required
      - `lead` integer, required
      - `qualified` integer, required
      - `approved` integer, required
      - `rejected` integer, required
      - `total` integer, required
    - `limits` object, nullable, required — Per-campaign daily action caps from config.limits — stored and displayed only; checked at the launch gate, not enforced while a campaign runs
      - `messagesPerDay` integer
      - `connectionsPerDay` integer
      - `visitsPerDay` integer
      - `repliesPerDay` integer
  - `campaignChecks` unknown
  - `sessionMeta` unknown
  - `onboardingState` unknown
  - `recentEvents` object[], required
    - `id` string, required
    - `type` 'task:completed' | 'task:failed' | 'reply:received' | 'connection:accepted' | 'campaign:target_reached' | 'campaign:completed' | 'campaign:paused', required
    - `campaignId` string
    - `campaignName` string
    - `summary` string, required — Human-readable one-line summary
    - `metadata` object, required
    - `timestamp` number, required — Unix epoch ms

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error.
- `401` — Although HTTP specifies "unauthorized", this response means "unauthenticated". Authenticate to continue. NOTE: 401 is also returned with code "linkedin_not_connected" when the caller IS authenticated but has no connected LinkedIn account — connect LinkedIn (not re-authenticate) to continue.
- `403` — The client does not have access rights to the content.
- `404` — The server cannot find the requested resource.
- `409` — The request conflicts with the current state of the server.
- `410` — The requested content has been permanently deleted from the server.
- `422` — The request was well-formed but was unable to be followed due to semantic errors.
- `429` — Rate limit exceeded. Read error.retryAfter for the wait time in seconds.
- `500` — The server encountered a situation it does not know how to handle.
- `502` — LinkedIn returned a server error or the proxy connection failed. Retry after a few seconds.
- `503` — Proxy capacity temporarily exceeded. Retry after a few seconds.

---

[API](https://skmtc.net/berea/apis/bereach-api.md) · [All operations](https://skmtc.net/berea/apis/bereach-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/berea/bereach-api/revisions/3caf12036b26/schema)
