# WebSocketIntegrationProps

The integration properties.

Extends: WebSocketIntegrationProps
Used as props by: WebSocketIntegration

- Source: [`aws-apigatewayv2/lib/websocket/integration.ts`](https://github.com/aws/aws-cdk/blob/v2.275.0/packages/aws-cdk-lib/aws-apigatewayv2/lib/websocket/integration.ts#L83)
- Type last changed: v2.235.0 · 15 Jan 2026

## Example

```ts
// The code below shows an example of how to instantiate this type.
// The values are placeholders you should change.
import * as cdk from 'aws-cdk-lib';
import { aws_apigatewayv2 as apigatewayv2 } from 'aws-cdk-lib';
import { aws_iam as iam } from 'aws-cdk-lib';

declare const role: iam.Role;
declare const webSocketApiRef: apigatewayv2.IWebSocketApiRef;
const webSocketIntegrationProps: apigatewayv2.WebSocketIntegrationProps = {
  integrationType: apigatewayv2.WebSocketIntegrationType.AWS_PROXY,
  integrationUri: 'integrationUri',
  webSocketApi: webSocketApiRef,

  // the properties below are optional
  contentHandling: apigatewayv2.ContentHandling.CONVERT_TO_BINARY,
  credentialsRole: role,
  integrationMethod: 'integrationMethod',
  passthroughBehavior: apigatewayv2.PassthroughBehavior.WHEN_NO_MATCH,
  requestParameters: {
    requestParametersKey: 'requestParameters',
  },
  requestTemplates: {
    requestTemplatesKey: 'requestTemplates',
  },
  templateSelectionExpression: 'templateSelectionExpression',
  timeout: cdk.Duration.minutes(30),
};
```

## Properties

- `contentHandling`: [ContentHandling](/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2.ContentHandling.html) — Specifies how to handle response payload content type conversions.

  **Default:** The response payload will be passed through from the integration response to the route response or method response without modification.

- `credentialsRole`: [IRole](/cdk/api/v2/docs/aws-cdk-lib.aws_iam.IRole.html) — Specifies the IAM role required for the integration.

  **Default:** No IAM role required.

- `integrationMethod`: string — Specifies the integration's HTTP method type.

  **Default:** No HTTP method required.

- `integrationType`: [WebSocketIntegrationType](/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2.WebSocketIntegrationType.html) (required) — Integration type.

- `integrationUri`: string (required) — Integration URI.

- `passthroughBehavior`: [PassthroughBehavior](/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2.PassthroughBehavior.html) — Specifies the pass-through behavior for incoming requests based on the Content-Type header in the request, and the available mapping templates specified as the requestTemplates property on the Integration resource.

  **Default:** No passthrough behavior required.

  There are three valid values: WHEN_NO_MATCH, WHEN_NO_TEMPLATES, and
  NEVER.

- `requestParameters`: { [key: string]: string } — The request parameters that API Gateway sends with the backend request.

  **Default:** No request parameters required.

  Specify request parameters as key-value pairs (string-to-string
  mappings), with a destination as the key and a source as the value.

- `requestTemplates`: { [key: string]: string } — A map of Apache Velocity templates that are applied on the request payload.

  **Default:** No request templates required.

  ```
    { "application/json": "{ \"statusCode\": 200 }" }
  ```

- `templateSelectionExpression`: string — The template selection expression for the integration.

  **Default:** No template selection expression required.

- `timeout`: [Duration](/cdk/api/v2/docs/aws-cdk-lib.Duration.html) = Duration.seconds(29) — The maximum amount of time an integration will run before it returns without a response.

  Must be between 50 milliseconds and 29 seconds.

- `webSocketApi`: [IWebSocketApiRef](/cdk/api/v2/docs/aws-cdk-lib.aws_apigatewayv2.IWebSocketApiRef.html) (required) — The WebSocket API to which this integration should be bound.
