Generate Upload URL
Generates a presigned S3 URL that the caller can use to upload a file (e.g. a KYC document) directly to Afriex’s secure storage. The returned URL is time-limited and scoped to the requested operation.
PUT a file to directly. Use it for KYC documents on customers or for transaction-related files such as SWIFT invoices.
Request a URL
POST /api/v1/media/url with the target fileName and a type (user for identity documents, transaction for transaction files). The response contains a presigned url and a stable key.Upload the file
PUT to the url with the file bytes as the body. Complete the upload before the URL expires.Reference the file
key to any follow-up request (for example, the invoice field on a SWIFT withdraw, or a document field in SME Registration). The presigned url itself expires shortly after issuance and is not accepted downstream.Authorizations
Static business API key issued from the dashboard. A business can provision multiple API keys, each scoped to a configurable set of permissions (e.g. read transactions, create deposits, etc). Permissions are chosen per key at creation time in the dashboard and may be revoked by deleting the key. Requests made with a key that does not include the permission required by the target endpoint will be rejected with a 403 Forbidden response; an unrecognised, malformed or revoked key returns 401 Unauthorized. Manage your keys and their permissions under Developer → API keys in the dashboard.
Headers
API version in ISO 8601 format (e.g. 2025-12-28). Defaults to latest stable.
Body
The name of the file to upload.
"document.pdf"
The category of the file being uploaded. Use transaction for transaction-related files (e.g. a transactions CSV) and user for user identity documents. Defaults to user when omitted.
transaction, user Response
Presigned URL generated successfully.
