Skip to main content
POST
/
orgs
/
{organization}
/
servers
/
{server}
/
sites
/
{site}
/
scheduled-jobs
Create site scheduled job
<?php

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/sites/{site}/scheduled-jobs",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
    'command' => 'echo $(whoami)',
    'user' => 'root',
    'frequency' => 'hourly',
    'name' => 'My scheduled job',
    'cron' => '0 * * * *',
    'heartbeat' => true,
    'grace_period' => 5
  ]),
  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;
}
{
  "data": {
    "id": "<string>",
    "type": "scheduledJobs",
    "links": {
      "self": {
        "href": "<string>",
        "rel": "<string>",
        "describedby": "<string>",
        "title": "<string>",
        "type": "<string>",
        "hreflang": "<string>",
        "meta": {}
      }
    },
    "attributes": {
      "name": "<string>",
      "command": "<string>",
      "status": "<string>",
      "user": "<string>",
      "frequency": "<string>",
      "cron": "<string>",
      "next_run_time": "<string>",
      "created_at": "2023-11-07T05:31:56Z",
      "updated_at": "2023-11-07T05:31:56Z"
    }
  }
}

Documentation Index

Fetch the complete documentation index at: https://forge.laravel.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

The access token received from the authorization server in the OAuth 2.0 flow.

Path Parameters

organization
string
required

The organization slug

server
integer
required

The server ID

site
integer
required

The site ID

Body

application/json
command
string
required

The command to run.

Example:

"echo $(whoami)"

user
string
required

The user to run the scheduled job as.

Example:

"root"

frequency
enum<string>
required

The frequency of the scheduled job.

Available options:
minutely,
hourly,
nightly,
weekly,
monthly,
reboot,
custom
Example:

"hourly"

name
string | null

The name of the command.

Example:

"My scheduled job"

cron
string | null

The cron expression to use for the scheduled job. Only used if frequency is set to Custom.

Example:

"0 * * * *"

heartbeat
boolean | null

Whether a heartbeat should be created for the scheduled job.

Example:

true

grace_period
enum<integer>

The grace period, in minutes, for the heartbeat.

Available options:
1,
2,
5,
10,
30,
60
Example:

5

Response

JobResource

data
JobResource · object
required