CreatePolicy
Creates an Amazon IoT policy.
The created policy is the default version for the policy. This operation creates a policy version with a version identifier of 1 and sets 1 as the policy's default version.
Requires permission to access the CreatePolicy action.
Request Syntax
POST /policies/policyName HTTP/1.1
Content-type: application/json
{
   "policyDocument": "string",
   "tags": [ 
      { 
         "Key": "string",
         "Value": "string"
      }
   ]
}URI Request Parameters
The request uses the following URI parameters.
- policyName
- 
               The policy name. Length Constraints: Minimum length of 1. Maximum length of 128. Pattern: [\w+=,.@-]+Required: Yes 
Request Body
The request accepts the following data in JSON format.
- policyDocument
- 
               The JSON document that describes the policy. policyDocument must have a minimum length of 1, with a maximum length of 2048, excluding whitespace. Type: String Length Constraints: Minimum length of 0. Maximum length of 404600. Pattern: [\s\S]*Required: Yes 
- 
               Metadata which can be used to manage the policy. NoteFor URI Request parameters use format: ...key1=value1&key2=value2... For the CLI command-line parameter use format: &&tags "key1=value1&key2=value2..." For the cli-input-json file use format: "tags": "key1=value1&key2=value2..." Type: Array of Tag objects Required: No 
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
   "policyArn": "string",
   "policyDocument": "string",
   "policyName": "string",
   "policyVersionId": "string"
}Response Elements
If the action is successful, the service sends back an HTTP 200 response.
The following data is returned in JSON format by the service.
- policyArn
- 
               The policy ARN. Type: String 
- policyDocument
- 
               The JSON document that describes the policy. Type: String Length Constraints: Minimum length of 0. Maximum length of 404600. Pattern: [\s\S]*
- policyName
- 
               The policy name. Type: String Length Constraints: Minimum length of 1. Maximum length of 128. Pattern: [\w+=,.@-]+
- policyVersionId
- 
               The policy version ID. Type: String Pattern: [0-9]+
Errors
- InternalFailureException
- 
               An unexpected error has occurred. - message
- 
                        The message for the exception. 
 HTTP Status Code: 500 
- InvalidRequestException
- 
               The request is not valid. - message
- 
                        The message for the exception. 
 HTTP Status Code: 400 
- MalformedPolicyException
- 
               The policy documentation is not valid. - message
- 
                        The message for the exception. 
 HTTP Status Code: 400 
- ResourceAlreadyExistsException
- 
               The resource already exists. - message
- 
                        The message for the exception. 
- resourceArn
- 
                        The ARN of the resource that caused the exception. 
- resourceId
- 
                        The ID of the resource that caused the exception. 
 HTTP Status Code: 409 
- ServiceUnavailableException
- 
               The service is temporarily unavailable. - message
- 
                        The message for the exception. 
 HTTP Status Code: 503 
- ThrottlingException
- 
               The rate exceeds the limit. - message
- 
                        The message for the exception. 
 HTTP Status Code: 400 
- UnauthorizedException
- 
               You are not authorized to perform this operation. - message
- 
                        The message for the exception. 
 HTTP Status Code: 401 
See Also
For more information about using this API in one of the language-specific Amazon SDKs, see the following: