cURL
curl --request GET \
--url https://api.ctrl-hub.com/v3/equipment-items \
--header 'X-Session-Token: <api-key>'import requests
url = "https://api.ctrl-hub.com/v3/equipment-items"
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/equipment-items', 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/equipment-items",
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/equipment-items"
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/equipment-items")
.header("X-Session-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/equipment-items")
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": "equipment-items",
"attributes": {
"reference": "REF-001",
"serial": "CH-001",
"asset_number": "A-12345",
"is_rented": true,
"purchased_at": "2024-01-15T00:00:00.000Z",
"vibration_source": true,
"vibration_magnitude": 2.7,
"description": "<string>",
"status": "<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": "organisations"
}
},
"manufacturer": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-manufacturers"
}
},
"model": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-models"
}
},
"business_area": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "business-areas"
}
},
"owner": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "owners"
}
},
"status": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-statuses"
}
},
"categories": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-categories"
}
]
},
"inherited_categories": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-categories"
}
]
},
"certifications": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-certifications"
}
]
},
"allocated_person": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "users"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"allocated_scheme": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "schemes"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"allocated_work_order": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "work-orders"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"allocated_location": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "locations"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"allocated_vehicle": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "vehicles"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"pre_allocations": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-item-pre-allocations"
}
]
},
"folder": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "folders"
}
}
}
}
],
"meta": {
"pagination": {
"counts": {
"pages": 1,
"resources": 1
},
"current_page": 1,
"offsets": {
"next": null,
"previous": null
},
"requested": {
"limit": 10,
"offset": 0
}
},
"features": {
"include": {
"options": [
"related.resource"
]
}
}
},
"jsonapi": {
"version": "1.0"
},
"included": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-manufacturers",
"attributes": {
"name": "Festool"
},
"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": "organisations"
}
}
}
}
]
}{
"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."
}Equipment
List equipment items
Retrieve a list of equipment items. Filter by organisation with ?filter=eq(organisation,xxx).
GET
/
v3
/
equipment-items
cURL
curl --request GET \
--url https://api.ctrl-hub.com/v3/equipment-items \
--header 'X-Session-Token: <api-key>'import requests
url = "https://api.ctrl-hub.com/v3/equipment-items"
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/equipment-items', 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/equipment-items",
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/equipment-items"
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/equipment-items")
.header("X-Session-Token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/equipment-items")
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": "equipment-items",
"attributes": {
"reference": "REF-001",
"serial": "CH-001",
"asset_number": "A-12345",
"is_rented": true,
"purchased_at": "2024-01-15T00:00:00.000Z",
"vibration_source": true,
"vibration_magnitude": 2.7,
"description": "<string>",
"status": "<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": "organisations"
}
},
"manufacturer": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-manufacturers"
}
},
"model": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-models"
}
},
"business_area": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "business-areas"
}
},
"owner": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "owners"
}
},
"status": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-statuses"
}
},
"categories": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-categories"
}
]
},
"inherited_categories": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-categories"
}
]
},
"certifications": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-certifications"
}
]
},
"allocated_person": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "users"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"allocated_scheme": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "schemes"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"allocated_work_order": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "work-orders"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"allocated_location": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "locations"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"allocated_vehicle": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "vehicles"
},
"meta": {
"starts_at": "2023-11-07T05:31:56Z"
}
},
"pre_allocations": {
"data": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-item-pre-allocations"
}
]
},
"folder": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "folders"
}
}
}
}
],
"meta": {
"pagination": {
"counts": {
"pages": 1,
"resources": 1
},
"current_page": 1,
"offsets": {
"next": null,
"previous": null
},
"requested": {
"limit": 10,
"offset": 0
}
},
"features": {
"include": {
"options": [
"related.resource"
]
}
}
},
"jsonapi": {
"version": "1.0"
},
"included": [
{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-manufacturers",
"attributes": {
"name": "Festool"
},
"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": "organisations"
}
}
}
}
]
}{
"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
Filters the response data based on the value provided.
Available filters:
eq(id,xxx): Filter equipment items by ID.eq(organisation,xxx): Filter equipment items by organisation ID.eq(manufacturer,xxx): Filter equipment items by manufacturer ID.eq(model,xxx): Filter equipment items by model ID.eq(allocated_person,xxx): Filter equipment items currently allocated to the given person ID.eq(allocated_scheme,xxx): Filter equipment items currently allocated to the given scheme ID.eq(allocated_work_order,xxx): Filter equipment items currently allocated to the given work order ID.eq(allocated_location,xxx): Filter equipment items currently allocated to the given location ID.eq(allocated_vehicle,xxx): Filter equipment items currently allocated to the given vehicle ID.eq(business_area,xxx): Filter equipment items by assigned business area ID.eq(owner,xxx): Filter equipment items by assigned owner ID.eq(serial,xxx): Filter equipment items by serial number.contains(serial,xxx): Filter equipment items where serial contains value.contains(reference,xxx): Filter equipment items where reference contains value.contains(search,xxx): Text search — matches items where reference OR serial contains the value (case-insensitive).eq(status,xxx): Filter equipment items by assigned status ID.eq(category,xxx): Filter equipment items by category ID. Honours inheritance — matches items assigned the category directly or via their model.
A comma separated list of related resources to include.
Available options:
manufacturer, model, organisation, business_area, owner, status, categories, inherited_categories, certifications, allocated_person, allocated_scheme, allocated_work_order, allocated_location, allocated_vehicle, folder Limit the number of resources returned by the API
Required range:
x >= 1Offset the resources returned by the API
Required range:
x >= 0Response
Get a list of equipment.
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 an equipment item is returned.
An equipment manufacturer
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
- Option 8
- Option 9
- Option 10
- Option 11
Show child attributes
Show child attributes