---
title: "Create an audited tenant transaction export in CSV or JSON format."
method: POST
path: "/v1/exports"
tags: ["Transactions"]
---

# Create an audited tenant transaction export in CSV or JSON format.

`POST /v1/exports`

## Request

- Base URL: `https://signaledi.com/api`
- URL: `https://signaledi.com/api/v1/exports`
- Auth: HTTP bearer

API keys need both the `read` and `write` scopes.

## Response `200`

Durable one-hour export receipt.

## Other responses

- `401`: Missing or invalid API key (`code` AUTH_UNAUTHORIZED).
- `403`: Control Layer authority missing: the user has no tenant (`code` TENANT_REQUIRED), the API key lacks the `read`/`write` scope the operation needs (CONTROL_LAYER_SCOPE_REQUIRED), the session role lacks the permission (CONTROL_LAYER_PERMISSION_REQUIRED), or an API key asked for a lane other than its own (ENVIRONMENT_MISMATCH).
- `404`: Resource not found, or the /v1 platform is disabled (`code` NOT_FOUND / PARTNER_NOT_FOUND / WORKSPACE_NOT_FOUND).
- `429`: Rate limit exceeded (`code` RATE_LIMITED).
- `500`: Unexpected server error (`code` e.g. PARSE_FAILED, VALIDATE_FAILED, OUTBOUND_FAILED, INBOUND_FAILED, BATCH_FAILED, TRANSACTIONS_FAILED, DOCUMENT_RECEIPT_FAILED, DOCUMENT_PAYLOAD_FAILED). Sanitized bodies carry an opaque `correlationId` to quote to support; internal error text is never echoed.

---

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