cURL
curl --request GET \
--url https://api.ctrl-hub.com/v3/waste-movements \
--header 'X-Session-Token: <api-key>'import requests
url = "https://api.ctrl-hub.com/v3/waste-movements"
headers = {"X-Session-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Session-Token': '<api-key>'}};
fetch('https://api.ctrl-hub.com/v3/waste-movements', 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.ctrl-hub.com/v3/waste-movements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Session-Token: <api-key>"
],
]);
$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.ctrl-hub.com/v3/waste-movements"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Session-Token", "<api-key>")
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.ctrl-hub.com/v3/waste-movements")
.header("X-Session-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/waste-movements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Session-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"attributes": {
"client_reference": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"date_time_received": "2023-11-07T05:31:56Z",
"waste_items": [
{
"ewc_codes": [
"<string>"
],
"waste_description": "<string>",
"number_of_containers": 1,
"type_of_containers": "<string>",
"weight": {
"amount": 1,
"is_estimate": true
},
"contains_hazardous": true,
"contains_pops": true,
"hazardous": {
"components": [
{
"name": "<string>",
"concentration": 1
}
],
"haz_codes": [
"<string>"
]
},
"pops": {
"components": [
{
"name": "<string>",
"concentration": 1
}
]
},
"disposal_or_recovery_codes": [
{
"code": "<string>",
"weight": {
"amount": 1,
"is_estimate": true
}
}
]
}
],
"ewc_codes": [
"<string>"
],
"means_of_transport": "<string>",
"vehicle_registration": "<string>",
"receipt_address": {
"full_address": "<string>",
"postcode": "<string>"
},
"hazardous_waste_consignment_code": "<string>",
"other_references": [
{
"label": "<string>",
"reference": "<string>"
}
],
"special_handling_requirements": "<string>"
},
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"relationships": {
"organisation": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"broker": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"carrier": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"receiver_site": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"submissions": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
]
}
}
}
],
"meta": {
"pagination": {
"counts": {
"pages": 123,
"resources": 123
},
"current_page": 123,
"offsets": {
"next": 123,
"previous": 123
},
"requested": {
"limit": 123,
"offset": 123
}
},
"features": {
"include": {
"options": [
"<string>"
]
}
}
},
"jsonapi": {
"version": "<string>"
},
"included": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"attributes": {
"organisation_name": "<string>",
"registration_number": "<string>"
},
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"relationships": {
"organisation": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
}
}
}
]
}{
"id": "98ca4a78-b66f-4234-9719-aaf832ee6669",
"status": "400",
"title": "A validation error was encountered",
"source": {
"parameter": "include"
},
"meta": {
"resource": "wrong_value"
}
}{
"id": "05fc9c8d-73b9-4697-9337-57f7a567a48f",
"status": "401",
"title": "You are not authorised to access this resource",
"detail": "In order to access this resource, you need the 'admin' role.",
"code": "AUTH.001"
}{
"id": "fe9d9a69-f0a7-4fdc-bb2c-176027f316c5",
"status": "500",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server."
}Waste Movements
Get v3waste movements
Retrieve a list of waste movements for the given organisation.
GET
/
v3
/
waste-movements
cURL
curl --request GET \
--url https://api.ctrl-hub.com/v3/waste-movements \
--header 'X-Session-Token: <api-key>'import requests
url = "https://api.ctrl-hub.com/v3/waste-movements"
headers = {"X-Session-Token": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Session-Token': '<api-key>'}};
fetch('https://api.ctrl-hub.com/v3/waste-movements', 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.ctrl-hub.com/v3/waste-movements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Session-Token: <api-key>"
],
]);
$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.ctrl-hub.com/v3/waste-movements"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Session-Token", "<api-key>")
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.ctrl-hub.com/v3/waste-movements")
.header("X-Session-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/waste-movements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Session-Token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"attributes": {
"client_reference": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"date_time_received": "2023-11-07T05:31:56Z",
"waste_items": [
{
"ewc_codes": [
"<string>"
],
"waste_description": "<string>",
"number_of_containers": 1,
"type_of_containers": "<string>",
"weight": {
"amount": 1,
"is_estimate": true
},
"contains_hazardous": true,
"contains_pops": true,
"hazardous": {
"components": [
{
"name": "<string>",
"concentration": 1
}
],
"haz_codes": [
"<string>"
]
},
"pops": {
"components": [
{
"name": "<string>",
"concentration": 1
}
]
},
"disposal_or_recovery_codes": [
{
"code": "<string>",
"weight": {
"amount": 1,
"is_estimate": true
}
}
]
}
],
"ewc_codes": [
"<string>"
],
"means_of_transport": "<string>",
"vehicle_registration": "<string>",
"receipt_address": {
"full_address": "<string>",
"postcode": "<string>"
},
"hazardous_waste_consignment_code": "<string>",
"other_references": [
{
"label": "<string>",
"reference": "<string>"
}
],
"special_handling_requirements": "<string>"
},
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"relationships": {
"organisation": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"broker": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"carrier": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"receiver_site": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
},
"submissions": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
]
}
}
}
],
"meta": {
"pagination": {
"counts": {
"pages": 123,
"resources": 123
},
"current_page": 123,
"offsets": {
"next": 123,
"previous": 123
},
"requested": {
"limit": 123,
"offset": 123
}
},
"features": {
"include": {
"options": [
"<string>"
]
}
}
},
"jsonapi": {
"version": "<string>"
},
"included": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>",
"attributes": {
"organisation_name": "<string>",
"registration_number": "<string>"
},
"meta": {
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
},
"relationships": {
"organisation": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "<string>"
}
}
}
}
]
}{
"id": "98ca4a78-b66f-4234-9719-aaf832ee6669",
"status": "400",
"title": "A validation error was encountered",
"source": {
"parameter": "include"
},
"meta": {
"resource": "wrong_value"
}
}{
"id": "05fc9c8d-73b9-4697-9337-57f7a567a48f",
"status": "401",
"title": "You are not authorised to access this resource",
"detail": "In order to access this resource, you need the 'admin' role.",
"code": "AUTH.001"
}{
"id": "fe9d9a69-f0a7-4fdc-bb2c-176027f316c5",
"status": "500",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server."
}Authorizations
SessionCookieOAuth2
Session token for authentication.
Query Parameters
Limit the number of resources returned by the API
Required range:
x >= 1Offset the resources returned by the API
Required range:
x >= 0A comma separated list of fields to sort by.
Available options:
date_time_received, -date_time_received, status, -status, created_at, -created_at Filters the response data based on the value provided.
Available filters:
eq(id,xxx): Filter waste movements by ID.eq(organisation,xxx): Filter waste movements by organisation ID.eq(client_reference,xxx): Filter by the client-supplied reference (UUID).eq(ewc_code,xxx): Filter to movements containing a waste item with the given EWC code.eq(broker,xxx): Filter movements by linked broker catalogue record ID.eq(carrier,xxx): Filter movements by linked carrier catalogue record ID.eq(receiver_site,xxx): Filter movements by linked receiving site catalogue record ID.ge(date_time_received,xxx)/le(date_time_received,xxx): Filter by the date received. Use the function-stylege/leoperators (notgte/lte).
For more information on using named filters, see the docs
A comma separated list of related resources to include.
Available options:
broker, carrier, receiver_site, submissions Response
A list of waste movements.
JSON API response object
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Related resources that can be included when a waste movement is returned
A reusable broker or dealer an organisation transports waste with.
- Option 1
- Option 2
- Option 3
- Option 4
Show child attributes
Show child attributes
⌘I