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

$curl = curl_init();

curl_setopt_array($curl, [
  CURLOPT_URL => "https://forge.laravel.com/api/orgs/{organization}/servers/{server}/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([
    'name' => 'My scheduled job',
    'command' => 'echo $(whoami)',
    'user' => 'root',
    'frequency' => 'hourly',
    'cron' => '0 * * * *',
    'heartbeat' => null,
    '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",
    "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"
    },
    "links": {
      "self": {
        "href": "<string>",
        "rel": "<string>",
        "describedby": "<string>",
        "title": "<string>",
        "type": "<string>",
        "hreflang": "<string>",
        "meta": {}
      }
    }
  }
}

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

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
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
string

The grace period, in minutes, for the heartbeat.

Example:

"5"

Response

JobResource

data
object
required
I