Schedules API
List Schedules
List all schedules. You can also paginate the results.
GET
/
api
/
v1
/
schedules
TypeScript
import { schedules } from "@trigger.dev/sdk";
const allSchedules = await schedules.list();curl --request GET \
--url https://api.trigger.dev/api/v1/schedules \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.trigger.dev/api/v1/schedules"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.trigger.dev/api/v1/schedules', 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.trigger.dev/api/v1/schedules",
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.trigger.dev/api/v1/schedules"
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.trigger.dev/api/v1/schedules")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trigger.dev/api/v1/schedules")
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": "sched_1234",
"task": "my-scheduled-task",
"type": "IMPERATIVE",
"active": true,
"deduplicationKey": "dedup_key_1234",
"externalId": "user_1234",
"generator": {
"type": "CRON",
"expression": "0 0 * * *",
"description": "Every day at midnight"
},
"timezone": "America/New_York",
"nextRun": "2024-04-01T00:00:00Z",
"environments": [
{
"id": "<string>",
"type": "<string>",
"userName": "<string>"
}
]
}
],
"pagination": {
"currentPage": 123,
"totalPages": 123,
"count": 123
}
}Authorizations
Use a named environment API key. It starts with tr_dev_sk_, tr_prod_sk_, tr_stg_sk_, etc.
Create a named API key in the API Keys section of your Trigger.dev project dashboard. Choose the narrowest access preset that supports your integration.
Our TypeScript SDK will default to using the value of the TRIGGER_SECRET_KEY environment variable if it is set. If you are using the SDK in a different environment, you can set the key using the configure function.
import { configure } from "@trigger.dev/sdk"; configure({ accessToken: "tr_dev_sk_1234" });
Query Parameters
Page number of the schedule listing
Number of schedules per page
Was this page helpful?
⌘I
TypeScript
import { schedules } from "@trigger.dev/sdk";
const allSchedules = await schedules.list();curl --request GET \
--url https://api.trigger.dev/api/v1/schedules \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.trigger.dev/api/v1/schedules"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.trigger.dev/api/v1/schedules', 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.trigger.dev/api/v1/schedules",
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.trigger.dev/api/v1/schedules"
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.trigger.dev/api/v1/schedules")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.trigger.dev/api/v1/schedules")
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": "sched_1234",
"task": "my-scheduled-task",
"type": "IMPERATIVE",
"active": true,
"deduplicationKey": "dedup_key_1234",
"externalId": "user_1234",
"generator": {
"type": "CRON",
"expression": "0 0 * * *",
"description": "Every day at midnight"
},
"timezone": "America/New_York",
"nextRun": "2024-04-01T00:00:00Z",
"environments": [
{
"id": "<string>",
"type": "<string>",
"userName": "<string>"
}
]
}
],
"pagination": {
"currentPage": 123,
"totalPages": 123,
"count": 123
}
}
