Retrieve WTN
curl --request GET \
--url https://api.example.com/v1/wtn/{reference} \
--header 'Authorization: <authorization>'import requests
url = "https://api.example.com/v1/wtn/{reference}"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.example.com/v1/wtn/{reference}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/wtn/{reference}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/wtn/{reference}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/wtn/{reference}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/wtn/{reference}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodyAPI Reference
Retrieve WTN
Retrieve a previously generated Waste Transfer Note
GET
/
v1
/
wtn
/
{reference}
Retrieve WTN
curl --request GET \
--url https://api.example.com/v1/wtn/{reference} \
--header 'Authorization: <authorization>'import requests
url = "https://api.example.com/v1/wtn/{reference}"
headers = {"Authorization": "<authorization>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<authorization>'}};
fetch('https://api.example.com/v1/wtn/{reference}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/v1/wtn/{reference}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <authorization>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/v1/wtn/{reference}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<authorization>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.example.com/v1/wtn/{reference}")
.header("Authorization", "<authorization>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/v1/wtn/{reference}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<authorization>'
response = http.request(request)
puts response.read_bodyRetrieve WTN
Retrieves a previously generated Waste Transfer Note by its unique reference. WTNs are scoped to the organisation that created them. You cannot retrieve another organisation’s WTNs.Requires authentication via
Authorization header. See Authentication.Request
Method:GET
Path: /v1/wtn/{reference}
Headers
string
required
Bearer token with your API key, e.g.
Bearer wc_live_your_keyPath Parameters
string
required
The WTN reference returned when it was created (e.g.
WTN-2026-0325-A7X9)Response
Success Response (200)
Returns the full WTN object as shown in the POST /v1/generate-wtn response, including producer, carrier, waste, destination, duty of care, and compliance objects.{
"reference": "WTN-2026-0325-A7X9",
"status": "complete",
"producer": {
"name": "ABC Office Fit-out Ltd",
"address": "45 High Street, Bournemouth, BH1 2AA",
"sic_code": "43320"
},
"carrier": {
"registration_number": "CBDU217016",
"business_name": "ACME WASTE SERVICES LTD",
"tier": "upper",
"verified": true,
"expiry_date": "2027-01-15"
},
"waste": {
"description": "Broken plasterboard from office refurbishment",
"ewc_code": "17 08 02",
"ewc_description": "Gypsum-based construction materials",
"is_hazardous": false,
"quantity_kg": 2500,
"container_type": "skip"
},
"destination": {
"name": "South Coast Recycling Ltd",
"address": "Industrial Estate, Poole, BH15 1NF",
"permit_number": "EPR/AB1234CD"
},
"duty_of_care": {
"producer_identified": true,
"carrier_verified": true,
"waste_classified": true,
"destination_provided": true,
"all_checks_passed": true
},
"compliance": {
"is_compliant": true,
"flags": [],
"warnings": []
},
"transfer_date": "2026-03-25",
"created_at": "2026-03-25T14:32:00Z"
}
Error Responses
| Code | HTTP | When |
|---|---|---|
WTN_NOT_FOUND | 404 | Reference doesn’t exist or belongs to a different organisation |
{
"error": {
"code": "WTN_NOT_FOUND",
"message": "No Waste Transfer Note matches the given reference.",
"status": 404
}
}
Example
curl https://api.wastecheck.co.uk/v1/wtn/WTN-2026-0325-A7X9 \
-H "Authorization: Bearer wc_live_your_api_key_here"
const response = await fetch(
"https://api.wastecheck.co.uk/v1/wtn/WTN-2026-0325-A7X9",
{
headers: {
"Authorization": "Bearer wc_live_your_api_key_here",
},
}
);
const data = await response.json();
console.log(data.reference); // "WTN-2026-0325-A7X9"
import requests
response = requests.get(
"https://api.wastecheck.co.uk/v1/wtn/WTN-2026-0325-A7X9",
headers={
"Authorization": "Bearer wc_live_your_api_key_here",
},
)
data = response.json()
print(data["reference"]) # "WTN-2026-0325-A7X9"
⌘I