[Yandex Cloud documentation](../../../index.md) > [Yandex API Gateway](../../index.md) > [Concepts](../index.md) > [Specification extensions](index.md) > Integration options > Data Streams

# x-yc-apigateway-integration:cloud_datastreams extension

The `x-yc-apigateway-integration:cloud_datastreams` extension allows you to access Yandex Data Streams for operations with a [stream](../../../data-streams/concepts/glossary.md#stream-concepts). Currently, the only supported operation is [PutRecord](../../../data-streams/kinesisapi/methods/putrecord.md). 

You can add an extension to a specification using the [specification constructor](../../operations/spec-constructor/index.md).

## Supported parameters {#parameters}

The table below lists the parameters specific to API Gateway API gateways. You can find the description of other parameters in the [OpenAPI 3.0 specification](https://github.com/OAI/OpenAPI-Specification).

Parameter | Type | Description
----|----|----
`action` | `string` | Operation in progress. The possible value is `PutRecord`.
`stream_name` | `string` | Data Streams stream name.
`partition_key` | `string` | This is an optional setting. [Shard key](../../../data-streams/concepts/glossary.md#partition-key). If it is not specified, data will be written to a random segment. The parameters are subsituted into `partition_key`.
`payload_format_type` | `string` | This is an optional setting. It determines what is to be written. If the value is `body`, only the request body will be written to the stream. If the value is `request`, the whole [request](cloud-functions.md#request_v1) in JSON format will be written to the stream. The default value is `body`.
`service_account_id` | `string` | Service account ID. It is used for authorization when performing Data Streams stream operations. If you omit the parameter, the `service_account_id` [top-level parameter](index.md#top-level) value will be used.

## Extension specification {#spec}

Specification example:

```yaml
  /pets-stream/{petId}:
    post:
      x-yc-apigateway-integration:
        type: cloud_datastreams
        action: PutRecord
        stream_name: /ru-central1/b1v1emj927uv********/ett01h3uz7qm********/pets-stream
        partition_key: '{petId}'
        service_account_id: ajeqvh23fi2********
      parameters:
      - description: petId
        explode: false
        in: path
        name: petId
        required: true
        schema:
          type: string
        style: simple
```