---
title: "Buy an export"
method: POST
path: "/v1/account/exports"
tags: ["Exports"]
---

# Buy an export

`POST /v1/account/exports`

## Request

- Base URL: `https://api.pmwallets.com`
- URL: `https://api.pmwallets.com/v1/account/exports`
- Auth: API key in header `x-api-key`

CHARGES THE BALANCE the order price; grants the entities' daily wallet files over [from, to] (30+ days, max 25 entities). maxPriceCents caps it (required for 2+). Same order within 24 h returns the existing one, no charge. 1 distinct-entity unit per entity. viaPlan: from the plan, free.

## Request body

- object
  - `entityIds` string[], required: Entity handles, or 0x addresses — all the same form.
  - `from` string, required: First UTC day, inclusive.
  - `to` string, required: Last UTC day, inclusive.
  - `maxPriceCents` integer: Ceiling in cents (quote orderPriceCents). Required for 2+ entities.
  - `viaPlan` boolean: Use the plan export allowance (whole window, no charge).

## Response `201`

Paid (or granted) and ready (HTTP 201).

- object
  - `id` string
  - `priceCents` integer
  - `days` integer
  - `rows` integer
  - `from` string
  - `to` string
  - `status` 'ready'
  - `viaPlan` boolean

## Other responses

- `400`: Bad body, mixed handle/address naming, or `error: not_sellable` (below 30 days / no data).
- `401`: No valid API key (missing, malformed, unknown or revoked).
- `402`: `error: insufficient_balance` (priceCents, balanceCents) or `error: no_plan` for viaPlan. Nothing charged.
- `403`: `error: entity_budget`: daily distinct-entity limit reached.
- `409`: `error: price_changed` with the new `quote`, or `error: plan_exhausted` (cap, used, needed). Nothing charged.
- `503`: Temporarily unavailable; nothing was charged. Retry shortly.

---

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