Skip to main content
POST
Create an async report job

Authorizations

Authorization
string
header
required

API key issued per entity via Settings > Developers > API Keys. Each key carries scopes (e.g. orders:read, products:write). Bearer token format: Authorization: Bearer ark_live_ent_ Test keys use ark_test_ent_. Both are issued per entity via Settings > Developers > API Keys.

Headers

Idempotency-Key
string

Client-generated unique key for idempotent POST/PATCH/DELETE operations. Alias for the Idempotency parameter. Max 255 chars. On retry with the same key, the original response is returned without re-executing the operation. Keys expire after 24 hours.

Maximum string length: 255

Body

application/json
report_type
string
required

One of the keys returned by GET /v1/reports/types.

parameters
object

Report-specific filter parameters. Schema depends on report_type (see GET /v1/reports/types). All report types accept the optional include_historical boolean (default true): set false to EXCLUDE migration-backfill rows (is_historical_import = true) so revenue / sales aggregations reflect the LIVE business only. Aging reports (ar_aging / ap_aging) accept it for surface consistency but treat it as a no-op (an open balance is owed regardless of import origin).

format
enum<string>
default:json

Artifact format. csv is UTF-8 WITH a byte order mark: the file begins with the 3 bytes EF BB BF (U+FEFF) and is served as Content-Type: text/csv; charset=utf-8. The BOM is required for Microsoft Excel on Windows, which sniffs the BOM and ignores the MIME charset. Read it with a BOM-aware decoder (encoding='utf-8-sig' in Python, new UTF8Encoding(true) in .NET, TextDecoder('utf-8', {ignoreBOM:false}) in JS) or strip the leading U+FEFF, otherwise the FIRST column name arrives as <name>. The completed job echoes the contract in metadata.artifact.csv_encoding ("utf-8-bom"). json is BOM-free per RFC 8259; xlsx / pdf are binary.

Available options:
json,
csv,
xlsx,
pdf

Response

Report job created (pending)

id
string<uuid>
status
string
Example:

"pending"