curl --request GET \
--url https://api.ionworks.com/simulationsimport requests
url = "https://api.ionworks.com/simulations"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.ionworks.com/simulations', 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/simulations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.ionworks.com/simulations"
req, _ := http.NewRequest("GET", url, nil)
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.ionworks.com/simulations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ionworks.com/simulations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"simulations": [
{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"experiment_id": "<string>",
"parameterized_model_id": "<string>",
"organization_id": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"design_id": "<string>",
"job_id": "<string>",
"status": "<string>",
"error": "<string>",
"error_code": "<string>",
"metrics": {},
"storage_folder": "<string>",
"experiment": {},
"parameterized_model": {},
"design": {}
}
],
"model_scalar_parameters": {},
"total": 0
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}List Simulations
List simulations filtered by a parameterized model, study, or protocol.
Exactly one of parameterized_model_id, study_id, or
experiment_template_id must be provided. Returns simulation summaries
without simulation_data, plus a map of model scalar parameters
deduplicated by parameterized_model_id.
Parameters
parameterized_model_id : str, optional
Filter simulations belonging to this parameterized model.
study_id : str, optional
Filter simulations assigned to this study.
experiment_template_id : str, optional
Filter simulations whose experiment references this protocol template.
limit : int, optional
Maximum number of results to return. Must be between 1 and 1000. Defaults to 100.
offset : int, optional
Number of results to skip for pagination. Must be >= 0. Defaults to 0.
status : str, optional
PostgREST filter expression on the simulation’s job status, e.g.
"eq.completed" or "in.(pending,processing,waiting)". When
provided, only simulations whose job matches are returned.
model_name, protocol_name : str, optional
Exact-match expressions (e.g. "eq.My model") on the joined
parameterized model name and protocol (experiment template) name. A
simulation has no name of its own, so these two are what identify it.
created_at_gt, created_at_lt, updated_at_gt, updated_at_lt : str, optional
ISO datetime strings for date-range (between) filtering on the native
created_at / updated_at columns.
Returns
ListSimulationsResponse Simulations, model scalar parameters map, and total count.
curl --request GET \
--url https://api.ionworks.com/simulationsimport requests
url = "https://api.ionworks.com/simulations"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.ionworks.com/simulations', 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/simulations",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.ionworks.com/simulations"
req, _ := http.NewRequest("GET", url, nil)
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.ionworks.com/simulations")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ionworks.com/simulations")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"simulations": [
{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"experiment_id": "<string>",
"parameterized_model_id": "<string>",
"organization_id": "<string>",
"updated_at": "2023-11-07T05:31:56Z",
"design_id": "<string>",
"job_id": "<string>",
"status": "<string>",
"error": "<string>",
"error_code": "<string>",
"metrics": {},
"storage_folder": "<string>",
"experiment": {},
"parameterized_model": {},
"design": {}
}
],
"model_scalar_parameters": {},
"total": 0
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Query Parameters
1 <= x <= 1000x >= 0Response
Successful Response
Response for study simulations with deduplicated model parameters.
Instead of including full parameters on each simulation (which can be massive expression trees), this response includes simulations without parameters and a separate map of model_id -> scalar parameters. The frontend can merge: design.design_parameters over model base params.
List of simulation summaries without full parameters
Show child attributes
Show child attributes
Map of parameterized_model_id to scalar-only parameters. Used as fallback when design.design_parameters doesn't have a value.
Show child attributes
Show child attributes
Total number of matching simulations.
Was this page helpful?