Generate Upload URL - Afriex Business API
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
cURL
upload-user
curl --request POST \
--url https://sandbox.api.afriex.com/api/v1/media/url \
--header 'Content-Type: application/json' \
--header 'x-api-key: <api-key>' \
--data '
{
"fileName": "passport.png",
"type": "user"
}
'
Response Codes
- 200
- 400
- 401
{
"data": {
"url": "https://s3.amazonaws.com/bucket/key?X-Amz-Algorithm=AWS4-HMAC-SHA256&..."
}
}
{
"code": "<string>",
"error": "<string>",
"details": {
"errorMessage": "<string>",
"friendlyMessage": "<string>",
"data": {
"customerId": "<string>"
}
}
}
API Endpoint
POST https://sandbox.api.afriex.com/api/v1/media/url
Generates a short-lived, presigned S3 URL that you can PUT a file to directly. Use it for KYC documents on customers or for transaction-related files such as SWIFT invoices.
Steps to Use
Request a URL
CallPOST /api/v1/media/urlwith the targetfileNameand atype(userfor identity documents,transactionfor transaction files). The response contains a presignedurland a stablekey.Upload the file
Send an HTTPPUTto theurlwith the file bytes as the body. Complete the upload before the URL expires.Reference the file
Attach the returnedkeyto any follow-up request (for example, theinvoicefield on a SWIFT withdraw, or a document field in SME Registration). The presignedurlitself expires shortly after issuance and is not accepted downstream.
Authorizations
x-api-key
string
header
required
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 unrecognized, malformed, or revoked key returns 401 Unauthorized. Manage your keys and their permissions under Developer → API keys in the dashboard.
Headers
x-api-version
string
API version in ISO 8601 format (e.g., 2025-12-28). Defaults to latest stable.
Body
application/json
fileName
string
required
The name of the file to upload.
Example:"document.pdf"
type
enum
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.
Available options:transaction,user
Response
200
application/json
Presigned URL generated successfully.