Batch WHT Filing
Submit multiple WHT filing returns in a single bulk request.
POSThttps://api.taxstreem.com/v1/wht/filing/batch
Request Body
Top-level parameters for the batch request.
| Parameter | Type | Required | Description |
|---|---|---|---|
| batchId | string | Required | Unique identifier for this batch request. |
| payload | array | Required | Array of WHT filing items. Each item follows the WHT filing item schema. |
payload[ ] — WHT Item Schema
| Field | Type | Required | Description |
|---|---|---|---|
| encryptedPayload | string | Required | AES-256-GCM encrypted TaxPromax credentials. |
| filingId | string | Required | Unique idempotency key for this filing. |
| month | number | Required | Numeric month (1-12). |
| year | number | Required | 4-digit filing year. |
| whtAmount | number | Required | Total WHT amount to file. |
| taxId | string | Required | Business Tax Identification Number. |
| interestAmount | number | Required | Accrued interest amount if filing late. |
| penaltyAmount | number | Required | Penalty amount if filing late. |
| scheduleUrl | string | Required | URL to the uploaded WHT schedule file. |
Encrypted Payload
The encryptedPayload field in each item is required and carries the encrypted credentials.
Response
Returns 202 Accepted on success. Listen for the wht.filing.success webhook for final confirmation.
Example Request
curl -X POST https://api.taxstreem.com/v1/wht/filing/batch \ -H "x-api-key: txsm_test_SK489c..." \ -H "Content-Type: application/json" \ -d '{ "batchId": "batch_wht_98234", "payload": [ { "encryptedPayload": "aXZJVkpTT05...YWx1ZQ==", "filingId": "filing_wht_2343dfw_1", "month": 1, "year": 2026, "whtAmount": 15000, "taxId": "12345678-0001", "interestAmount": 0, "penaltyAmount": 0, "scheduleUrl": "https://storage.taxstreem.com/schedules/jan_wht_schedule_vendor1.csv" }, { "encryptedPayload": "aXZJVkpTT05...YWx1ZQ==", "filingId": "filing_wht_2343dfw_2", "month": 1, "year": 2026, "whtAmount": 25000, "taxId": "87654321-0002", "interestAmount": 0, "penaltyAmount": 0, "scheduleUrl": "https://storage.taxstreem.com/schedules/jan_wht_schedule_vendor2.csv" } ] }'
Example Response
202 Accepted
{
"status": "accepted",
"message": "batch WHT filing accepted successfully",
"data": {
"batchId": "batch_wht_98234",
"recordCount": 2,
"creditsUsed": 4,
"creditsRemaining": 496,
"created_at": "2026-02-20T10:00:00Z"
}
}