Skip to navigation

Email Statement

View as Markdown

Queues a PDF statement to be emailed; returns 202 Accepted straight away and the email follows in a few minutes. The PDF is password-protected with the wallet owner’s ID number from KYC (no spaces, capitals).

  • Required: pin (4-digit wallet PIN), email, startDate, endDate (inclusive Nairobi days, yyyy-MM-dd).
  • Optional, same meaning as on Get Wallet Statement: type, directionFilter, searchBy + search, minAmount, maxAmount.

Limits (400 when broken): endDate not in the future; at most 12 months; at most 5,000 matching transactions; 10 requests per wallet per 24 hours (failed requests don’t count). Also 400 when the PIN is wrong or the account has no ID number on file. No Idempotency-Key header.

Headers

AuthorizationstringOptional
X-Device-IdstringOptional

Required on non-GET requests to non-public paths (DeviceSignatureFilter), skipped for GET/whitelisted/multipart requests and in the local profile.

X-SignaturestringOptional

Base64 ECDSA signature over sha256(body) + timestamp + requestId, signed with the device's registered private key.

X-TimestampstringOptional

Unix epoch seconds; must be within 5 minutes of server time.

X-Request-IdstringOptional

Unique per request - reused values are rejected as replays.

Request

This endpoint expects an object.
pinstringOptionalformat: "utc-millisec"
emailstringOptionalformat: "email"
startDatedateOptional
endDatedateOptional
typestringOptional
directionFilterstringOptional

Response

202 Accepted
codeintegerOptional
messagestringOptional
dataobjectOptional

Errors

400
Bad Request Error