Poll job status
curl --request GET \
--url https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status \
--header 'x-api-key: <api-key>'import requests
url = "https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status', 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.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"job_id": "lmaEbA",
"env_id": "dev.example-env.hotglue.xyz",
"job_name": "test_job:_V-vgdlLN",
"tenant": "default",
"started_by": "default",
"flow": "l8odS2mce",
"s3_root": "default/flows/l8odS2mce/jobs/lmaEbA",
"start_time": "2020-12-30T18:01:01.828266+00:00",
"state": {},
"tap": "quickbooks:sandbox",
"status": "ETL_FAILED",
"message": "ETL error...",
"last_updated": "2020-12-30T20:31:00.081282+00:00"
}{
"Code": "Error",
"Message": "Invalid job_root supplied - job does not exist!"
}Jobs
Poll job status
Check on the status of a job using exactly one of job_root, job_id, or external_job_id. Read about the possible job statuses here.
GET
/
{env_id}
/
{flow_id}
/
{tenant}
/
jobs
/
status
Poll job status
curl --request GET \
--url https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status \
--header 'x-api-key: <api-key>'import requests
url = "https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status', 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.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hotglue.com/{env_id}/{flow_id}/{tenant}/jobs/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"job_id": "lmaEbA",
"env_id": "dev.example-env.hotglue.xyz",
"job_name": "test_job:_V-vgdlLN",
"tenant": "default",
"started_by": "default",
"flow": "l8odS2mce",
"s3_root": "default/flows/l8odS2mce/jobs/lmaEbA",
"start_time": "2020-12-30T18:01:01.828266+00:00",
"state": {},
"tap": "quickbooks:sandbox",
"status": "ETL_FAILED",
"message": "ETL error...",
"last_updated": "2020-12-30T20:31:00.081282+00:00"
}{
"Code": "Error",
"Message": "Invalid job_root supplied - job does not exist!"
}Authorizations
Path Parameters
ID of environment
ID of flow
ID of tenant
Query Parameters
S3 root of this job
ID of this job
External ID of this job
Response
200
Example:
"lmaEbA"
Example:
"dev.example-env.hotglue.xyz"
Example:
"test_job:_V-vgdlLN"
Example:
"default"
Example:
"default"
Example:
"l8odS2mce"
Example:
"default/flows/l8odS2mce/jobs/lmaEbA"
Example:
"2020-12-30T18:01:01.828266+00:00"
Example:
"quickbooks:sandbox"
Available options:
JOB_CREATED, DISCOVER_STARTED, DISCOVER_FAILED, SYNC_STARTED, SYNC_FAILED, SYNC_SUCCESS, ETL_STARTED, ETL_FAILED, ETL_SUCCESS, EXPORT_STARTED, EXPORT_FAILED, JOB_COMPLETED Example:
"ETL_FAILED"
Example:
"ETL error..."
Example:
"2020-12-30T20:31:00.081282+00:00"