TaxStreem Logo

Single

Authentication Required

This endpoint requires a valid API key. Include your API key in the x-api-key header of every request. You can generate a test key in your developer dashboard.

The Single Transaction API submits one financial transaction to Numens for tax classification. The engine inspects the transaction context — counterparty identity, amount, currency, and description — and determines whether VAT, WHT, or CIT applies, returning the tax type, applicable rate, and computed tax amount.

No pre-labelling required. Numens reads the transaction semantics and makes the determination automatically, eliminating the need to hardcode tax logic into your application.

Integration Flow

  1. 1Submit Transaction: POST the transaction with counterparty, amount, currency, and a plain-language description.
  2. 2Numens Classifies: The engine resolves the tax type and rate based on the nature of the transaction and the counterparty's profile.
  3. 3Receive Result: The transaction.classified webhook delivers taxType, taxRate, and taxAmount.

HTTP Request

POSThttps://api.taxstreem.com/v1/numens/single

Request Body

The following parameters are required for this action.

ParameterTypeRequiredDescription
encryptedPayloadstringRequiredYour Base64-encoded, AES-256-GCM in-flight encrypted TaxPromax credentials (email and password). See Encryption Section for generation steps.
filingIdstringRequiredYour unique internal ID representing this VAT filing request. Limits duplicate filings (Idempotency Key).
monthnumberRequiredNumeric month you are filing for. Valid values: 1 to 12. Late filings may incur penalties from the authority.
yearnumberRequired4-digit year for the filing (e.g. 2024).
vatStatusnumberRequiredDetermines tax treatment. Valid values: 0 (VATABLE), 1 (ZERO RATED), 2 (VAT EXEMPT).
amountnumberRequiredThe total invoice or item amount exclusive of VAT.
itemstringRequiredName or category of the exchanged product/service (e.g. Enterprise Software License).
narrationstringOptionalDetailed context or invoice reference line for the item. Helps your finance team during auditing.
taxIdstringOptionalThe customer's TIN. If the customer isn't registered or it's a B2C transaction, provide "0".
beneficiarystringOptionalCustomer name. If blank/B2C, default system value is "Retail Customer".

Response Documentation

A successful invocation of this endpoint returns a 202 Accepted or 200 OK. Since filing operations are processed asynchronously alongside tax gateways, the immediate response acknowledges successful receipt and enqueueing of the schedule payload.

Field NameTypeDescription
statusstringThe high-level outcome of the request context. Value is typically accepted indicating payload validation passed.
messagestringA human-readable confirmation note (e.g. "schedule accepted successfully").
data.idstringThe tracking UUID for this schedule. This precise ID correlates to the filingId in downstream webhook events.
data.created_atstring (date-time)Timestamp marking the instant the schedule safely enqueued, in ISO 8601 format.

Error Handling

The API applies standard HTTP status codes indicating success or failure. In case of an anomaly, the response body contains an errors array detailing specific field-level validation issues to facilitate rapid integration debugging.

HTTP StatusError KeyCause & Resolution
400Bad RequestCause: Missing required fields, invalid attributes (e.g. malformed TIN), or structural JSON anomalies.
Resolution: Traverse the errors array in the response to target the invalid field constraints, format properly, and re-submit.
401UnauthorizedCause: The API key credential is missing, malformed, or revoked.
Resolution: Ensure your x-api-key is populated in the request header and that you are matching the correct environment bounds (live vs test).
403ForbiddenCause: Properly authenticated, but the key context is lacking specific scope permissions or the merchant account represents restricted access.
Resolution: Review integration scopes within the dashboard to assure capability rights correspond to NUMENS operations.
429Too Many RequestsCause: Network volume exceeds the rate envelope associated with your tier configuration.
Resolution: Gracefully throttle via exponential backoff semantics checking the Retry-After header variable, or upgrade capacity constraints.
Example Request
curl -X POST https://api.taxstreem.com/v1/numens/single \
  -H "x-api-key: txsm_test_SK489c..." \
  -H "Content-Type: application/json" \
  -d '{ "transactionId": "TXN-20240320-001", "counterparty": "Acme Consulting Ltd", "amount": 250000, "currency": "NGN", "description": "Professional consultancy services", "transactionDate": "2024-03-20" }'
Example Response
202 Accepted
{
  "status": "accepted",
  "message": "schedule accepted successfully",
  "data": {
    "id": "xaee2ddf-effvkfes",
    "created_at": "2026-02-20T10:00:00Z"
  }
}