Initiate a signed URL upload for measurement data
curl --request POST \
--url https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload \
--header 'Content-Type: application/json' \
--data '
{
"measurement": {},
"measurement_type": "time_series",
"filenames": [
"<string>"
]
}
'import requests
url = "https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload"
payload = {
"measurement": {},
"measurement_type": "time_series",
"filenames": ["<string>"]
}
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({measurement: {}, measurement_type: 'time_series', filenames: ['<string>']})
};
fetch('https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload', 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/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload",
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([
'measurement' => [
],
'measurement_type' => 'time_series',
'filenames' => [
'<string>'
]
]),
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/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload"
payload := strings.NewReader("{\n \"measurement\": {},\n \"measurement_type\": \"time_series\",\n \"filenames\": [\n \"<string>\"\n ]\n}")
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/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload")
.header("Content-Type", "application/json")
.body("{\n \"measurement\": {},\n \"measurement_type\": \"time_series\",\n \"filenames\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload")
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 = "{\n \"measurement\": {},\n \"measurement_type\": \"time_series\",\n \"filenames\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Cell Instances
Initiate a signed URL upload for measurement data
Initiate upload for time_series or file measurement data.
Each returned upload target also carries an optional S3 multipart block,
which clients use instead of the signed URL for large files. Its session
token is the caller’s own JWT, so storage RLS still applies.
Initiate a signed URL upload for measurement data
curl --request POST \
--url https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload \
--header 'Content-Type: application/json' \
--data '
{
"measurement": {},
"measurement_type": "time_series",
"filenames": [
"<string>"
]
}
'import requests
url = "https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload"
payload = {
"measurement": {},
"measurement_type": "time_series",
"filenames": ["<string>"]
}
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({measurement: {}, measurement_type: 'time_series', filenames: ['<string>']})
};
fetch('https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload', 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/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload",
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([
'measurement' => [
],
'measurement_type' => 'time_series',
'filenames' => [
'<string>'
]
]),
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/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload"
payload := strings.NewReader("{\n \"measurement\": {},\n \"measurement_type\": \"time_series\",\n \"filenames\": [\n \"<string>\"\n ]\n}")
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/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload")
.header("Content-Type", "application/json")
.body("{\n \"measurement\": {},\n \"measurement_type\": \"time_series\",\n \"filenames\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ionworks.com/cell_instances/{cell_instance_id}/cell_measurements/initiate-upload")
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 = "{\n \"measurement\": {},\n \"measurement_type\": \"time_series\",\n \"filenames\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Path Parameters
Body
application/json
Request model for initiating a signed URL upload for measurement data.
Response
Successful Response
Was this page helpful?