

# CreateSchedule
<a name="API_CreateSchedule"></a>

Creates the specified schedule.

## Request Syntax
<a name="API_CreateSchedule_RequestSyntax"></a>

```
POST /schedules/Name HTTP/1.1
Content-type: application/json

{
   "ActionAfterCompletion": "string",
   "ClientToken": "string",
   "Description": "string",
   "EndDate": number,
   "FlexibleTimeWindow": { 
      "MaximumWindowInMinutes": number,
      "Mode": "string"
   },
   "GroupName": "string",
   "KmsKeyArn": "string",
   "ScheduleExpression": "string",
   "ScheduleExpressionTimezone": "string",
   "StartDate": number,
   "State": "string",
   "Target": { 
      "Arn": "string",
      "DeadLetterConfig": { 
         "Arn": "string"
      },
      "EcsParameters": { 
         "CapacityProviderStrategy": [ 
            { 
               "base": number,
               "capacityProvider": "string",
               "weight": number
            }
         ],
         "EnableECSManagedTags": boolean,
         "EnableExecuteCommand": boolean,
         "Group": "string",
         "LaunchType": "string",
         "NetworkConfiguration": { 
            "awsvpcConfiguration": { 
               "AssignPublicIp": "string",
               "SecurityGroups": [ "string" ],
               "Subnets": [ "string" ]
            }
         },
         "PlacementConstraints": [ 
            { 
               "expression": "string",
               "type": "string"
            }
         ],
         "PlacementStrategy": [ 
            { 
               "field": "string",
               "type": "string"
            }
         ],
         "PlatformVersion": "string",
         "PropagateTags": "string",
         "ReferenceId": "string",
         "Tags": [ 
            { 
               "string" : "string" 
            }
         ],
         "TaskCount": number,
         "TaskDefinitionArn": "string"
      },
      "EventBridgeParameters": { 
         "DetailType": "string",
         "Source": "string"
      },
      "Input": "string",
      "KinesisParameters": { 
         "PartitionKey": "string"
      },
      "RetryPolicy": { 
         "MaximumEventAgeInSeconds": number,
         "MaximumRetryAttempts": number
      },
      "RoleArn": "string",
      "SageMakerPipelineParameters": { 
         "PipelineParameterList": [ 
            { 
               "Name": "string",
               "Value": "string"
            }
         ]
      },
      "SqsParameters": { 
         "MessageGroupId": "string"
      }
   }
}
```

## URI Request Parameters
<a name="API_CreateSchedule_RequestParameters"></a>

