CreateKey
Creates an API key resource in your AWS account, which lets you grant actions for Amazon Location resources to the API key bearer.
Note
For more information, see Using API keys.
Request Syntax
POST /metadata/v0/keys HTTP/1.1
Content-type: application/json
{
"Description": "string
",
"ExpireTime": "string
",
"KeyName": "string
",
"NoExpiry": boolean
,
"Restrictions": {
"AllowActions": [ "string
" ],
"AllowReferers": [ "string
" ],
"AllowResources": [ "string
" ]
},
"Tags": {
"string
" : "string
"
}
}
URI Request Parameters
The request does not use any URI parameters.
Request Body
The request accepts the following data in JSON format.
- Description
-
An optional description for the API key resource.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1000.
Required: No
- ExpireTime
-
The optional timestamp for when the API key resource will expire in ISO 8601
format: YYYY-MM-DDThh:mm:ss.sssZ
. One ofNoExpiry
orExpireTime
must be set.Type: Timestamp
Required: No
- KeyName
-
A custom name for the API key resource.
Requirements:
-
Contain only alphanumeric characters (A–Z, a–z, 0–9), hyphens (-), periods (.), and underscores (_).
-
Must be a unique API key name.
-
No spaces allowed. For example,
ExampleAPIKey
.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
[-._\w]+
Required: Yes
-
- NoExpiry
-
Optionally set to
true
to set no expiration time for the API key. One ofNoExpiry
orExpireTime
must be set.Type: Boolean
Required: No
- Restrictions
-
The API key restrictions for the API key resource.
Type: ApiKeyRestrictions object
Required: Yes
- Tags
-
Applies one or more tags to the map resource. A tag is a key-value pair that helps manage, identify, search, and filter your resources by labelling them.
Format:
"key" : "value"
Restrictions:
-
Maximum 50 tags per resource
-
Each resource tag must be unique with a maximum of one value.
-
Maximum key length: 128 Unicode characters in UTF-8
-
Maximum value length: 256 Unicode characters in UTF-8
-
Can use alphanumeric characters (A–Z, a–z, 0–9), and the following characters: + - = . _ : / @.
-
Cannot use "aws:" as a prefix for a key.
Type: String to string map
Map Entries: Minimum number of 0 items. Maximum number of 50 items.
Key Length Constraints: Minimum length of 1. Maximum length of 128.
Key Pattern:
([\p{L}\p{Z}\p{N}_.,:/=+\-@]*)
Value Length Constraints: Minimum length of 0. Maximum length of 256.
Value Pattern:
([\p{L}\p{Z}\p{N}_.,:/=+\-@]*)
Required: No
-
Response Syntax
HTTP/1.1 200
Content-type: application/json
{
"CreateTime": "string",
"Key": "string",
"KeyArn": "string",
"KeyName": "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.
- CreateTime
-
The timestamp for when the API key resource was created in ISO 8601
format: YYYY-MM-DDThh:mm:ss.sssZ
.Type: Timestamp
- Key
-
The key value/string of an API key. This value is used when making API calls to authorize the call. For example, see GetMapGlyphs.
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1000.
- KeyArn
-
The Amazon Resource Name (ARN) for the API key resource. Used when you need to specify a resource across all AWS.
-
Format example:
arn:aws:geo:region:account-id:key/ExampleKey
Type: String
Length Constraints: Minimum length of 0. Maximum length of 1600.
Pattern:
arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?
-
- KeyName
-
The name of the API key resource.
Type: String
Length Constraints: Minimum length of 1. Maximum length of 100.
Pattern:
[-._\w]+
Errors
For information about the errors that are common to all actions, see Common Errors.
- AccessDeniedException
-
The request was denied because of insufficient access or permissions. Check with an administrator to verify your permissions.
HTTP Status Code: 403
- ConflictException
-
The request was unsuccessful because of a conflict.
HTTP Status Code: 409
- InternalServerException
-
The request has failed to process because of an unknown server error, exception, or failure.
HTTP Status Code: 500
- ServiceQuotaExceededException
-
The operation was denied because the request would exceed the maximum quota set for Amazon Location Service.
HTTP Status Code: 402
- ThrottlingException
-
The request was denied because of request throttling.
HTTP Status Code: 429
- ValidationException
-
The input failed to meet the constraints specified by the AWS service.
HTTP Status Code: 400
See Also
For more information about using this API in one of the language-specific AWS SDKs, see the following: