curl --request PATCH \
--url https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"runtime_target_environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runtime_target_branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"config": {},
"timeout_seconds": 123,
"backoff_limit": 1,
"max_runs": 123
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}"
payload = {
"name": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"runtime_target_environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runtime_target_branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"config": {},
"timeout_seconds": 123,
"backoff_limit": 1,
"max_runs": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
schedule: '<string>',
timezone: '<string>',
runtime_target_environment_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
runtime_target_branch_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
config: {},
timeout_seconds: 123,
backoff_limit: 1,
max_runs: 123
})
};
fetch('https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}', 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.veryfront.com/projects/{project_reference}/schedules/{schedule_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'schedule' => '<string>',
'timezone' => '<string>',
'runtime_target_environment_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'runtime_target_branch_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'config' => [
],
'timeout_seconds' => 123,
'backoff_limit' => 1,
'max_runs' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"runtime_target_environment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"runtime_target_branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"config\": {},\n \"timeout_seconds\": 123,\n \"backoff_limit\": 1,\n \"max_runs\": 123\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"runtime_target_environment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"runtime_target_branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"config\": {},\n \"timeout_seconds\": 123,\n \"backoff_limit\": 1,\n \"max_runs\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"runtime_target_environment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"runtime_target_branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"config\": {},\n \"timeout_seconds\": 123,\n \"backoff_limit\": 1,\n \"max_runs\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "active",
"paused_reason": "<string>",
"paused_at": "<string>",
"last_failure_at": "<string>",
"last_failure_code": "<string>",
"last_failure_message": "<string>",
"last_failure_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target": {
"kind": "task",
"id": "<string>",
"conversation_mode": "create_new",
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"schedule": "<string>",
"timezone": "<string>",
"runtime_target_kind": "main_branch",
"runtime_target_environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runtime_target_branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"config": {},
"timeout_seconds": 123,
"backoff_limit": 123,
"concurrency_policy": "<string>",
"definition_source": "manual",
"source_trigger_id": "<string>",
"source_path": "<string>",
"source_hash": "<string>",
"last_scheduled_at": "<string>",
"last_successful_at": "<string>",
"health": {
"maxStalenessSeconds": 123
},
"max_runs": 123,
"run_count": 1,
"completed_at": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "<string>",
"updated_at": "<string>",
"integration_requirements": []
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>"
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>"
}Update schedule
Change the fields of a schedule, or pause and resume it with the status, where an omitted field keeps its value; returns the updated schedule. Requires project.runs.write.
curl --request PATCH \
--url https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"runtime_target_environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runtime_target_branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"config": {},
"timeout_seconds": 123,
"backoff_limit": 1,
"max_runs": 123
}
'import requests
url = "https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}"
payload = {
"name": "<string>",
"schedule": "<string>",
"timezone": "<string>",
"runtime_target_environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runtime_target_branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"config": {},
"timeout_seconds": 123,
"backoff_limit": 1,
"max_runs": 123
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
name: '<string>',
schedule: '<string>',
timezone: '<string>',
runtime_target_environment_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
runtime_target_branch_id: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
config: {},
timeout_seconds: 123,
backoff_limit: 1,
max_runs: 123
})
};
fetch('https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}', 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.veryfront.com/projects/{project_reference}/schedules/{schedule_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'schedule' => '<string>',
'timezone' => '<string>',
'runtime_target_environment_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'runtime_target_branch_id' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'config' => [
],
'timeout_seconds' => 123,
'backoff_limit' => 1,
'max_runs' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"runtime_target_environment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"runtime_target_branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"config\": {},\n \"timeout_seconds\": 123,\n \"backoff_limit\": 1,\n \"max_runs\": 123\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"runtime_target_environment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"runtime_target_branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"config\": {},\n \"timeout_seconds\": 123,\n \"backoff_limit\": 1,\n \"max_runs\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.veryfront.com/projects/{project_reference}/schedules/{schedule_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"schedule\": \"<string>\",\n \"timezone\": \"<string>\",\n \"runtime_target_environment_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"runtime_target_branch_id\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"config\": {},\n \"timeout_seconds\": 123,\n \"backoff_limit\": 1,\n \"max_runs\": 123\n}"
response = http.request(request)
puts response.read_body{
"id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"project_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"name": "<string>",
"status": "active",
"paused_reason": "<string>",
"paused_at": "<string>",
"last_failure_at": "<string>",
"last_failure_code": "<string>",
"last_failure_message": "<string>",
"last_failure_run_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"target": {
"kind": "task",
"id": "<string>",
"conversation_mode": "create_new",
"conversation_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
},
"schedule": "<string>",
"timezone": "<string>",
"runtime_target_kind": "main_branch",
"runtime_target_environment_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"runtime_target_branch_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"config": {},
"timeout_seconds": 123,
"backoff_limit": 123,
"concurrency_policy": "<string>",
"definition_source": "manual",
"source_trigger_id": "<string>",
"source_path": "<string>",
"source_hash": "<string>",
"last_scheduled_at": "<string>",
"last_successful_at": "<string>",
"health": {
"maxStalenessSeconds": 123
},
"max_runs": 123,
"run_count": 1,
"completed_at": "<string>",
"created_by": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"created_at": "<string>",
"updated_at": "<string>",
"integration_requirements": []
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>"
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "https://api.veryfront.com/errors/validation-failed",
"title": "Validation Failed",
"status": 400,
"cause": "schedule_concurrency_forbidden",
"idempotency": {
"state": "in_progress",
"operation": "<string>",
"retryable": true,
"retry_after_seconds": 1,
"expires_at": "<string>",
"recovery": {
"available": true,
"description": "<string>",
"resource_url": "<string>"
}
},
"code": "RUN_INVALID_INPUT",
"detail": "The 'email' field must be a valid email address",
"instance": "/projects/my-project/members",
"slug": "validation-failed",
"category": "VALIDATION",
"suggestion": "Check the request body and query parameters against the API documentation.",
"errors": [
{
"field": "email",
"message": "Invalid email format",
"code": "INVALID_FORMAT"
}
]
}{
"type": "<string>",
"title": "<string>",
"status": 123,
"detail": "<string>",
"error": "<string>",
"message": "<string>"
}Authorizations
Use a JWT bearer token or a Veryfront API key in the Authorization header.
Path Parameters
1Schedule ID.
Body
Human-readable schedule name.
1 - 255Typed schedule target.
Show child attributes
Show child attributes
Schedule expression, for example a cron expression.
1 - 255IANA timezone used to evaluate the schedule.
1 - 128Runtime target kind for scheduled runs.
main_branch, environment, preview_branch Environment ID when runtime_target_kind is environment.
Branch ID when runtime_target_kind is preview_branch.
Run configuration. For agent schedules, put the run prompt in config.prompt.
Show child attributes
Show child attributes
Per-run timeout in seconds.
Retry backoff limit for failed scheduled runs.
x >= 0How overlapping scheduled runs are handled.
Allow, Forbid, Replace Optional maximum number of scheduled runs.
Updated schedule status.
active, paused Response
Updated schedule. Requires project run-write authorization, retaining source ownership and runtime target rules.
Recurring project schedule.
Schedule ID.
Owning project ID.
Human-readable schedule name.
Schedule status.
active, paused, deleting System pause reason when Veryfront pauses the schedule.
Timestamp when Veryfront paused the schedule.
Timestamp of the most recent schedule failure.
Most recent schedule failure code.
Most recent schedule failure message.
Canonical run ID for the most recent schedule failure.
Typed schedule target.
Show child attributes
Show child attributes
Schedule expression.
IANA timezone.
Runtime target kind.
main_branch, environment, preview_branch Environment ID for environment schedules.
Branch ID for preview branch schedules.
Run configuration without internal schedule target metadata.
Show child attributes
Show child attributes
Per-run timeout in seconds.
Retry backoff limit.
How overlapping scheduled runs are handled.
Whether the schedule is manually managed or source-defined.
manual, source Source trigger ID for source-defined schedules.
Source file path for source-defined schedules.
Source definition hash for source-defined schedules.
Last scheduled fire time.
Last successful run time.
Optional staleness budget used for schedule health alerting.
Show child attributes
Show child attributes
Optional maximum run count.
Fire reservations counted toward the repetition limit; released reservations are subtracted.
x >= 0Completion time for finite schedules.
User that created the schedule.
Creation timestamp.
Last update timestamp.
OAuth scopes and exact provider resources required before the schedule can run.
20Show child attributes
Show child attributes