List version history of a canvas
curl --request GET \
--url https://api.tela.com/prompt-version/history \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tela.com/prompt-version/history"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tela.com/prompt-version/history', 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.tela.com/prompt-version/history",
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.tela.com/prompt-version/history"
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.tela.com/prompt-version/history")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tela.com/prompt-version/history")
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{
"data": [
{
"id": "9d2e4f6a-1b3c-4d5e-8f70-1a2b3c4d5e6f",
"promptId": "5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12",
"title": "v12 - stricter totals",
"promoted": true,
"draft": false,
"originVersionId": "8c1d3e5f-0a2b-4c4d-9e6f-0a1b2c3d4e5f",
"createdBy": "ana@example.com",
"updatedBy": "ana@example.com",
"createdAt": "2026-08-19T09:41:00.000Z",
"updatedAt": "2026-08-19T09:41:00.000Z",
"environments": [
{
"id": "3e4f5a6b-7c8d-4e9f-8a0b-1c2d3e4f5a6b",
"name": "production",
"isSystem": true,
"publishedAt": "2026-08-19T10:00:00.000Z"
}
],
"versionIndex": 12,
"originVersionIndex": 11
},
{
"id": "8c1d3e5f-0a2b-4c4d-9e6f-0a1b2c3d4e5f",
"promptId": "5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12",
"title": "v11",
"promoted": false,
"draft": false,
"originVersionId": null,
"createdBy": "ana@example.com",
"updatedBy": "ana@example.com",
"createdAt": "2026-08-10T08:00:00.000Z",
"updatedAt": "2026-08-10T08:00:00.000Z",
"environments": [],
"versionIndex": 11,
"originVersionIndex": null
}
],
"meta": {
"totalCount": 12,
"limit": 20,
"offset": 0,
"currentPage": 1,
"totalPages": 1,
"links": {
"first": "?promptId=5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12&limit=20&offset=0",
"last": "?promptId=5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12&limit=20&offset=0",
"next": null,
"previous": null
}
}
}Prompt Version
List version history of a canvas
Returns a paginated, lightweight list of a canvas’s versions ordered from newest to oldest. Items carry lifecycle metadata (draft, promoted, originVersionId, environments, versionIndex) but not the prompt content or configuration; fetch GET /prompt-version/{id} for the full version.
GET
/
prompt-version
/
history
List version history of a canvas
curl --request GET \
--url https://api.tela.com/prompt-version/history \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tela.com/prompt-version/history"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.tela.com/prompt-version/history', 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.tela.com/prompt-version/history",
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.tela.com/prompt-version/history"
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.tela.com/prompt-version/history")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tela.com/prompt-version/history")
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{
"data": [
{
"id": "9d2e4f6a-1b3c-4d5e-8f70-1a2b3c4d5e6f",
"promptId": "5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12",
"title": "v12 - stricter totals",
"promoted": true,
"draft": false,
"originVersionId": "8c1d3e5f-0a2b-4c4d-9e6f-0a1b2c3d4e5f",
"createdBy": "ana@example.com",
"updatedBy": "ana@example.com",
"createdAt": "2026-08-19T09:41:00.000Z",
"updatedAt": "2026-08-19T09:41:00.000Z",
"environments": [
{
"id": "3e4f5a6b-7c8d-4e9f-8a0b-1c2d3e4f5a6b",
"name": "production",
"isSystem": true,
"publishedAt": "2026-08-19T10:00:00.000Z"
}
],
"versionIndex": 12,
"originVersionIndex": 11
},
{
"id": "8c1d3e5f-0a2b-4c4d-9e6f-0a1b2c3d4e5f",
"promptId": "5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12",
"title": "v11",
"promoted": false,
"draft": false,
"originVersionId": null,
"createdBy": "ana@example.com",
"updatedBy": "ana@example.com",
"createdAt": "2026-08-10T08:00:00.000Z",
"updatedAt": "2026-08-10T08:00:00.000Z",
"environments": [],
"versionIndex": 11,
"originVersionIndex": null
}
],
"meta": {
"totalCount": 12,
"limit": 20,
"offset": 0,
"currentPage": 1,
"totalPages": 1,
"links": {
"first": "?promptId=5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12&limit=20&offset=0",
"last": "?promptId=5f0c1a2e-8b7d-4c3a-9e1f-2d4b6a8c0e12&limit=20&offset=0",
"next": null,
"previous": null
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Query Parameters
Canvas id.
Page size. Defaults to 20; values are clamped to the range 1-100.
Number of items to skip. Defaults to 0.
When true, meta.links entries are returned as query-parameter objects instead of query strings.