---
title: "Export tenant usage data"
method: GET
path: "/usage/export"
tags: ["Usage"]
---

# Export tenant usage data

`GET /usage/export`

Export email usage data for all tenants in CSV or JSON Lines format.
Designed for billing system integration, data warehousing, and analytics.

**Jobs to be done:**
- Import usage data into billing systems (Stripe, Chargebee, etc.)
- Load into data warehouses (Snowflake, BigQuery, etc.)
- Process in spreadsheets (Excel, Google Sheets)
- Feed into BI tools (Looker, Metabase, etc.)

**Export formats:**
- `csv` - UTF-8 with BOM for Excel compatibility (default)
- `jsonl` - JSON Lines (one JSON object per line, streamable)

**CSV columns:**
`tenant_id`, `tenant_name`, `external_id`, `status`, `sent`, `delivered`,
`soft_failed`, `hard_failed`, `bounced`, `held`, `delivery_rate`,
`bounce_rate`, `period_start`, `period_end`

**Response headers:**
- `Content-Disposition` - Filename for download
- `Content-Type` - `text/csv` or `application/x-ndjson`

## Query parameters

- `period` string
- `format` 'csv' | 'jsonl'
- `status` 'active' | 'suspended' | 'archived'
- `minSent` integer
- `timezone` string

## Response `200`

Usage export data

- TenantUsageExportRow[]
  - `tenant_id` string, required — Unique tenant identifier
  - `tenant_name` string, required — Tenant display name
  - `external_id` string, nullable — Your external ID for this tenant
  - `status` 'active' | 'suspended' | 'archived', required — Current tenant status
  - `sent` integer, required — Total emails sent
  - `delivered` integer, required — Emails successfully delivered
  - `soft_failed` integer, required — Emails that soft-failed
  - `hard_failed` integer, required — Emails that hard-failed
  - `bounced` integer, required — Emails that bounced
  - `held` integer, required — Emails currently held
  - `delivery_rate` number, float, required — Delivery rate (0-1)
  - `bounce_rate` number, float, required — Bounce rate (0-1)

## Other responses

- `400` — Invalid request parameters
- `401` — Invalid or missing API key
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.net/arkhq-io/apis/ark-email-api.md) · [All operations](https://skmtc.net/arkhq-io/apis/ark-email-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arkhq-io/ark-email-api/versions/98a90852ffca/schema)
