Statements
Request statement
https://api.firstleeward.com/v0/statementsRequests a statement over a calendar-day period. The statement is returned PENDING and its file is produced asynchronously; a STATEMENT_STATUS_UPDATED webhook follows once it is GENERATED or FAILED. The period may span at most 31 days, must start on or after 2026-06-01, and must end on a day whose rows are final: yesterday from 10:00 UTC, otherwise the day before. At most 5 statements may be pending per project at once.
Authorizations
Authorizationstring · headerrequiredAPI key as Bearer token, e.g. Bearer YOUR_API_KEY
Headers
Leeward-Versionenum<string>requiredAPI version (YYYY-MM-DD). Available option: 2026-09-18
Idempotency-KeystringrequiredUnique key for safely retrying this request. Up to 255 characters; we recommend a UUIDv4. The first request executes and its response is cached; subsequent requests with the same key replay the cached response (24h retention).
Body
application/json
typestringrequiredWhat the statement itemises
CARD_TRANSACTION_FEESCARD_NON_TRANSACTION_FEESperiodobjectrequiredShow child attributes
fromstring<date>requiredFirst calendar day covered, inclusive, UTC
tostring<date>requiredLast calendar day covered, inclusive, UTC
fieldsstring[]Columns to include, in file order. Omit for every column of the type.
formatstringdefault: "CSV"File format
CSVResponse
200Statement resource
idstring<uuid>requiredUnique statement identifier
typestringrequiredWhat the statement itemises
CARD_TRANSACTION_FEESCARD_NON_TRANSACTION_FEESoriginstringrequiredWho requested the statement
CLIENTFIRST_LEEWARDstatusstringrequiredCurrent statement status
PENDINGGENERATEDFAILEDperiodobjectrequiredShow child attributes
fromstring<date>requiredFirst calendar day covered, inclusive, UTC
tostring<date>requiredLast calendar day covered, inclusive, UTC
fieldsstring[] | nullrequiredColumns in the file, in order. null means every column of the type.
formatstringrequiredFile format
CSVversionstringrequiredAPI version the statement was requested under. Fixes the column definitions the file follows.
rowCountinteger | nullrequiredNumber of data rows in the file, once generated
byteSizeinteger | nullrequiredSize of the file in bytes, once generated
dataAsOfstring | nullrequiredISO 8601 timestamp of how fresh the source data was when the file was produced, when known
generatedAtstring | nullrequiredISO 8601 timestamp of when the file became available
createdAtstringrequiredISO 8601 timestamp of creation
updatedAtstringrequiredISO 8601 timestamp of last update
400Response for status 400
Option 1 · StatementTypeNotAvailableError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 2 · StatementUnknownFieldError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 3 · StatementPeriodInvalidError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 4 · StatementPeriodTooRecentError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequiredOption 5 · StatementPeriodTooEarlyError
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired409Too many statements are pending for this project; retry once one finishes
errorobjectrequiredShow child attributes
codestringrequiredmessagestringrequireddetailobject | nullrequired