curl --request POST \
--url https://api.ionworks.com/simple_pipelines \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "<string>",
"config": {},
"name": "<string>",
"description": "<string>",
"options": {
"live_progress_updates": true
}
}
'import requests
url = "https://api.ionworks.com/simple_pipelines"
payload = {
"project_id": "<string>",
"config": {},
"name": "<string>",
"description": "<string>",
"options": { "live_progress_updates": True }
}
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({
project_id: '<string>',
config: {},
name: '<string>',
description: '<string>',
options: {live_progress_updates: true}
})
};
fetch('https://api.ionworks.com/simple_pipelines', 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/simple_pipelines",
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([
'project_id' => '<string>',
'config' => [
],
'name' => '<string>',
'description' => '<string>',
'options' => [
'live_progress_updates' => true
]
]),
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/simple_pipelines"
payload := strings.NewReader("{\n \"project_id\": \"<string>\",\n \"config\": {},\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"options\": {\n \"live_progress_updates\": true\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/simple_pipelines")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"<string>\",\n \"config\": {},\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"options\": {\n \"live_progress_updates\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ionworks.com/simple_pipelines")
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 \"project_id\": \"<string>\",\n \"config\": {},\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"options\": {\n \"live_progress_updates\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "pending",
"id": "<string>",
"project_id": "<string>",
"organization_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"config_path": "<string>",
"is_terminal": true,
"is_failed": true,
"user_id": "<string>",
"name": "<string>",
"description": "<string>",
"job_id": "<string>",
"error": "<string>",
"error_code": "CONFIGURATION_ERROR",
"created_by_email": "<string>",
"result": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Create and submit a SimplePipeline
Create a new SimplePipeline and submit it for processing.
curl --request POST \
--url https://api.ionworks.com/simple_pipelines \
--header 'Content-Type: application/json' \
--data '
{
"project_id": "<string>",
"config": {},
"name": "<string>",
"description": "<string>",
"options": {
"live_progress_updates": true
}
}
'import requests
url = "https://api.ionworks.com/simple_pipelines"
payload = {
"project_id": "<string>",
"config": {},
"name": "<string>",
"description": "<string>",
"options": { "live_progress_updates": True }
}
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({
project_id: '<string>',
config: {},
name: '<string>',
description: '<string>',
options: {live_progress_updates: true}
})
};
fetch('https://api.ionworks.com/simple_pipelines', 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/simple_pipelines",
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([
'project_id' => '<string>',
'config' => [
],
'name' => '<string>',
'description' => '<string>',
'options' => [
'live_progress_updates' => true
]
]),
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/simple_pipelines"
payload := strings.NewReader("{\n \"project_id\": \"<string>\",\n \"config\": {},\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"options\": {\n \"live_progress_updates\": true\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/simple_pipelines")
.header("Content-Type", "application/json")
.body("{\n \"project_id\": \"<string>\",\n \"config\": {},\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"options\": {\n \"live_progress_updates\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.ionworks.com/simple_pipelines")
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 \"project_id\": \"<string>\",\n \"config\": {},\n \"name\": \"<string>\",\n \"description\": \"<string>\",\n \"options\": {\n \"live_progress_updates\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"status": "pending",
"id": "<string>",
"project_id": "<string>",
"organization_id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"config_path": "<string>",
"is_terminal": true,
"is_failed": true,
"user_id": "<string>",
"name": "<string>",
"description": "<string>",
"job_id": "<string>",
"error": "<string>",
"error_code": "CONFIGURATION_ERROR",
"created_by_email": "<string>",
"result": {}
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Body
Request body for creating a SimplePipeline.
Project ID to associate the pipeline with
Pipeline configuration with elements dict. At most one datafit/validation element, any number of cheap elements.
Optional human-readable name for the pipeline
255Optional human-readable description for the pipeline
Runtime execution options (e.g. live_progress_updates). Submission metadata, not stored in the pipeline config.
Show child attributes
Show child attributes
Response
Successful Response
Full model for detail responses and DB records.
pending, running, completed, failed, canceled Whether the pipeline has settled and will not transition again.
Whether the pipeline settled on anything other than success.
Derived as terminal-minus-success, so a new non-success terminal status is classified without editing this method.
Machine-readable error codes for jobs.
CONFIGURATION_ERROR, MODEL_ERROR, SOLVER_ERROR, EXECUTION_TIMEOUT, SUBMISSION_FAILED, INTERNAL_ERROR Was this page helpful?