DOCS/FLUX/Wht Filing
Single Filing
Submit a single Withholding Tax (WHT) transaction for processing and filing via the FLUX API. This endpoint supports individual WHT deductions applied to a specific payment or beneficiary.
Use this when:
- You are filing WHT for a single vendor or transaction
- You need immediate confirmation of the deduction
- The payment is processed individually
HTTP Request
POSThttps://api.taxstreem.com/v1/flux/wht-filing/single
Request Body
The following parameters are required for this action.
| Parameter | Type | Description |
|---|---|---|
| encryptedPayload | string | The encrypted payload of the TaxPromax credentials of the filing user. |
| filingId | string | Your unique ID for the filing. |
| beneficiaryName | string | The name of the beneficiary. |
| beneficiaryTin | string | The Tax Identification Number of the beneficiary. |
| transactionDate | string | The date of the transaction (YYYY-MM-DD). |
| transactionDesc | string | A description of the transaction. |
| transactionAmount | number | The total amount of the transaction. |
| rate | number | The WHT rate applied. |
| taxAmount | number | The calculated tax amount. |
| scheduleReference | string | A reference for the WHT schedule. |
Encrypted Payload (In-Flight Encryption)
FLUX requires sensitive credentials to be encrypted at the application layer before transmission. This provides defense-in-depth on top of HTTPS.
The encryptedPayload field must contain a Base64-encoded AES-256-GCM encrypted JSON object.
Encryption Specification
| Property | Value |
|---|---|
| Algorithm | AES-256-GCM |
| Key Derivation | SHA-256(sharedSecret) |
| IV (Nonce) | 12 bytes (96-bit) random |
| Auth Tag | 16 bytes (128-bit) |
| Encoding | Base64 |
Payload Format
The final transmitted value must be:
Base64( IV[12] || Ciphertext || AuthTag[16] )
- IV is randomly generated per request
- Ciphertext is encrypted JSON
- AuthTag is automatically appended by GCM
Example Request
curl -X POST https://api.taxstreem.com/v1/flux/wht-filing/single \
-H "x-api-key: txsm_test_SK489c..." \
-H "Content-Type: application/json" \
-d {
"encryptedPayload": 'encrypted_string_...',
"filingId": '123-abuiod-90',
"month": 1,
"year": 2024,
"data": [
{"beneficiaryName": "John Doe","beneficiaryTin": "2345544-0001","transactionDate": "2024-03-20","transactionDesc": "Consultancy Services","transactionAmount": 50000,"rate": 5,"taxAmount": 2500,"scheduleReference": "REF-123456"}
]
}
Example Response
202 Accepted
{
"status": "accepted",
"message": "schedule accepted successfully",
"data": {
"id": "xaee2ddf-effvkfes",
"created_at": "2026-02-20T10:00:00Z"
}
}