Skip to main content
This guide explains how to get your organization’s documents through the API: the same statements, certificates and letters you can download from the dashboard.

Report types

Statements and certificates cover every currency by default. Pass currency (an asset code such as USD) to cover one currency only.

How it works

  1. You call POST /v1/reports. The report is created with status PENDING and generated in the background, usually within seconds.
  2. You learn when it is done, in one of two ways:
  3. Once READY, you call GET /v1/reports/{reportId}/download, which redirects to the file.

Request a statement

  • Dates are days in UTC, as YYYY-MM-DD. to is inclusive.
  • from can be no earlier than 2024-01-01, and the period can be at most 366 days long.
  • A period reaching today runs up to the moment of the request.

Request a balance certificate

The certificate states the balances at the end of asOf. The day must have ended: a certificate for today is refused with invalid_request.

Request a bank confirmation letter

The funding method must be a BANK funding method of your organization, with asset enabled on it. List them with GET /v1/funding-methods.

Download the file

The endpoint answers 303 See Other with a Location header holding a signed link to the file. The link expires after one minute:
  • Follow the redirect straight away (curl -L, or your HTTP client’s default redirect handling).
  • Do not store the link. Call the download endpoint again whenever you need the file.
Downloading a report that is not READY returns 409 report_not_ready.

List reports

GET /v1/reports returns your organization’s reports, newest first, with the usual limit and cursor pagination. The list includes every report of your organization: the ones requested through the API, the ones requested on the dashboard, and the monthly statements nxos generates for you.

Limits

  • Requesting a report needs your organization to be verified (APPROVED). Listing, retrieving and downloading do not.
  • Up to 5 reports can be in progress at once per organization. A sixth request returns 409 too_many_pending_reports: wait for one to finish.
  • POST /v1/reports accepts an Idempotency-Key, so a retried request does not create a second report.

Reports for your clients

A broker can work on a client’s reports with the Nxos-On-Behalf-Of header. See Cross-org access.
  • Requesting needs an active Letter of Authorization, and the client must be APPROVED. The report belongs to the client: it appears in the client’s list and on the client’s dashboard.
  • Listing, retrieving and downloading accept any Letter of Authorization the client has not revoked, whatever the client’s verification status.
Webhooks for a client’s reports reach the broker’s endpoints only once the client has signed the Letter of Authorization.

Errors

See Errors for the format.