curl --request POST \
--url https://api.ionworks.com/sites/{site_id}/thermal_chambers \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.ionworks.com/sites/{site_id}/thermal_chambers"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.ionworks.com/sites/{site_id}/thermal_chambers', 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.ionworks.com/sites/{site_id}/thermal_chambers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.ionworks.com/sites/{site_id}/thermal_chambers"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.ionworks.com/sites/{site_id}/thermal_chambers")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ionworks.com/sites/{site_id}/thermal_chambers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"min_temperature_c": 123,
"max_temperature_c": 123,
"heating_rate_c_per_min": 123,
"cooling_rate_c_per_min": 123,
"site_id": "<string>",
"project_id": "<string>",
"id": "<string>",
"organization_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"manufacturer": "<string>",
"model": "<string>",
"serial_number": "<string>",
"max_channels": 1,
"notes": "<string>",
"created_by": "<string>",
"created_by_email": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create a new thermal chamber for a site
Create a new thermal chamber under the specified site (by ID).
The request body must include project_id — the project that will own this
chamber — and both temperature bounds. The site is org-scoped
(cross-project), so any of the org’s sites may host a chamber for any of its
projects. Returns the created chamber and sets the Location header.
curl --request POST \
--url https://api.ionworks.com/sites/{site_id}/thermal_chambers \
--header 'Content-Type: application/json' \
--data '{}'import requests
url = "https://api.ionworks.com/sites/{site_id}/thermal_chambers"
payload = {}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({})
};
fetch('https://api.ionworks.com/sites/{site_id}/thermal_chambers', 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.ionworks.com/sites/{site_id}/thermal_chambers",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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.ionworks.com/sites/{site_id}/thermal_chambers"
payload := strings.NewReader("{}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.ionworks.com/sites/{site_id}/thermal_chambers")
.header("Content-Type", "application/json")
.body("{}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ionworks.com/sites/{site_id}/thermal_chambers")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{}"
response = http.request(request)
puts response.read_body{
"name": "<string>",
"min_temperature_c": 123,
"max_temperature_c": 123,
"heating_rate_c_per_min": 123,
"cooling_rate_c_per_min": 123,
"site_id": "<string>",
"project_id": "<string>",
"id": "<string>",
"organization_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"manufacturer": "<string>",
"model": "<string>",
"serial_number": "<string>",
"max_channels": 1,
"notes": "<string>",
"created_by": "<string>",
"created_by_email": "<string>"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Path Parameters
Body
The body is of type Raw Data · object.
Response
Successful Response
Model representing a thermal chamber as returned by the API.
Name of the thermal chamber
Lowest temperature the chamber is rated to hold, in degrees Celsius.
Highest temperature the chamber is rated to hold, in degrees Celsius.
Rate the chamber raises temperature, in degrees Celsius per minute.
Rate the chamber lowers temperature, in degrees Celsius per minute.
Foreign key to the parent site
Project that owns this thermal chamber
Unique identifier for the thermal chamber
Organization this thermal chamber belongs to.
Timestamp when the thermal chamber was created
Timestamp when the thermal chamber was last updated
Manufacturer (make) of the chamber (e.g. Espec, Thermotron)
Model (type) of the chamber (e.g. BTL-433)
Manufacturer serial number of the chamber
How many channels fit in the chamber at once. None means capacity is not tracked and scheduling treats the chamber as unlimited.
x > 0Free-text notes about the chamber
User ID of the user who created this thermal chamber
Email of the user who created this thermal chamber
Was this page helpful?