Yandex Cloud
Search
Contact UsGet started
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
  • All Services
  • System Status
    • Featured
    • Infrastructure & Network
    • Data Platform
    • Containers
    • Developer tools
    • Serverless
    • Security
    • Monitoring & Resources
    • AI for business
    • Business tools
  • All Solutions
    • By industry
    • By use case
    • Economics and Pricing
    • Security
    • Technical Support
    • Start testing with double trial credits
    • Cloud credits to scale your IT product
    • Gateway to Russia
    • Cloud for Startups
    • Center for Technologies and Society
    • Yandex Cloud Partner program
  • Pricing
  • Customer Stories
  • Documentation
  • Blog
© 2025 Direct Cursus Technology L.L.C.
Yandex Data Streams
  • Access management
  • Pricing policy
    • Overview
    • All methods
      • CreateStream
      • DecreaseStreamRetentionPeriod
      • DeleteStream
      • DescribeStream
      • IncreaseStreamRetentionPeriod
      • GetRecords
      • GetShardIterator
      • ListStreams
      • PutRecord
      • PutRecords
      • UpdateShardCount
    • Common errors
    • Examples
  • FAQ

In this article:

  • Request
  • Request options
  • Response
  • Response parameters
  • Errors
  1. HTTP API compatible with Amazon Kinesis Data Streams
  2. Methods
  3. PutRecord

PutRecord

Written by
Yandex Cloud
Updated at August 15, 2025
  • Request
    • Request options
  • Response
    • Response parameters
  • Errors

Puts one record into a data stream.

The request must include the stream name, the partition key and an object containing the user data in Base64 encoding.

Returns the ID of the shard where the record was stored and the record’s sequence number.

The system writes messages to the stream shard strictly in the order they are sent.

RequestRequest

The request contains JSON-formatted data.

{
  "Data": blob,
  "ExplicitHashKey": "string",
  "PartitionKey": "string",
  "SequenceNumberForOrdering": "string",
  "StreamName": "string"
}

Request optionsRequest options

Option Description
Data User data.

Type: Binary, Base64-encoded
Size: 0-1048576 bytes of Base64-encoded data
Required: Yes
ExplicitHashKey Partition key hash.
Using the PartitionKey hash to assign records to shards may result in uneven record distribution across shards. Use this option to explicitly specify the target shard for message storage.

Type: String
Allowed values: 0|([1-9]\d{0.38})
Required: No
PartitionKey Partition key.
Determines the target stream shard for record storage

Type: String
Size: 1-256 characters.
Required: Yes
StreamName Data stream name.

Type: String
Size: 1-128 characters.
The possible values are: [a-zA-Z][a-zA-Z0-9-]+*(?<!-)$
Required: Yes

ResponseResponse

Successful requests return HTTP 200 with a JSON-formatted response body.

{
  "EncryptionType": "string",
  "SequenceNumber": "string",
  "ShardId": "string"
}

Response parametersResponse parameters

Parameter Description
EncryptionType Encryption type.

Type: String
Allowed values: NONE
Required: Yes
SequenceNumber Record sequence number.

Type: String
Allowed values: 0|([1-9]\d{0.128})
Required: Yes
ShardId The ID of the target shard for the record storage.

Type: String
Size: 1-128 characters.
The possible values are: [a-zA-Z0-9_.-]+
Required: Yes

ErrorsErrors

Error Description HTTP code
InvalidArgumentException The argument is invalid. See the error message for details. 400
ProvisionedThroughputExceededException Insufficient throughput to process the request. 400
ResourceNotFoundException The requested resource was not found. 400

Errors common to all methods may occur.

Was the article helpful?

Previous
ListStreams
Next
PutRecords
© 2025 Direct Cursus Technology L.L.C.