---
title: "Export Accounts"
method: GET
path: "/accounts/export"
tags: ["accounts"]
---

# Export Accounts

`GET /accounts/export`

## Request

- Base URL: `https://dev.whispa.net` (the document declares no server; this is the origin it was published from)
- URL: `https://dev.whispa.net/accounts/export`
- Auth: one of:
  - OAuth 2
    - Password
    - Token URL: `auth/bearer/login`
  - API key in cookie `access_token`

The current accounts filter as a CSV download (admin only).

Takes the same filter params as ``/search`` and evaluates the same
predicate, so an export always matches the table it was taken from.
``external_id`` is the first column, which is what the add-accounts and
sync-by-ids paste boxes read — an export round-trips without editing.

## Query parameters

- `sort_by` 'display_name' | 'account_number' | 'phone' | 'account_status' | 'outstanding_amount' | 'arrears_amount' | 'last_activity_at' | 'synced_at' | 'created_at'
- `sort_order` 'asc' | 'desc'
- `demo_market` 'au' | 'us', nullable
- `q` string, nullable: Free-text search (case-insensitive) across display name, account number, email, external id and phone.
- `status` string[], nullable: Provider status values to include (case-insensitive, repeatable). Omit for every status.
- `campaign_id` string, uuid, nullable: Only accounts with a membership in this campaign.
- `campaign_assignment` 'assigned' | 'unassigned' | 'multiple' | 'review', nullable: Filter by current campaign assignment count, or 'review' for accounts waiting on an operator decision.
- `timezone_status` 'unknown' | 'manual', nullable: 'unknown': no timezone, so the gate will not call the account. 'manual': an operator set the timezone.
- `called` 'account' | 'customer' | 'never', nullable: 'account': a call is linked to this account. 'customer': a call is linked to this account or another account of the same customer. 'never': neither.
- `min_balance` number, nullable: Inclusive lower bound on outstanding amount.
- `max_balance` number, nullable: Inclusive upper bound on outstanding amount.
- `min_arrears` number, nullable: Inclusive lower bound on arrears amount.
- `max_arrears` number, nullable: Inclusive upper bound on arrears amount.

## Response `200`

Successful Response

## Other responses

- `422`: Validation Error

---

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