Get bulk job status
curl --request GET \
--url https://api.tented.ai/v1/bulk-jobs/{bulkJobId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tented.ai/v1/bulk-jobs/{bulkJobId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tented.ai/v1/bulk-jobs/{bulkJobId}', 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.tented.ai/v1/bulk-jobs/{bulkJobId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.tented.ai/v1/bulk-jobs/{bulkJobId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.tented.ai/v1/bulk-jobs/{bulkJobId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tented.ai/v1/bulk-jobs/{bulkJobId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"bulk_job_id": "<string>",
"status": "accepted",
"items": [
{
"index": 123,
"status": "accepted",
"client_item_id": "<string>",
"tent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tent_name": "<string>",
"custom_page_alias": "<string>",
"publication_status": "pending",
"published_url": "<string>",
"error_code": "INVALID_ITEM",
"message": "<string>"
}
],
"template_id": "<string>",
"auto_publish": true,
"total": 123,
"queued": 123,
"generating": 123,
"completed": 123,
"failed": 123,
"credits": {
"reserved": 123,
"consumed": 123,
"refunded": 123,
"pending_reconciliation": 123
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}Tents
Get bulk job status
Poll a bulk tent creation job for per-item progress, publication results, and credit accounting.
GET
/
v1
/
bulk-jobs
/
{bulkJobId}
Get bulk job status
curl --request GET \
--url https://api.tented.ai/v1/bulk-jobs/{bulkJobId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tented.ai/v1/bulk-jobs/{bulkJobId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tented.ai/v1/bulk-jobs/{bulkJobId}', 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.tented.ai/v1/bulk-jobs/{bulkJobId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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.tented.ai/v1/bulk-jobs/{bulkJobId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.tented.ai/v1/bulk-jobs/{bulkJobId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tented.ai/v1/bulk-jobs/{bulkJobId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"bulk_job_id": "<string>",
"status": "accepted",
"items": [
{
"index": 123,
"status": "accepted",
"client_item_id": "<string>",
"tent_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tent_name": "<string>",
"custom_page_alias": "<string>",
"publication_status": "pending",
"published_url": "<string>",
"error_code": "INVALID_ITEM",
"message": "<string>"
}
],
"template_id": "<string>",
"auto_publish": true,
"total": 123,
"queued": 123,
"generating": 123,
"completed": 123,
"failed": 123,
"credits": {
"reserved": 123,
"consumed": 123,
"refunded": 123,
"pending_reconciliation": 123
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}{
"error": "<string>",
"error_code": "<string>",
"message": "<string>",
"code": "<string>",
"details": {},
"limit": 123,
"current": 123
}Authorizations
Workspace API key, e.g. Authorization: Bearer tented_.... Create keys in Workspace Settings → API Keys.
Path Parameters
Bulk job ID.
Response
Current job state.
Bulk job ID.
Job state. completed_with_failures means at least one item failed after admission.
Available options:
accepted, running, completed, completed_with_failures, failed Per-item status, in request order.
Show child attributes
Show child attributes
Template used for the batch.
Whether the batch publishes tents automatically.
Total submitted items.
Accepted items waiting to generate.
Items currently generating.
Items completed successfully.
Items that failed after admission.
Aggregate credit accounting for a bulk job.
Show child attributes
Show child attributes
Job creation time.
Last job update.