Schedules
Create Scheduled Drift Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/drift/schedulesCreates a drift detection schedule for a stack using Pulumi Deployments. Drift detection identifies divergence between the declared infrastructure state in your Pulumi program and the actual state of resources in the cloud provider. The ‘scheduleCron’ field accepts a cron expression defining when drift detection should run (e.g. ‘0 */4 * * *’ for every 4 hours). When ‘autoRemediate’ is set to true, a remediation update is automatically triggered to bring resources back into alignment with the declared state whenever drift is detected. Auto-remediation requires a Business Critical subscription. The stack must have deployment settings configured before a drift schedule can be created.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack name
Request Body
scheduleCronstring optionalCron expression defining when drift detection should run (e.g. ‘0 */4 * * *’ for every 4 hours).autoRemediateboolean optionalIf true, automatically run a remediation update when drift is detected.
Responses
idstring requiredThe unique identifier for this scheduled action.orgIDstring requiredThe organization ID that owns this scheduled action.scheduleCronstring optionalA cron expression defining the recurring schedule.scheduleOncestring optionalA timestamp for a one-time scheduled execution.nextExecutionstring requiredThe timestamp of the next scheduled execution.pausedboolean requiredWhether the scheduled action is currently paused.kindenum requiredThe kind of action to be executed.Values:deployment,environment_rotation,scan,agent_automationdefinitionmap[string]object requiredThe action definition, which varies based on the action kind.createdstring requiredThe timestamp when this scheduled action was created.modifiedstring requiredThe timestamp when this scheduled action was last modified.lastExecutedstring requiredThe timestamp of the last execution, if any.
Update Scheduled Drift Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/drift/schedules/{scheduleID}Updates the configuration of an existing drift detection schedule. The request body can modify the cron expression controlling when drift detection runs and the autoRemediate flag that determines whether detected drift is automatically corrected by running an update operation. Auto-remediation requires a Business Critical subscription. Only future executions are affected; past drift detection runs are not modified.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack namescheduleIDstring path requiredThe schedule identifier
Request Body
scheduleCronstring optionalCron expression defining when drift detection should run (e.g. ‘0 */4 * * *’ for every 4 hours).autoRemediateboolean optionalIf true, automatically run a remediation update when drift is detected.
Responses
idstring requiredThe unique identifier for this scheduled action.orgIDstring requiredThe organization ID that owns this scheduled action.scheduleCronstring optionalA cron expression defining the recurring schedule.scheduleOncestring optionalA timestamp for a one-time scheduled execution.nextExecutionstring requiredThe timestamp of the next scheduled execution.pausedboolean requiredWhether the scheduled action is currently paused.kindenum requiredThe kind of action to be executed.Values:deployment,environment_rotation,scan,agent_automationdefinitionmap[string]object requiredThe action definition, which varies based on the action kind.createdstring requiredThe timestamp when this scheduled action was created.modifiedstring requiredThe timestamp when this scheduled action was last modified.lastExecutedstring requiredThe timestamp of the last execution, if any.
List Scheduled Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedulesReturns all scheduled deployment actions configured for a stack. The response includes all schedule types: custom deployment schedules (cron-based recurring or one-time), drift detection schedules, and TTL (time-to-live) schedules. Each schedule in the response contains its ID, type, configuration (cron expression or timestamp), current status (active or paused), and the deployment request that will be executed on each run.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack name
Responses
- The list of scheduled actions
- ↳
idstring requiredThe unique identifier for this scheduled action. - ↳
orgIDstring requiredThe organization ID that owns this scheduled action. - ↳
scheduleCronstring optionalA cron expression defining the recurring schedule. - ↳
scheduleOncestring optionalA timestamp for a one-time scheduled execution. - ↳
nextExecutionstring requiredThe timestamp of the next scheduled execution. - ↳
pausedboolean requiredWhether the scheduled action is currently paused. - ↳
kindenum requiredThe kind of action to be executed.Values:deployment,environment_rotation,scan,agent_automation - ↳
definitionmap[string]object requiredThe action definition, which varies based on the action kind. - ↳
createdstring requiredThe timestamp when this scheduled action was created. - ↳
modifiedstring requiredThe timestamp when this scheduled action was last modified. - ↳
lastExecutedstring requiredThe timestamp of the last execution, if any.
Create Scheduled Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedulesCreates a custom deployment schedule for a stack using Pulumi Deployments. Custom schedules allow you to automate recurring or one-time Pulumi operations on a stack. The request must include exactly one of ‘scheduleCron’ (a cron expression for recurring executions, e.g. ‘0 */4 * * *’ for every 4 hours) or ‘scheduleOnce’ (an ISO 8601 timestamp for a one-time execution). The ‘request’ field contains the deployment configuration that will be executed on each scheduled run, including the Pulumi operation type and any settings overrides. The stack must have deployment settings configured before a schedule can be created.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack name
Request Body
scheduleCronstring optionalCron expression defining a recurring schedule for this deployment. When set, scheduleOnce must be null. Uses standard 5-field cron syntax (MIN HOUR DOM MON DOW) and is evaluated in UTC.scheduleOncestring optionalSingle point-in-time schedule for this deployment. When set, scheduleCron must be null. The value must be an ISO 8601 timestamp with timezone.- Deployment request payload to execute when the schedule fires. This has the same shape and semantics as CreateDeploymentRequest used for immediate deployments.
- ↳
operationenum optionalThe Pulumi operation to perform.Values:update,preview,destroy,refresh,detect-drift,remediate-drift - ↳
tagstring optionalA tag to identify the deployment settings configuration. - The executor context defining the execution environment.
- ↳
inheritSettingsboolean optionalWhether this deployment should inherit the stack’s deployment settings. Defaults to true. - The source context defining where the source code is located.
- GitHub-specific deployment settings
- VCS provider settings
- The operation context defining pre-run and post-run commands and environment variables.
- ↳
agentPoolIDstring optionalThe identifier of the agent pool to use for deployments. - Cache options for the deployment.
Responses
idstring requiredThe unique identifier for this scheduled action.orgIDstring requiredThe organization ID that owns this scheduled action.scheduleCronstring optionalA cron expression defining the recurring schedule.scheduleOncestring optionalA timestamp for a one-time scheduled execution.nextExecutionstring requiredThe timestamp of the next scheduled execution.pausedboolean requiredWhether the scheduled action is currently paused.kindenum requiredThe kind of action to be executed.Values:deployment,environment_rotation,scan,agent_automationdefinitionmap[string]object requiredThe action definition, which varies based on the action kind.createdstring requiredThe timestamp when this scheduled action was created.modifiedstring requiredThe timestamp when this scheduled action was last modified.lastExecutedstring requiredThe timestamp of the last execution, if any.
Read Scheduled Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID}Retrieves the full configuration and metadata for a specific scheduled deployment action. The response includes the schedule’s ID, type (custom, drift, or TTL), timing configuration (cron expression or one-time timestamp), current status (active or paused), the deployment request that will be executed, and any type-specific fields such as autoRemediate for drift schedules or deleteAfterDestroy for TTL schedules.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack namescheduleIDstring path requiredThe schedule identifier
Responses
idstring requiredThe unique identifier for this scheduled action.orgIDstring requiredThe organization ID that owns this scheduled action.scheduleCronstring optionalA cron expression defining the recurring schedule.scheduleOncestring optionalA timestamp for a one-time scheduled execution.nextExecutionstring requiredThe timestamp of the next scheduled execution.pausedboolean requiredWhether the scheduled action is currently paused.kindenum requiredThe kind of action to be executed.Values:deployment,environment_rotation,scan,agent_automationdefinitionmap[string]object requiredThe action definition, which varies based on the action kind.createdstring requiredThe timestamp when this scheduled action was created.modifiedstring requiredThe timestamp when this scheduled action was last modified.lastExecutedstring requiredThe timestamp of the last execution, if any.
Update Scheduled Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID}Updates the configuration of an existing custom deployment schedule. The request body can modify the timing (cron expression for recurring schedules or ISO 8601 timestamp for one-time schedules) and the deployment request that will be executed on each future run, including the Pulumi operation type and settings overrides. Only future executions are affected; past executions are not modified. The stack must have deployment settings configured.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack namescheduleIDstring path requiredThe schedule identifier
Request Body
scheduleCronstring optionalCron expression defining a recurring schedule for this deployment. When set, scheduleOnce must be null. Uses standard 5-field cron syntax (MIN HOUR DOM MON DOW) and is evaluated in UTC.scheduleOncestring optionalSingle point-in-time schedule for this deployment. When set, scheduleCron must be null. The value must be an ISO 8601 timestamp with timezone.- Deployment request payload to execute when the schedule fires. This has the same shape and semantics as CreateDeploymentRequest used for immediate deployments.
- ↳
operationenum optionalThe Pulumi operation to perform.Values:update,preview,destroy,refresh,detect-drift,remediate-drift - ↳
tagstring optionalA tag to identify the deployment settings configuration. - The executor context defining the execution environment.
- ↳
inheritSettingsboolean optionalWhether this deployment should inherit the stack’s deployment settings. Defaults to true. - The source context defining where the source code is located.
- GitHub-specific deployment settings
- VCS provider settings
- The operation context defining pre-run and post-run commands and environment variables.
- ↳
agentPoolIDstring optionalThe identifier of the agent pool to use for deployments. - Cache options for the deployment.
Responses
idstring requiredThe unique identifier for this scheduled action.orgIDstring requiredThe organization ID that owns this scheduled action.scheduleCronstring optionalA cron expression defining the recurring schedule.scheduleOncestring optionalA timestamp for a one-time scheduled execution.nextExecutionstring requiredThe timestamp of the next scheduled execution.pausedboolean requiredWhether the scheduled action is currently paused.kindenum requiredThe kind of action to be executed.Values:deployment,environment_rotation,scan,agent_automationdefinitionmap[string]object requiredThe action definition, which varies based on the action kind.createdstring requiredThe timestamp when this scheduled action was created.modifiedstring requiredThe timestamp when this scheduled action was last modified.lastExecutedstring requiredThe timestamp of the last execution, if any.
Delete Scheduled Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID}Permanently deletes a scheduled deployment action from a stack. This removes the schedule configuration entirely and cannot be undone. The schedule will no longer execute any future runs. This endpoint is used for all schedule types (custom, drift detection, and TTL). To temporarily stop a schedule without deleting it, use the pause endpoint instead.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack namescheduleIDstring path requiredThe schedule identifier
Responses
List Scheduled Deployment History
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID}/historyReturns the execution history for a specific scheduled deployment action. The response includes a chronological list of past schedule invocations and their outcomes, such as whether the triggered deployment succeeded, failed, or was skipped. This is useful for monitoring the reliability and results of recurring deployments, drift detection runs, or TTL schedule executions.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack namescheduleIDstring path requiredThe schedule identifier
Responses
- The list of scheduled action history events
- ↳
idstring requiredThe unique identifier for this history event. - ↳
scheduledActionIDstring requiredThe ID of the scheduled action this event belongs to. - ↳
executedstring requiredThe timestamp when the action was executed. - ↳
versioninteger requiredThe version of the scheduled action at the time of execution. - ↳
resultstring requiredThe result of the execution.
Pause Scheduled Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID}/pauseTemporarily suspends future executions of a scheduled deployment action without deleting the schedule configuration. The schedule remains configured and can be reactivated at any time using the ResumeScheduledDeployment endpoint. This is useful for temporarily halting recurring schedules (drift detection, TTL, or custom) during maintenance periods or when troubleshooting issues.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack namescheduleIDstring path requiredThe schedule identifier
Responses
Resume Scheduled Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/schedules/{scheduleID}/resumeReactivates a previously paused scheduled deployment action. After resuming, the schedule will continue executing according to its configured timing (cron expression for recurring schedules, or at the scheduled timestamp for one-time schedules). This works for all schedule types: custom deployment schedules, drift detection schedules, and TTL schedules.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack namescheduleIDstring path requiredThe schedule identifier
Responses
Create Scheduled TTL Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/ttl/schedulesCreates a TTL (time-to-live) schedule for a stack using Pulumi Deployments. TTL schedules automatically destroy a stack’s cloud resources at a specified expiration time, which is useful for temporary or ephemeral infrastructure that should be cleaned up after a defined period. The ’timestamp’ field must be an ISO 8601 formatted date-time (e.g. ‘2024-12-31T00:00:00.000Z’) specifying when the destroy operation should execute. When ‘deleteAfterDestroy’ is set to true, the stack itself is also removed from Pulumi Cloud after its resources have been successfully destroyed. The stack must have deployment settings configured before a TTL schedule can be created.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack name
Request Body
timestampstring optionalWhen the TTL expires and the stack should be destroyed, in ISO 8601 format.deleteAfterDestroyboolean optionalIf true, delete the stack from Pulumi Cloud after successfully destroying its resources.
Responses
idstring requiredThe unique identifier for this scheduled action.orgIDstring requiredThe organization ID that owns this scheduled action.scheduleCronstring optionalA cron expression defining the recurring schedule.scheduleOncestring optionalA timestamp for a one-time scheduled execution.nextExecutionstring requiredThe timestamp of the next scheduled execution.pausedboolean requiredWhether the scheduled action is currently paused.kindenum requiredThe kind of action to be executed.Values:deployment,environment_rotation,scan,agent_automationdefinitionmap[string]object requiredThe action definition, which varies based on the action kind.createdstring requiredThe timestamp when this scheduled action was created.modifiedstring requiredThe timestamp when this scheduled action was last modified.lastExecutedstring requiredThe timestamp of the last execution, if any.
Update Scheduled TTL Deployment
/api/stacks/{orgName}/{projectName}/{stackName}/deployments/ttl/schedules/{scheduleID}Updates the configuration of an existing TTL (time-to-live) schedule. The request body can modify the destruction timestamp (ISO 8601 format) and the deleteAfterDestroy flag that controls whether the stack is also removed from Pulumi Cloud after its resources are successfully destroyed. The timestamp field is required and must be set to a valid future date-time.
Request Parameters
orgNamestring path requiredThe organization nameprojectNamestring path requiredThe project namestackNamestring path requiredThe stack namescheduleIDstring path requiredThe schedule identifier
Request Body
timestampstring optionalWhen the TTL expires and the stack should be destroyed, in ISO 8601 format.deleteAfterDestroyboolean optionalIf true, delete the stack from Pulumi Cloud after successfully destroying its resources.
Responses
idstring requiredThe unique identifier for this scheduled action.orgIDstring requiredThe organization ID that owns this scheduled action.scheduleCronstring optionalA cron expression defining the recurring schedule.scheduleOncestring optionalA timestamp for a one-time scheduled execution.nextExecutionstring requiredThe timestamp of the next scheduled execution.pausedboolean requiredWhether the scheduled action is currently paused.kindenum requiredThe kind of action to be executed.Values:deployment,environment_rotation,scan,agent_automationdefinitionmap[string]object requiredThe action definition, which varies based on the action kind.createdstring requiredThe timestamp when this scheduled action was created.modifiedstring requiredThe timestamp when this scheduled action was last modified.lastExecutedstring requiredThe timestamp of the last execution, if any.
Thank you for your feedback!
If you have a question about how to use Pulumi, reach out in Community Slack.
Open an issue on GitHub to report a problem or suggest an improvement.