Skip to content

API reference

Create a disabled pilot schedule

POST
/v1/pilot/schedules

Requires sync:write. Requires an active connection and destination, both runtime grants and homogeneous published timezone evidence. windowDays is 1–31 and cadenceMinutes is 60 or 1440. The service assigns next_due_at from its current time. Every successful creation creates a new disabled schedule; retain scheduleId. One schedule per destination may later be enabled. Implemented and locally tested; new live scheduled delivery and controlled failure/recovery acceptance remain pending.

Exactly these fields; workspace comes from the current API key and timezone from existing homogeneous published heads. No arbitrary timezone, token, spreadsheet ID or due time is accepted. Cadence options do not imply billing enforcement.

object
connectionId
required
string
/^[A-Za-z0-9_-]{1,128}$/
propertyId
required
string
/^[1-9][0-9]{0,19}$/
destinationId
required
string
/^[A-Za-z0-9_-]{1,128}$/
windowDays
required
integer
>= 1 <= 31
cadenceMinutes
required
integer
Allowed values: 60 1440

Create a disabled pilot schedule.

object
scheduleId
required
string
/^[A-Za-z0-9_-]{1,128}$/
enabled
required
boolean
timezone
required

A timezone accepted by the runtime IANA timezone formatter; selected from homogeneous published source heads.

string
<= 128 characters /^[A-Za-z0-9_+./-]+$/
windowDays
required
integer
>= 1 <= 31
cadenceMinutes
required
integer
Allowed values: 60 1440
destinationId
required
string
/^[A-Za-z0-9_-]{1,128}$/

invalid_json, invalid_request, or invalid_schedule for an unsupported cadence/window.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable

Missing, expired, revoked or reassigned key, including changes before response release.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed value: unauthorized
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable
WWW-Authenticate
required
string
Allowed value: Bearer

forbidden, source_permission_required, or destination_permission_required.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed values: forbidden source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable

connection_unavailable or destination_not_found in this workspace.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed values: not_found destination_not_found schedule_not_found pipeline_not_found connection_unavailable
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable

method_not_allowed — use the method named in Allow.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed value: method_not_allowed
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable
Allow
required
string
Allowed value: POST

destination_unavailable, timezone_unverified, timezone_conflict, schedule_conflict, or sheet_capacity_exhausted.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed values: destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable

Request JSON exceeds 4096 bytes.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed value: request_too_large
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable

Use application/json with no Content-Encoding other than identity.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed values: unsupported_media_type unsupported_encoding
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable

automation_unavailable.

object
error
required
object
code
required
string
Allowed values: invalid_request invalid_json invalid_schedule unsupported_media_type unsupported_encoding request_too_large unauthorized forbidden not_found method_not_allowed destination_not_found schedule_not_found pipeline_not_found connection_unavailable source_permission_required destination_permission_required schedule_enable_forbidden schedule_inactive destination_conflict destination_creation_unconfirmed destination_unavailable timezone_unverified timezone_conflict schedule_conflict redrive_conflict sheet_capacity_exhausted sheet_layout_conflict credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_auth_failed provider_rate_limited provider_unavailable automation_unavailable
message
required
string
error
object
code
Allowed values: credential_configuration_unavailable automation_configuration_unavailable credential_unavailable credential_busy provider_rate_limited automation_unavailable
error
object
code
Allowed values: invalid_request invalid_json invalid_schedule unauthorized forbidden source_permission_required destination_permission_required connection_unavailable destination_not_found method_not_allowed destination_unavailable timezone_unverified timezone_conflict schedule_conflict sheet_capacity_exhausted request_too_large unsupported_media_type unsupported_encoding automation_unavailable