List deliveries of a webhook
curl --request GET \
--url https://api.tela.com/webhook/{webhookId}/deliveries \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tela.com/webhook/{webhookId}/deliveries"
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/webhook/{webhookId}/deliveries', 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/webhook/{webhookId}/deliveries",
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/webhook/{webhookId}/deliveries"
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/webhook/{webhookId}/deliveries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tela.com/webhook/{webhookId}/deliveries")
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": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"webhookId": "7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a",
"webhookName": "ERP sync",
"webhookUrl": "https://erp.example.com/hooks/tela",
"taskId": "b83b1558-de5b-4e45-b517-7bececbdd154",
"completionRunId": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
"eventType": "task.completed",
"webhookType": "app_level",
"targetUrl": "https://erp.example.com/hooks/tela",
"status": "success",
"responseStatus": 200,
"responseBody": "{\"ok\":true}",
"attemptCount": 1,
"deliveredAt": "2025-06-11T14:03:12.410Z",
"createdAt": "2025-06-11T14:03:12.105Z"
},
{
"id": "f6e5d4c3-b2a1-4f0e-9d8c-7b6a5f4e3d2c",
"webhookId": "7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a",
"webhookName": "ERP sync",
"webhookUrl": "https://erp.example.com/hooks/tela",
"taskId": "0d1e2f3a-4b5c-4d6e-8f7a-8b9c0d1e2f3a",
"eventType": "task.failed",
"webhookType": "app_level",
"targetUrl": "https://erp.example.com/hooks/tela",
"status": "failed",
"responseStatus": 503,
"responseBody": "Service Unavailable",
"attemptCount": 1,
"createdAt": "2025-06-11T13:20:45.000Z"
}
],
"meta": {
"totalCount": 2,
"limit": 10,
"offset": 0,
"currentPage": 1,
"totalPages": 1,
"links": {
"first": "?limit=10&offset=0",
"last": "?limit=10&offset=0",
"next": null,
"previous": null
}
}
}Webhook
List deliveries of a webhook
Returns the delivery attempts of one webhook subscription, newest first.
GET
/
webhook
/
{webhookId}
/
deliveries
List deliveries of a webhook
curl --request GET \
--url https://api.tela.com/webhook/{webhookId}/deliveries \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.tela.com/webhook/{webhookId}/deliveries"
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/webhook/{webhookId}/deliveries', 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/webhook/{webhookId}/deliveries",
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/webhook/{webhookId}/deliveries"
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/webhook/{webhookId}/deliveries")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tela.com/webhook/{webhookId}/deliveries")
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": "a1b2c3d4-e5f6-4a7b-8c9d-0e1f2a3b4c5d",
"webhookId": "7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a",
"webhookName": "ERP sync",
"webhookUrl": "https://erp.example.com/hooks/tela",
"taskId": "b83b1558-de5b-4e45-b517-7bececbdd154",
"completionRunId": "3c4d5e6f-7a8b-4c9d-8e0f-1a2b3c4d5e6f",
"eventType": "task.completed",
"webhookType": "app_level",
"targetUrl": "https://erp.example.com/hooks/tela",
"status": "success",
"responseStatus": 200,
"responseBody": "{\"ok\":true}",
"attemptCount": 1,
"deliveredAt": "2025-06-11T14:03:12.410Z",
"createdAt": "2025-06-11T14:03:12.105Z"
},
{
"id": "f6e5d4c3-b2a1-4f0e-9d8c-7b6a5f4e3d2c",
"webhookId": "7d8e9f0a-1b2c-4d3e-8f4a-5b6c7d8e9f0a",
"webhookName": "ERP sync",
"webhookUrl": "https://erp.example.com/hooks/tela",
"taskId": "0d1e2f3a-4b5c-4d6e-8f7a-8b9c0d1e2f3a",
"eventType": "task.failed",
"webhookType": "app_level",
"targetUrl": "https://erp.example.com/hooks/tela",
"status": "failed",
"responseStatus": 503,
"responseBody": "Service Unavailable",
"attemptCount": 1,
"createdAt": "2025-06-11T13:20:45.000Z"
}
],
"meta": {
"totalCount": 2,
"limit": 10,
"offset": 0,
"currentPage": 1,
"totalPages": 1,
"links": {
"first": "?limit=10&offset=0",
"last": "?limit=10&offset=0",
"next": null,
"previous": null
}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Webhook subscription ID
Query Parameters
Filter by delivery status.
Outcome of a delivery attempt. pending while the request is in flight, success when your endpoint
answered 2xx, failed otherwise. retrying is part of the enum but is not currently assigned by the
delivery worker.
Available options:
pending, success, failed, retrying Filter by event type. Events a webhook can subscribe to:
task.completed— a task run finished successfully and is ready for review.task.approved— a task was reviewed and approved.task.approval-revoke— an approved task was sent back tovalidating.task.failed— a task run ended with a failure (errorMessageis set in the payload).
Available options:
task.completed, task.approved, task.approval-revoke, task.failed Page size. Defaults to 10, clamped to 1–100.
Required range:
1 <= x <= 100Number of items to skip. Defaults to 0.
Required range:
x >= 0