curl --request PUT \
--url https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id} \
--header 'Content-Type: application/vnd.api+json' \
--header 'X-Session-Token: <api-key>' \
--data '
{
"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>"
},
"relationships": {
"business_area": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "business-areas"
}
},
"manufacturer": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-manufacturers"
}
},
"model": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-models"
}
},
"owner": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "owners"
}
}
}
}
}
'import requests
url = "https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}"
payload = { "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>"
},
"relationships": {
"business_area": { "data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "business-areas"
} },
"manufacturer": { "data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-manufacturers"
} },
"model": { "data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-models"
} },
"owner": { "data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "owners"
} }
}
} }
headers = {
"X-Session-Token": "<api-key>",
"Content-Type": "application/vnd.api+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-Session-Token': '<api-key>', 'Content-Type': 'application/vnd.api+json'},
body: JSON.stringify({
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>'
},
relationships: {
business_area: {data: {id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: 'business-areas'}},
manufacturer: {
data: {id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: 'equipment-manufacturers'}
},
model: {data: {id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: 'equipment-models'}},
owner: {data: {id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: 'owners'}}
}
}
})
};
fetch('https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}', 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/{equipment_item_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'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>'
],
'relationships' => [
'business_area' => [
'data' => [
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'business-areas'
]
],
'manufacturer' => [
'data' => [
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'equipment-manufacturers'
]
],
'model' => [
'data' => [
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'equipment-models'
]
],
'owner' => [
'data' => [
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'owners'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/vnd.api+json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}"
payload := strings.NewReader("{\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-items\",\n \"attributes\": {\n \"reference\": \"REF-001\",\n \"serial\": \"CH-001\",\n \"asset_number\": \"A-12345\",\n \"is_rented\": true,\n \"purchased_at\": \"2024-01-15T00:00:00.000Z\",\n \"vibration_source\": true,\n \"vibration_magnitude\": 2.7,\n \"description\": \"<string>\"\n },\n \"relationships\": {\n \"business_area\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"business-areas\"\n }\n },\n \"manufacturer\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-manufacturers\"\n }\n },\n \"model\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-models\"\n }\n },\n \"owner\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"owners\"\n }\n }\n }\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-Session-Token", "<api-key>")
req.Header.Add("Content-Type", "application/vnd.api+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}")
.header("X-Session-Token", "<api-key>")
.header("Content-Type", "application/vnd.api+json")
.body("{\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-items\",\n \"attributes\": {\n \"reference\": \"REF-001\",\n \"serial\": \"CH-001\",\n \"asset_number\": \"A-12345\",\n \"is_rented\": true,\n \"purchased_at\": \"2024-01-15T00:00:00.000Z\",\n \"vibration_source\": true,\n \"vibration_magnitude\": 2.7,\n \"description\": \"<string>\"\n },\n \"relationships\": {\n \"business_area\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"business-areas\"\n }\n },\n \"manufacturer\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-manufacturers\"\n }\n },\n \"model\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-models\"\n }\n },\n \"owner\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"owners\"\n }\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-Session-Token"] = '<api-key>'
request["Content-Type"] = 'application/vnd.api+json'
request.body = "{\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-items\",\n \"attributes\": {\n \"reference\": \"REF-001\",\n \"serial\": \"CH-001\",\n \"asset_number\": \"A-12345\",\n \"is_rented\": true,\n \"purchased_at\": \"2024-01-15T00:00:00.000Z\",\n \"vibration_source\": true,\n \"vibration_magnitude\": 2.7,\n \"description\": \"<string>\"\n },\n \"relationships\": {\n \"business_area\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"business-areas\"\n }\n },\n \"manufacturer\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-manufacturers\"\n }\n },\n \"model\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-models\"\n }\n },\n \"owner\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"owners\"\n }\n }\n }\n }\n}"
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"
}
}
}
},
"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": "7b4c8f12-3e9a-4d5b-8c6f-1a2b3c4d5e6f",
"status": "404",
"title": "Resource not found",
"detail": "The requested resource could not be found or does not exist.",
"code": "NOT_FOUND.001"
}{
"id": "8e2f9a34-b5c6-4d7e-9f8a-2b3c4d5e6f7g",
"status": "409",
"title": "Conflict",
"detail": "The request conflicts with the current state of the resource.",
"code": "CONFLICT.001"
}{
"id": "fe9d9a69-f0a7-4fdc-bb2c-176027f316c5",
"status": "500",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server."
}Update an equipment item
Replace an equipment item. The full resource representation must be supplied; any optional relationship omitted from the body (such as vehicle) is cleared. business_area is required and must always be supplied; send data: null to clear it.
curl --request PUT \
--url https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id} \
--header 'Content-Type: application/vnd.api+json' \
--header 'X-Session-Token: <api-key>' \
--data '
{
"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>"
},
"relationships": {
"business_area": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "business-areas"
}
},
"manufacturer": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-manufacturers"
}
},
"model": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-models"
}
},
"owner": {
"data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "owners"
}
}
}
}
}
'import requests
url = "https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}"
payload = { "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>"
},
"relationships": {
"business_area": { "data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "business-areas"
} },
"manufacturer": { "data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-manufacturers"
} },
"model": { "data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "equipment-models"
} },
"owner": { "data": {
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"type": "owners"
} }
}
} }
headers = {
"X-Session-Token": "<api-key>",
"Content-Type": "application/vnd.api+json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {'X-Session-Token': '<api-key>', 'Content-Type': 'application/vnd.api+json'},
body: JSON.stringify({
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>'
},
relationships: {
business_area: {data: {id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: 'business-areas'}},
manufacturer: {
data: {id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: 'equipment-manufacturers'}
},
model: {data: {id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: 'equipment-models'}},
owner: {data: {id: '3c90c3cc-0d44-4b50-8888-8dd25736052a', type: 'owners'}}
}
}
})
};
fetch('https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}', 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/{equipment_item_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'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>'
],
'relationships' => [
'business_area' => [
'data' => [
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'business-areas'
]
],
'manufacturer' => [
'data' => [
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'equipment-manufacturers'
]
],
'model' => [
'data' => [
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'equipment-models'
]
],
'owner' => [
'data' => [
'id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'type' => 'owners'
]
]
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/vnd.api+json",
"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"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}"
payload := strings.NewReader("{\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-items\",\n \"attributes\": {\n \"reference\": \"REF-001\",\n \"serial\": \"CH-001\",\n \"asset_number\": \"A-12345\",\n \"is_rented\": true,\n \"purchased_at\": \"2024-01-15T00:00:00.000Z\",\n \"vibration_source\": true,\n \"vibration_magnitude\": 2.7,\n \"description\": \"<string>\"\n },\n \"relationships\": {\n \"business_area\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"business-areas\"\n }\n },\n \"manufacturer\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-manufacturers\"\n }\n },\n \"model\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-models\"\n }\n },\n \"owner\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"owners\"\n }\n }\n }\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("X-Session-Token", "<api-key>")
req.Header.Add("Content-Type", "application/vnd.api+json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.put("https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}")
.header("X-Session-Token", "<api-key>")
.header("Content-Type", "application/vnd.api+json")
.body("{\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-items\",\n \"attributes\": {\n \"reference\": \"REF-001\",\n \"serial\": \"CH-001\",\n \"asset_number\": \"A-12345\",\n \"is_rented\": true,\n \"purchased_at\": \"2024-01-15T00:00:00.000Z\",\n \"vibration_source\": true,\n \"vibration_magnitude\": 2.7,\n \"description\": \"<string>\"\n },\n \"relationships\": {\n \"business_area\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"business-areas\"\n }\n },\n \"manufacturer\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-manufacturers\"\n }\n },\n \"model\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-models\"\n }\n },\n \"owner\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"owners\"\n }\n }\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ctrl-hub.com/v3/equipment-items/{equipment_item_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["X-Session-Token"] = '<api-key>'
request["Content-Type"] = 'application/vnd.api+json'
request.body = "{\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-items\",\n \"attributes\": {\n \"reference\": \"REF-001\",\n \"serial\": \"CH-001\",\n \"asset_number\": \"A-12345\",\n \"is_rented\": true,\n \"purchased_at\": \"2024-01-15T00:00:00.000Z\",\n \"vibration_source\": true,\n \"vibration_magnitude\": 2.7,\n \"description\": \"<string>\"\n },\n \"relationships\": {\n \"business_area\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"business-areas\"\n }\n },\n \"manufacturer\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-manufacturers\"\n }\n },\n \"model\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"equipment-models\"\n }\n },\n \"owner\": {\n \"data\": {\n \"id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"type\": \"owners\"\n }\n }\n }\n }\n}"
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"
}
}
}
},
"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": "7b4c8f12-3e9a-4d5b-8c6f-1a2b3c4d5e6f",
"status": "404",
"title": "Resource not found",
"detail": "The requested resource could not be found or does not exist.",
"code": "NOT_FOUND.001"
}{
"id": "8e2f9a34-b5c6-4d7e-9f8a-2b3c4d5e6f7g",
"status": "409",
"title": "Conflict",
"detail": "The request conflicts with the current state of the resource.",
"code": "CONFLICT.001"
}{
"id": "fe9d9a69-f0a7-4fdc-bb2c-176027f316c5",
"status": "500",
"title": "Internal Server Error",
"detail": "An unexpected error occurred on the server."
}Authorizations
Session token for authentication.
Path Parameters
The unique identifier for the equipment item.
Body
The full equipment item representation. This is a replace (PUT) - any optional
relationship or attribute omitted from the body (such as owner) is cleared.
Allocation to a person, scheme, work order, location or vehicle is managed
separately via the allocation relationship endpoints, not through this body.
reference, serial and asset_number are all required. asset_number must
be unique within the organisation; duplicate serial values within the same
organisation are allowed. vibration_magnitude is required when
vibration_source is true and must be omitted otherwise. business_area
is required and must always be supplied; send data: null to clear it.
manufacturer and model are both optional, but if model is supplied with a
non-null data then manufacturer MUST also be supplied with a non-null data
and the model must belong to that manufacturer. This applies even when only
changing the model — clients must re-send the manufacturer alongside it.
Show child attributes
Show child attributes
Response
Get a list of equipment in the organisation.
JSON API response object
An equipment item
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