# ApiKeyProps

ApiKey Properties.

Extends: ApiKeyProps
Extends: ApiKeyOptions
Used as props by: ApiKey

- Source: [`aws-apigateway/lib/api-key.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-apigateway/lib/api-key.ts#L64)
- Type last changed: v2.46.0 · 13 Oct 2022

## Example

```ts
const stack = new Stack(app, 'my-stack', {
  propertyInjectors: [new ApiKeyPropsInjector()],
});
new api.ApiKey(stack, 'my-api-key', {});
```

## Properties

- `apiKeyName`: string — A name for the API key.

  **Default:** automically generated name

  If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the API key name.

- `customerId`: string = none — An AWS Marketplace customer identifier to use when integrating with the AWS SaaS Marketplace.

- `defaultCorsPreflightOptions`: [CorsOptions](/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.CorsOptions.html) — Adds a CORS preflight OPTIONS method to this resource and all child resources.

  **Default:** CORS is disabled

  You can add CORS at the resource-level using `addCorsPreflight`.

- `defaultIntegration`: [Integration](/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.Integration.html) — An integration to use as a default for all methods created within this API unless an integration is specified.

  **Default:** Inherited from parent.

- `defaultMethodOptions`: [MethodOptions](/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.MethodOptions.html) — Method options to use as a default for all methods created within this API unless custom options are specified.

  **Default:** Inherited from parent.

- `description`: string = none — A description of the purpose of the API key.

- `enabled`: boolean = true — Indicates whether the API key can be used by clients.

- `generateDistinctId`: boolean = false — Specifies whether the key identifier is distinct from the created API key value.

- `resources`: [IRestApi](/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IRestApi.html)[] = none — - use `stages` instead

- `stages`: [IStage](/cdk/api/v2/docs/aws-cdk-lib.aws_apigateway.IStage.html)[] — A list of Stages this api key is associated with.

  **Default:** the api key is not associated with any stages

- `value`: string = none — The value of the API key.

  Must be at least 20 characters long.
