CreateKey - Amazon Location Service

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 of NoExpiry or ExpireTime 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 of NoExpiry or ExpireTime 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: