curl --request GET \
--url https://api.engini.io/v1/triggers/{triggerId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.engini.io/v1/triggers/{triggerId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.engini.io/v1/triggers/{triggerId}', 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.engini.io/v1/triggers/{triggerId}",
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.engini.io/v1/triggers/{triggerId}"
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.engini.io/v1/triggers/{triggerId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engini.io/v1/triggers/{triggerId}")
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{
"kind": "api",
"status": "enabled",
"id": "<string>",
"trigger_slug": "<string>",
"connection_id": 123,
"activity_id": 123,
"destination_id": 123,
"dedupe_window_hours": 123,
"status_reason": "max_consecutive_failures",
"blocked_since": "2023-11-07T05:31:56Z",
"last_event_at": "2023-11-07T05:31:56Z",
"last_error_at": "2023-11-07T05:31:56Z",
"last_error": "<string>",
"next_run_at": "2023-11-07T05:31:56Z",
"subscription_count": 123,
"created_at": "2023-11-07T05:31:56Z",
"config": "<unknown>",
"schedule": {
"frequency": "seconds",
"interval": 123,
"start_date": "2023-11-07T05:31:56Z",
"start_time": "<string>",
"week_days": [
123
],
"time_frames": [
{
"start_hour": "<string>",
"end_hour": "<string>",
"every_minutes": 123
}
],
"effective": {
"frequency": "seconds",
"interval": 123,
"clamped": true,
"min_interval_minutes": 123
}
},
"listen_columns": [
"<string>"
],
"webhook_url": "<string>"
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}Get trigger
Includes the derived status, status_reason and blocked_since, the schedule and listen-column parameter blocks as stored, next_run_at for polling triggers, and subscription_count - which is NOT always 1: a provider subscription covers a single listen column, so N listen columns mean N subscriptions.
curl --request GET \
--url https://api.engini.io/v1/triggers/{triggerId} \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.engini.io/v1/triggers/{triggerId}"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.engini.io/v1/triggers/{triggerId}', 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.engini.io/v1/triggers/{triggerId}",
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.engini.io/v1/triggers/{triggerId}"
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.engini.io/v1/triggers/{triggerId}")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.engini.io/v1/triggers/{triggerId}")
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{
"kind": "api",
"status": "enabled",
"id": "<string>",
"trigger_slug": "<string>",
"connection_id": 123,
"activity_id": 123,
"destination_id": 123,
"dedupe_window_hours": 123,
"status_reason": "max_consecutive_failures",
"blocked_since": "2023-11-07T05:31:56Z",
"last_event_at": "2023-11-07T05:31:56Z",
"last_error_at": "2023-11-07T05:31:56Z",
"last_error": "<string>",
"next_run_at": "2023-11-07T05:31:56Z",
"subscription_count": 123,
"created_at": "2023-11-07T05:31:56Z",
"config": "<unknown>",
"schedule": {
"frequency": "seconds",
"interval": 123,
"start_date": "2023-11-07T05:31:56Z",
"start_time": "<string>",
"week_days": [
123
],
"time_frames": [
{
"start_hour": "<string>",
"end_hour": "<string>",
"every_minutes": 123
}
],
"effective": {
"frequency": "seconds",
"interval": 123,
"clamped": true,
"min_interval_minutes": 123
}
},
"listen_columns": [
"<string>"
],
"webhook_url": "<string>"
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}{
"errorCode": "<string>",
"message": "<string>",
"requestId": "<string>",
"timestamp": "<string>",
"path": "<string>",
"details": [
{
"field": "<string>",
"issue": "<string>"
}
]
}Authorizations
Enter your JWT token
Path Parameters
The ti_ public id of the trigger instance.
Response
The trigger instance, with its derived status, parameter blocks and subscription count.
A trigger instance as the API returns it. status is derived on every read, so it reflects whether the trigger is really capturing right now rather than what was last written.
D6's discriminator. Always api here; ?include=workflow is what emits workflow.
api, workflow Derived from the hidden workflow, never read from the stored column.
enabled, disabled, errored Why the instance is errored. Null whenever the instance is not blocked - see TriggerStatusReason for the frozen vocabulary and the derivation ORDER.
max_consecutive_failures, activity_limit, manual, subscribe_failed, connection_deleted, trigger_type_removed When the block landed. Null whenever the instance is not blocked.
Bounded and credential-scrubbed at the point of writing - see TriggerInstance.LastError.
When the polling scheduler will next select this trigger. Null for push and manual-webhook flavours.
How many subscriptions this trigger holds with the provider. Not always 1: a subscription covers a single listen column, so N listen_columns create N subscriptions - and providers usually meter them.
The trigger activity's own inputs, as supplied on create/patch.
Present only for polling triggers. Carries effective - see TriggerScheduleEffectiveDTO.
Show child attributes
Show child attributes
Present only for push triggers that declare IsShowFilterChanges.
Where a manual_webhook trigger's caller must POST events - the only delivery flavour with no provider subscription, so without this the caller has no way to learn the endpoint (design spec §6, folded in from the §6b UI plan). Null for every other delivery flavour, and null even for a manual-webhook instance whose step-1 ActivityToken has never been persisted - see TriggerInstanceService.EnrichAsync for why that gate exists.