Get generation status
curl --request GET \
--url https://api.tented.ai/v1/email-templates/{templateId}/generations/{generationId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tented.ai/v1/email-templates/{templateId}/generations/{generationId}"
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/email-templates/{templateId}/generations/{generationId}', 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/email-templates/{templateId}/generations/{generationId}",
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/email-templates/{templateId}/generations/{generationId}"
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/email-templates/{templateId}/generations/{generationId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tented.ai/v1/email-templates/{templateId}/generations/{generationId}")
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{
"generation_id": "<string>",
"status": "generating",
"created_at": "2023-11-07T05:31:56Z",
"type": "<string>",
"version": 123,
"content_path": "<string>",
"plain_text_path": "<string>",
"plain_text_source": "auto",
"error_code": "<string>",
"error_message": "<string>",
"completed_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
}Email Templates
Get generation status
Poll an AI generation. completed generations include the version produced and content paths; failed ones include error_code and error_message.
GET
/
v1
/
email-templates
/
{templateId}
/
generations
/
{generationId}
Get generation status
curl --request GET \
--url https://api.tented.ai/v1/email-templates/{templateId}/generations/{generationId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tented.ai/v1/email-templates/{templateId}/generations/{generationId}"
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/email-templates/{templateId}/generations/{generationId}', 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/email-templates/{templateId}/generations/{generationId}",
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/email-templates/{templateId}/generations/{generationId}"
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/email-templates/{templateId}/generations/{generationId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tented.ai/v1/email-templates/{templateId}/generations/{generationId}")
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{
"generation_id": "<string>",
"status": "generating",
"created_at": "2023-11-07T05:31:56Z",
"type": "<string>",
"version": 123,
"content_path": "<string>",
"plain_text_path": "<string>",
"plain_text_source": "auto",
"error_code": "<string>",
"error_message": "<string>",
"completed_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
}Authorizations
Workspace API key, e.g. Authorization: Bearer tented_.... Create keys in Workspace Settings → API Keys.
Path Parameters
Email template ID.
Generation ID.
Response
Generation state.
Generation ID.
Generation state.
Available options:
generating, completed, failed When the generation started.
Generation type, e.g. iteration.
Content version produced (present when completed).
API path to this generation’s HTML (present when completed).
API path to this generation’s plain text (present when completed).
Where plain text comes from.
Available options:
auto, override Failure code (present when failed), e.g. generation_failed.
Failure detail (present when failed).
When the generation finished.