Get job runs
curl --request GET \
--url https://api.example.com/jobs/{id}/runsimport requests
url = "https://api.example.com/jobs/{id}/runs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/jobs/{id}/runs', 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.example.com/jobs/{id}/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/jobs/{id}/runs"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/jobs/{id}/runs")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/jobs/{id}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"cron_id": {},
"job_id": "<string>",
"request_id": {},
"status_code": 123,
"success": true,
"response_time_ms": 123,
"error": {},
"fired_at": "<string>"
}Jobs
Get job runs
Retrieve execution history for a job
GET
/
jobs
/
{id}
/
runs
Get job runs
curl --request GET \
--url https://api.example.com/jobs/{id}/runsimport requests
url = "https://api.example.com/jobs/{id}/runs"
response = requests.get(url)
print(response.text)const options = {method: 'GET'};
fetch('https://api.example.com/jobs/{id}/runs', 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.example.com/jobs/{id}/runs",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$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.example.com/jobs/{id}/runs"
req, _ := http.NewRequest("GET", url, nil)
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.example.com/jobs/{id}/runs")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/jobs/{id}/runs")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body{
"id": "<string>",
"cron_id": {},
"job_id": "<string>",
"request_id": {},
"status_code": 123,
"success": true,
"response_time_ms": 123,
"error": {},
"fired_at": "<string>"
}Returns the last 50 executions for a job, ordered by most recent first. Most jobs will have a single run, but manually triggered jobs may have additional entries.
Path parameters
string
required
The UUID of the job.
Response
Returns an array of run objects.string
Unique run identifier (UUID).
string | null
Always
null for job runs.string
The job this run belongs to.
string | null
Request identifier.
integer
HTTP status code returned by the webhook.
boolean
true if the status code was 2xx.integer
Execution time in milliseconds.
string | null
Error message or response body on failure.
null on success.string
ISO 8601 timestamp of when the webhook was fired.
curl https://app.cronapi.dev/api/v1/jobs/b2c3d4e5-f6a7-8901-bcde-f12345678901/runs \
-H "Authorization: Bearer your_api_key_here"
const response = await fetch(
`https://app.cronapi.dev/api/v1/jobs/${jobId}/runs`,
{ headers: { "Authorization": `Bearer your_api_key_here` } }
);
const runs = await response.json();
import requests
response = requests.get(
f"https://app.cronapi.dev/api/v1/jobs/{job_id}/runs",
headers={"Authorization": "Bearer your_api_key_here"},
)
runs = response.json()
200
[
{
"id": "c3d4e5f6-a7b8-9012-cdef-123456789012",
"cron_id": null,
"job_id": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"request_id": null,
"status_code": 200,
"success": true,
"response_time_ms": 230,
"error": null,
"fired_at": "2026-04-20T15:00:00.000Z"
}
]
⌘I