---
title: "POST /ledgers/{name}/journal-kinesis-streams"
method: POST
path: "/ledgers/{name}/journal-kinesis-streams"
---

# POST /ledgers/{name}/journal-kinesis-streams

`POST /ledgers/{name}/journal-kinesis-streams`

Creates a journal stream for a given Amazon QLDB ledger. The stream captures every document revision that is committed to the ledger's journal and delivers the data to a specified Amazon Kinesis Data Streams resource.

## Path parameters

- `name` string, required

## Request body

- object
  - `RoleArn` string, required — <p>The Amazon Resource Name (ARN) of the IAM role that grants QLDB permissions for a journal stream to write data records to a Kinesis Data Streams resource.</p> <p>To pass a role to QLDB when requesting a journal stream, you must have permissions to perform the <code>iam:PassRole</code> action on the IAM role resource. This is required for all journal stream requests.</p>
  - `Tags` object — The key-value pairs to add as tags to the stream that you want to create. Tag keys are case sensitive. Tag values are case sensitive and can be null.
  - `InclusiveStartTime` string, date-time, required — <p>The inclusive start date and time from which to start streaming journal data. This parameter must be in <code>ISO 8601</code> date and time format and in Universal Coordinated Time (UTC). For example: <code>2019-06-13T21:36:34Z</code>.</p> <p>The <code>InclusiveStartTime</code> cannot be in the future and must be before <code>ExclusiveEndTime</code>.</p> <p>If you provide an <code>InclusiveStartTime</code> that is before the ledger's <code>CreationDateTime</code>, QLDB effectively defaults it to the ledger's <code>CreationDateTime</code>.</p>
  - `ExclusiveEndTime` string, date-time — <p>The exclusive date and time that specifies when the stream ends. If you don't define this parameter, the stream runs indefinitely until you cancel it.</p> <p>The <code>ExclusiveEndTime</code> must be in <code>ISO 8601</code> date and time format and in Universal Coordinated Time (UTC). For example: <code>2019-06-13T21:36:34Z</code>.</p>
  - `KinesisConfiguration` object, required — The configuration settings of the Amazon Kinesis Data Streams destination for an Amazon QLDB journal stream.
    - `StreamArn` string — The Amazon Resource Name (ARN) of the Kinesis Data Streams resource.
    - `AggregationEnabled` boolean — <p>Enables QLDB to publish multiple data records in a single Kinesis Data Streams record, increasing the number of records sent per API call.</p> <p> <i>This option is enabled by default.</i> Record aggregation has important implications for processing records and requires de-aggregation in your stream consumer. To learn more, see <a href="https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-concepts.html">KPL Key Concepts</a> and <a href="https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-consumer-deaggregation.html">Consumer De-aggregation</a> in the <i>Amazon Kinesis Data Streams Developer Guide</i>.</p>
  - `StreamName` string, required — <p>The name that you want to assign to the QLDB journal stream. User-defined names can help identify and indicate the purpose of a stream.</p> <p>Your stream name must be unique among other <i>active</i> streams for a given ledger. Stream names have the same naming constraints as ledger names, as defined in <a href="https://docs.aws.amazon.com/qldb/latest/developerguide/limits.html#limits.naming">Quotas in Amazon QLDB</a> in the <i>Amazon QLDB Developer Guide</i>.</p>

## Response `200`

Success

- StreamJournalToKinesisResponse
  - `StreamId` string — The UUID (represented in Base62-encoded text) that QLDB assigns to each QLDB journal stream.

## Other responses

- `480` — InvalidParameterException
- `481` — ResourceNotFoundException
- `482` — ResourcePreconditionNotMetException

---

[API](https://skmtc.net/aws/apis/qldb.md) · [All operations](https://skmtc.net/aws/apis/qldb/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/aws/qldb/versions/40f98f4993d2/schema)
