# Retrieve a batch

`GET https://api.parasend.com/v1/batches/{id}`

Source: https://parasend.com/docs/api/batches/retrieve

Authentication: `Authorization: Bearer <API key>` (a `ps_test_` key in test mode, `ps_live_` in live mode).

Retrieves a batch, with its funnel: how many of its deliveries were notified, opened, verified and confirmed. The counts only go up.

## Path parameters

- `id` (string, required): The batch's ID, starting `bat_`.

## Query parameters

- `policy_id` (string, optional): The deliveries following this policy now; rpol_none for none.

## Example: Retrieve a batch

```bash
curl "https://api.parasend.com/v1/batches/bat_01M6R27T8SXWNM911FS53W4S9F" \
  -H "Authorization: Bearer $PARASEND_KEY"
```

```js
const res = await fetch('https://api.parasend.com/v1/batches/bat_01M6R27T8SXWNM911FS53W4S9F', {
  method: 'GET',
  headers: {
    Authorization: `Bearer ${process.env.PARASEND_KEY}`,
  },
});
const data = await res.json();
```

## Response 200

The batch.

```json
{
  "id": "bat_01M6R27T8SXWNM911FS53W4S9F",
  "object": "batch",
  "name": "November notices",
  "status": "draft",
  "sending_mode": "on_finalize",
  "follow_up_policy_id": null,
  "allow_policy_override": true,
  "follow_ups_paused": false,
  "scheduled_at": null,
  "send_window": {
    "tz": "Atlantic/Reykjavik",
    "end": "21:00",
    "start": "09:00"
  },
  "defaults": {},
  "files": [],
  "accepting_deliveries": true,
  "counts": {
    "total": 0,
    "delivered": 0,
    "in_progress": 0,
    "ended": 0
  },
  "created_by": {
    "user_id": "usr_01M6R27SYD4B50414S0BZ4KBKR",
    "via": "api_key"
  },
  "livemode": false,
  "created": "2026-11-06T09:15:05.881Z",
  "sent_out_at": null,
  "following_up_at": null,
  "completed_at": null,
  "cancelled_at": null,
  "follow_up_funnel": {
    "as_of": "2026-11-06T09:15:05.894Z",
    "policy_id": null,
    "total": 0,
    "not_yet_notified": 0,
    "notice": {
      "delivered": 0,
      "in_progress": 0,
      "unreachable": 0,
      "expired": 0,
      "revoked": 0,
      "not_matched": 0,
      "sent": 0,
      "bounced": 0,
      "renotified_via_lookup": 0,
      "renotified_delivered": 0,
      "email_opened": 0
    },
    "reminders": [],
    "outcome": {
      "delivered": 0,
      "in_progress": 0,
      "unreachable": 0,
      "expired": 0,
      "revoked": 0,
      "not_matched": 0
    },
    "confirmed_direct": 0,
    "rescued_by_followups": 0,
    "delivered_total": 0
  },
  "funnel": {
    "total": 0,
    "notified": 0,
    "opened": 0,
    "authenticated": 0,
    "confirmed_direct": 0,
    "rescued_by_followups": 0,
    "delivered_total": 0,
    "expired": 0,
    "revoked": 0,
    "auth_failed": 0,
    "bounced": 0,
    "paper_pending": 0,
    "needs_address": 0,
    "bounce_rate": 0,
    "median_time_to_confirm": null
  },
  "kpis": {
    "delivered": 0,
    "delivered_pct": 0,
    "in_progress": 0,
    "median_time_to_delivery": null,
    "bounce_rate": 0,
    "rescued_by_followups": 0,
    "spend": {
      "sms_messages": 0,
      "lookups": 0,
      "amount": 0,
      "currency": "ISK",
      "estimated": true
    },
    "vs_previous": null
  }
}
```

Errors: one shape, `{"error": {type, code, message, param, request_id}}`; every code is listed at https://parasend.com/docs/errors.
