Generate WTN
API Reference
Generate WTN
Generate a fully structured digital Waste Transfer Note
POST
Generate WTN
Generate WTN
Generates a fully structured, compliance-checked digital Waste Transfer Note. This is a composite endpoint that runs carrier verification and waste classification in parallel internally, then combines the results into a single WTN document. Each WTN is persisted with a unique reference and can be retrieved later via GET /v1/wtn/.Requires authentication via
Authorization header. See Authentication.Request
Method:POST
Path: /v1/generate-wtn
Headers
Bearer token with your API key, e.g.
Bearer wc_live_your_keyMust be
application/jsonBody Parameters
The business producing the waste
Business name
Business address
SIC code for the producer’s industry
Contact person’s name
The waste carrier
CBDU/CBDL registration number
Verify against EA register (default:
true)Details of the waste being transferred
Plain-English waste description
Classify into EWC codes (default:
true)Provide directly if
auto_classify is falseWeight in kilograms
Container type (e.g.
skip, wheelie_bin, drum)The receiving waste facility
Facility name
Facility address
Environmental permit number (e.g.
EPR/AB1234CD)Date of waste transfer (YYYY-MM-DD format)
Response
Success Response (201)
Unique WTN reference (e.g.
WTN-2026-0325-A7X9). Use this to retrieve the WTN later.Confirms whether each legal requirement for waste transfer is met
True only when all duty of care checks pass
Duty of Care Checklist
| Field | Description |
|---|---|
producer_identified | Producer name and address are provided |
carrier_verified | Carrier registration verified against the EA register |
waste_classified | Waste has been classified with a valid EWC code |
destination_provided | Destination facility name and address are provided |
all_checks_passed | True only when all above checks pass |
Performance Notes
Total latency is typically 2-3 seconds, driven by the classification step. If you provide anewc_code directly and set auto_classify to false, latency drops to ~500ms.
WTNs are not cached. Each request creates a new document. The internal calls to /v1/verify-carrier and /v1/classify-waste use their own caches, so repeated WTNs for the same carrier or waste type are faster.
Error Responses
| Code | HTTP | When |
|---|---|---|
INVALID_REQUEST | 400 | Missing required fields |
CARRIER_NOT_FOUND | 404 | Carrier registration not found (when auto_verify is true) |
CLASSIFICATION_FAILED | 500 | Waste classification could not be completed |