Skip to content

Change a schedule

PATCH
/orgs/{org}/projects/{id}/schedules/{sid}
curl --request PATCH \
--url https://api.sloose.com/orgs/org_9f3c/projects/b3f1c8a2/schedules/a71d0e46 \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "name": "example", "cron": "0 2 * * *", "timezone": "Australia/Sydney", "enabled": true, "sourceConfig": "example" }'

Every field is optional; only what you send changes.

Stored, not run. Schedules are persisted so a project can carry them, but the server-side runner that executes them is V2. Creating one today changes nothing about when imports happen.

org
required

The org id the session was issued for. A token for one org can never read another.

string
Example
org_9f3c

The org id the session was issued for. A token for one org can never read another.

id
required

The project id.

string
Example
b3f1c8a2

The project id.

sid
required

The schedule id.

string
Example
a71d0e46

The schedule id.

Media typeapplication/json
object
name
string
>= 1 characters <= 200 characters
cron

Five-field cron expression.

string
/^\s*(\S+\s+){4}\S+\s*$/
Example
0 2 * * *
timezone

IANA zone. Defaults to UTC.

string
>= 1 characters <= 64 characters
Example
Australia/Sydney
enabled
boolean
sourceConfig

Where rows come from when the schedule fires. Shape depends on the source package.

object | null

The schedule as it now stands.

Media typeapplication/json
object
schedule
required

Stored now, executed by the V2 server-side runner. Creating one does not run anything yet.

object
id
required
string
orgId
required
string
projectId
required
string
name
required
string
cron
required

Five-field cron expression.

string
timezone
required
string
enabled
required
boolean
sourceConfig
required
object | null
createdByUserId
required
string | null
lastRunAt
required
string | null
nextRunAt
required
string | null
createdAt
required
string
updatedAt
required
string
Examplegenerated
{
"schedule": {
"id": "example",
"orgId": "example",
"projectId": "example",
"name": "example",
"cron": "example",
"timezone": "example",
"enabled": true,
"sourceConfig": "example",
"createdByUserId": "example",
"lastRunAt": "example",
"nextRunAt": "example",
"createdAt": "example",
"updatedAt": "example"
}
}

The request body did not match the schema. issues carries the Zod issue list.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

No bearer, or one that is expired, revoked or no longer resolves to a member.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

The bearer’s role is too low, or it was issued for a different org.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

No such project or schedule, or it is not visible to this session.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}