> **Experimental**
>
> `@aws-cdk/aws-bedrock-agentcore-alpha` is an [**experimental**](/stability) (alpha) package: its API may change in any release, without a major version bump.
# ApiGatewayTargetConfiguration

Configuration for API Gateway-based MCP targets.

This configuration connects your gateway to an Amazon API Gateway REST API stage.
The gateway translates incoming MCP requests into HTTP requests to your REST API
and handles response formatting.

Key considerations:
- API must be in the same account and region as the gateway
- Only REST APIs are supported (no HTTP or WebSocket APIs)
- API must use a public endpoint type
- Methods with both AWS_IAM authorization and API key requirements are not supported
- Proxy resources (e.g., `/pets/{proxy+}`) are not supported

Extends: McpTargetConfiguration › ApiGatewayTargetConfiguration
Implements: ITargetConfiguration

- Source: [`lib/gateway/targets/target-configuration.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0-alpha.0/packages/@aws-cdk/aws-bedrock-agentcore-alpha/lib/gateway/targets/target-configuration.ts#L618)

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as bedrock_agentcore_alpha from '@aws-cdk/aws-bedrock-agentcore-alpha';
import { aws_apigateway as apigateway } from 'aws-cdk-lib';

declare const restApi: apigateway.RestApi;
const apiGatewayTargetConfiguration = new bedrock_agentcore_alpha.ApiGatewayTargetConfiguration({
  apiGatewayToolConfiguration: {
    toolFilters: [{
      filterPath: 'filterPath',
      methods: [bedrock_agentcore_alpha.ApiGatewayHttpMethod.GET],
    }],

    // the properties below are optional
    toolOverrides: [{
      method: bedrock_agentcore_alpha.ApiGatewayHttpMethod.GET,
      name: 'name',
      path: 'path',

      // the properties below are optional
      description: 'description',
    }],
  },
  restApi: restApi,

  // the properties below are optional
  metadataConfiguration: {
    allowedQueryParameters: ['allowedQueryParameters'],
    allowedRequestHeaders: ['allowedRequestHeaders'],
    allowedResponseHeaders: ['allowedResponseHeaders'],
  },
  stage: 'stage',
});
```

## Initializer

```ts
new ApiGatewayTargetConfiguration(props: ApiGatewayTargetConfigurationProps)
```

## Properties

- `apiGatewayToolConfiguration`: [ApiGatewayToolConfiguration](/cdk/api/v2/docs/@aws-cdk_aws-bedrock-agentcore-alpha.ApiGatewayToolConfiguration.html) — Tool configuration for the API Gateway target.

- `metadataConfiguration`: [MetadataConfiguration](/cdk/api/v2/docs/@aws-cdk_aws-bedrock-agentcore-alpha.MetadataConfiguration.html) — Metadata configuration for the API Gateway target.

- `restApiId`: string — The ID of the REST API.

- `stage`: string — The stage name of the REST API.

- `targetType`: [McpTargetType](/cdk/api/v2/docs/@aws-cdk_aws-bedrock-agentcore-alpha.McpTargetType.html) — The target type.

## Methods

- `bind(_scope: Construct, gateway: IGateway): TargetConfigurationConfig` — Binds this configuration to a construct scope Sets up necessary permissions for the gateway to access the API Gateway.

  **Parameters**

  - `_scope` — The construct scope.
  - `gateway` — The gateway that will use this target.

- `create(props: ApiGatewayTargetConfigurationProps): ApiGatewayTargetConfiguration // chainable` (static) — Create an API Gateway target configuration.

  **Parameters**

  - `props` — The configuration properties.

  **Returns:** A new ApiGatewayTargetConfiguration instance
