Skip to main content
POST
/
api
/
v1
/
jobs
/
{id}
/
run
POST jobs run
curl --request POST \
  --url https://app.onecodex.com/api/v1/jobs/{id}/run \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <api-key>' \
  --data '
{
  "job_args": {},
  "sample": {
    "__DOLLAR_REF__": "/api/v1/samples/a1b2c3d4e5f67890"
  },
  "dependencies": [
    {
      "analysis": {
        "__DOLLAR_REF__": "/api/v1/analyses/a1b2c3d4e5f67890"
      },
      "download_path": "<string>"
    }
  ],
  "populate_default_arguments": true
}
'
import requests

url = "https://app.onecodex.com/api/v1/jobs/{id}/run"

payload = {
"job_args": {},
"sample": { "__DOLLAR_REF__": "/api/v1/samples/a1b2c3d4e5f67890" },
"dependencies": [
{
"analysis": { "__DOLLAR_REF__": "/api/v1/analyses/a1b2c3d4e5f67890" },
"download_path": "<string>"
}
],
"populate_default_arguments": True
}
headers = {
"X-API-Key": "<api-key>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {'X-API-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
job_args: {},
sample: {__DOLLAR_REF__: '/api/v1/samples/a1b2c3d4e5f67890'},
dependencies: [
{
analysis: {__DOLLAR_REF__: '/api/v1/analyses/a1b2c3d4e5f67890'},
download_path: '<string>'
}
],
populate_default_arguments: true
})
};

fetch('https://app.onecodex.com/api/v1/jobs/{id}/run', 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://app.onecodex.com/api/v1/jobs/{id}/run",
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([
'job_args' => [

],
'sample' => [
'__DOLLAR_REF__' => '/api/v1/samples/a1b2c3d4e5f67890'
],
'dependencies' => [
[
'analysis' => [
'__DOLLAR_REF__' => '/api/v1/analyses/a1b2c3d4e5f67890'
],
'download_path' => '<string>'
]
],
'populate_default_arguments' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-API-Key: <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://app.onecodex.com/api/v1/jobs/{id}/run"

payload := strings.NewReader("{\n \"job_args\": {},\n \"sample\": {\n \"__DOLLAR_REF__\": \"/api/v1/samples/a1b2c3d4e5f67890\"\n },\n \"dependencies\": [\n {\n \"analysis\": {\n \"__DOLLAR_REF__\": \"/api/v1/analyses/a1b2c3d4e5f67890\"\n },\n \"download_path\": \"<string>\"\n }\n ],\n \"populate_default_arguments\": true\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("X-API-Key", "<api-key>")
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://app.onecodex.com/api/v1/jobs/{id}/run")
.header("X-API-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"job_args\": {},\n \"sample\": {\n \"__DOLLAR_REF__\": \"/api/v1/samples/a1b2c3d4e5f67890\"\n },\n \"dependencies\": [\n {\n \"analysis\": {\n \"__DOLLAR_REF__\": \"/api/v1/analyses/a1b2c3d4e5f67890\"\n },\n \"download_path\": \"<string>\"\n }\n ],\n \"populate_default_arguments\": true\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://app.onecodex.com/api/v1/jobs/{id}/run")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["X-API-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"job_args\": {},\n \"sample\": {\n \"__DOLLAR_REF__\": \"/api/v1/samples/a1b2c3d4e5f67890\"\n },\n \"dependencies\": [\n {\n \"analysis\": {\n \"__DOLLAR_REF__\": \"/api/v1/analyses/a1b2c3d4e5f67890\"\n },\n \"download_path\": \"<string>\"\n }\n ],\n \"populate_default_arguments\": true\n}"

response = http.request(request)
puts response.read_body
{
  "__DOLLAR_REF__": "/api/v1/analyses/a1b2c3d4e5f67890"
}
Trigger a Job against a sample (or another input), creating a new Analysis. The request body specifies the input sample, any required arguments, and an optional list of dependency analyses whose outputs should feed into this run. The response is the newly-created Analysis (or analysis subclass — Classification, Functional Profile, etc. — depending on the job’s analysis_type).

Authorizations

X-API-Key
string
header
required

Path Parameters

id
string
required

Body

application/json
job_args
Job Args · object | null
required
sample
object
required
dependencies
DependencyOverrideSchema · object[] | null

Override the analysis dependencies for this run with provided dependencies

populate_default_arguments
boolean | null
default:true

Response

200 - application/json

OK

__DOLLAR_REF__
string<uri>
Pattern: ^/api/v1/analyses/[a-f0-9]{16}$
Example:

"/api/v1/analyses/a1b2c3d4e5f67890"