The request uses the following URI parameters.

 ** [Name](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-uri-Name"></a>
The name of the schedule that you are creating.  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[0-9a-zA-Z-_.]+`   
Required: Yes

## Request Body
<a name="API_CreateSchedule_RequestBody"></a>

The request accepts the following data in JSON format.

 ** [ActionAfterCompletion](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-ActionAfterCompletion"></a>
Specifies the action that EventBridge Scheduler applies to the schedule after the schedule completes invoking the target.  
Type: String  
Valid Values: `NONE | DELETE`   
Required: No

 ** [ClientToken](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-ClientToken"></a>
 Unique, case-sensitive identifier you provide to ensure the idempotency of the request. If you do not specify a client token, EventBridge Scheduler uses a randomly generated token for the request to ensure idempotency.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[a-zA-Z0-9-_]+`   
Required: No

 ** [Description](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-Description"></a>
The description you specify for the schedule.  
Type: String  
Length Constraints: Minimum length of 0. Maximum length of 512.  
Required: No

 ** [EndDate](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-EndDate"></a>
The date, in UTC, before which the schedule can invoke its target. Depending on the schedule's recurrence expression, invocations might stop on, or before, the `EndDate` you specify. EventBridge Scheduler ignores `EndDate` for one-time schedules.  
Type: Timestamp  
Required: No

 ** [FlexibleTimeWindow](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-FlexibleTimeWindow"></a>
Allows you to configure a time window during which EventBridge Scheduler invokes the schedule.  
Type: [FlexibleTimeWindow](API_FlexibleTimeWindow.md) object  
Required: Yes

 ** [GroupName](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-GroupName"></a>
The name of the schedule group to associate with this schedule. If you omit this, the default schedule group is used.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 64.  
Pattern: `[0-9a-zA-Z-_.]+`   
Required: No

 ** [KmsKeyArn](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-KmsKeyArn"></a>
The Amazon Resource Name (ARN) for the customer managed KMS key that EventBridge Scheduler will use to encrypt and decrypt your data.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 2048.  
Pattern: `arn:aws(-[a-z]+)?:kms:[a-z0-9\-]+:\d{12}:(key|alias)\/[0-9a-zA-Z-_]*`   
Required: No

 ** [ScheduleExpression](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-ScheduleExpression"></a>
 The expression that defines when the schedule runs. The following formats are supported.   
+  `at` expression - `at(yyyy-mm-ddThh:mm:ss)` 
+  `rate` expression - `rate(value unit)` 
+  `cron` expression - `cron(fields)` 
 You can use `at` expressions to create one-time schedules that invoke a target once, at the time and in the time zone, that you specify. You can use `rate` and `cron` expressions to create recurring schedules. Rate-based schedules are useful when you want to invoke a target at regular intervals, such as every 15 minutes or every five days. Cron-based schedules are useful when you want to invoke a target periodically at a specific time, such as at 8:00 am (UTC\$10) every 1st day of the month.   
 A `cron` expression consists of six fields separated by white spaces: `(minutes hours day_of_month month day_of_week year)`.   
 A `rate` expression consists of a *value* as a positive integer, and a *unit* with the following options: `minute` \$1 `minutes` \$1 `hour` \$1 `hours` \$1 `day` \$1 `days`   
 For more information and examples, see [Schedule types on EventBridge Scheduler](https://docs.aws.amazon.com/scheduler/latest/UserGuide/schedule-types.html) in the *EventBridge Scheduler User Guide*.   
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 256.  
Required: Yes

 ** [ScheduleExpressionTimezone](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-ScheduleExpressionTimezone"></a>
The timezone in which the scheduling expression is evaluated.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 50.  
Required: No

 ** [StartDate](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-StartDate"></a>
The date, in UTC, after which the schedule can begin invoking its target. Depending on the schedule's recurrence expression, invocations might occur on, or after, the `StartDate` you specify. EventBridge Scheduler ignores `StartDate` for one-time schedules.  
Type: Timestamp  
Required: No

 ** [State](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-State"></a>
Specifies whether the schedule is enabled or disabled.  
Type: String  
Valid Values: `ENABLED | DISABLED`   
Required: No

 ** [Target](#API_CreateSchedule_RequestSyntax) **   <a name="scheduler-CreateSchedule-request-Target"></a>
The schedule's target.  
Type: [Target](API_Target.md) object  
Required: Yes

## Response Syntax
<a name="API_CreateSchedule_ResponseSyntax"></a>

```
HTTP/1.1 200
Content-type: application/json

{
   "ScheduleArn": "string"
}
```

## Response Elements
<a name="API_CreateSchedule_ResponseElements"></a>

If the action is successful, the service sends back an HTTP 200 response.

The following data is returned in JSON format by the service.

 ** [ScheduleArn](#API_CreateSchedule_ResponseSyntax) **   <a name="scheduler-CreateSchedule-response-ScheduleArn"></a>
The Amazon Resource Name (ARN) of the schedule.  
Type: String  
Length Constraints: Minimum length of 1. Maximum length of 1224.  
Pattern: `arn:aws(-[a-z]+)?:scheduler:[a-z0-9\-]+:\d{12}:schedule\/[0-9a-zA-Z-_.]+\/[0-9a-zA-Z-_.]+` 

## Errors
<a name="API_CreateSchedule_Errors"></a>

For information about the errors that are common to all actions, see [Common Error Types](CommonErrors.md).

 ** ConflictException **   
Updating or deleting the resource can cause an inconsistent state.  
HTTP Status Code: 409

 ** InternalServerException **   
Unexpected error encountered while processing the request.  
HTTP Status Code: 500

 ** ResourceNotFoundException **   
The request references a resource which does not exist.  
HTTP Status Code: 404

 ** ServiceQuotaExceededException **   
The request exceeds a service quota.  
HTTP Status Code: 402

 ** ThrottlingException **   
The request was denied due to request throttling.  
HTTP Status Code: 429

 ** ValidationException **   
The input fails to satisfy the constraints specified by an AWS service.  
HTTP Status Code: 400

## See Also
<a name="API_CreateSchedule_SeeAlso"></a>

For more information about using this API in one of the language-specific AWS SDKs, see the following:
+  [AWS Command Line Interface V2](https://docs.aws.amazon.com/goto/cli2/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for .NET V4](https://docs.aws.amazon.com/goto/DotNetSDKV4/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for C\$1\$1](https://docs.aws.amazon.com/goto/SdkForCpp/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for Go v2](https://docs.aws.amazon.com/goto/SdkForGoV2/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for Java V2](https://docs.aws.amazon.com/goto/SdkForJavaV2/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for JavaScript V3](https://docs.aws.amazon.com/goto/SdkForJavaScriptV3/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for Kotlin](https://docs.aws.amazon.com/goto/SdkForKotlin/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for PHP V3](https://docs.aws.amazon.com/goto/SdkForPHPV3/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for Python](https://docs.aws.amazon.com/goto/boto3/scheduler-2021-06-30/CreateSchedule) 
+  [AWS SDK for Ruby V3](https://docs.aws.amazon.com/goto/SdkForRubyV3/scheduler-2021-06-30/CreateSchedule) 