naftiko: 1.0.0-alpha2 info: label: Amazon Kinesis Firehose description: 'Amazon Kinesis Firehose. 12 operations. Lead operation: Amazon Kinesis Firehose. Self-contained Naftiko capability covering one Kinesis business surface.' tags: - Kinesis - Amazon Kinesis Firehose created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: KINESIS_API_KEY: KINESIS_API_KEY capability: consumes: - type: http namespace: amazon-data-firehose baseUri: http://firehose.{region}.amazonaws.com description: Amazon Kinesis Firehose business capability. Self-contained, no shared references. resources: - name: '#X-Amz-Target=Firehose_20150804.CreateDeliveryStream' path: /#X-Amz-Target=Firehose_20150804.CreateDeliveryStream operations: - name: createdeliverystream method: POST description:

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the del outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.DeleteDeliveryStream' path: /#X-Amz-Target=Firehose_20150804.DeleteDeliveryStream operations: - name: deletedeliverystream method: POST description: '

Deletes a delivery stream and its data.

To check the state of a delivery stream, use DescribeDeliveryStream. You can delete a delivery stream only if it is in one of the following states: ACTIVE, DELETING' outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.DescribeDeliveryStream' path: /#X-Amz-Target=Firehose_20150804.DescribeDeliveryStream operations: - name: describedeliverystream method: POST description:

Describes the specified delivery stream and its status. For example, after your delivery stream is created, call DescribeDeliveryStream to see whether the delivery stream is ACTIVE and therefore ready for data t outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.ListDeliveryStreams' path: /#X-Amz-Target=Firehose_20150804.ListDeliveryStreams operations: - name: listdeliverystreams method: POST description:

Lists your delivery streams in alphabetical order of their names.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams re outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.ListTagsForDeliveryStream' path: /#X-Amz-Target=Firehose_20150804.ListTagsForDeliveryStream operations: - name: listtagsfordeliverystream method: POST description: Lists the tags for the specified delivery stream. This operation has a limit of five transactions per second per account. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.PutRecord' path: /#X-Amz-Target=Firehose_20150804.PutRecord operations: - name: putrecord method: POST description:

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.PutRecordBatch' path: /#X-Amz-Target=Firehose_20150804.PutRecordBatch operations: - name: putrecordbatch method: POST description:

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applicati outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.StartDeliveryStreamEncryption' path: /#X-Amz-Target=Firehose_20150804.StartDeliveryStreamEncryption operations: - name: startdeliverystreamencryption method: POST description:

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to ENABLINGDisables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to DISABLINGAdds or updates tags for the specified delivery stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that yo outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.UntagDeliveryStream' path: /#X-Amz-Target=Firehose_20150804.UntagDeliveryStream operations: - name: untagdeliverystream method: POST description:

Removes tags from the specified delivery stream. Removed tags are deleted, and you can't recover them after this operation successfully completes.

If you specify a tag that doesn't exist, the operation ignores it.

This oper outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true - name: '#X-Amz-Target=Firehose_20150804.UpdateDestination' path: /#X-Amz-Target=Firehose_20150804.UpdateDestination operations: - name: updatedestination method: POST description:

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated wit outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Amz-Target in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: Authorization value: '{{env.KINESIS_API_KEY}}' placement: header exposes: - type: rest namespace: amazon-data-firehose-rest port: 8080 description: REST adapter for Amazon Kinesis Firehose. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/x-amz-target-firehose-20150804-createdeliverystream name: x-amz-target-firehose-20150804-createdeliverystream description: 'REST surface for #X-Amz-Target=Firehose_20150804.CreateDeliveryStream.' operations: - method: POST name: createdeliverystream description:

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the del call: amazon-data-firehose.createdeliverystream with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-deletedeliverystream name: x-amz-target-firehose-20150804-deletedeliverystream description: 'REST surface for #X-Amz-Target=Firehose_20150804.DeleteDeliveryStream.' operations: - method: POST name: deletedeliverystream description: '

Deletes a delivery stream and its data.

To check the state of a delivery stream, use DescribeDeliveryStream. You can delete a delivery stream only if it is in one of the following states: ACTIVE, DELETING' call: amazon-data-firehose.deletedeliverystream with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-describedeliverystream name: x-amz-target-firehose-20150804-describedeliverystream description: 'REST surface for #X-Amz-Target=Firehose_20150804.DescribeDeliveryStream.' operations: - method: POST name: describedeliverystream description:

Describes the specified delivery stream and its status. For example, after your delivery stream is created, call DescribeDeliveryStream to see whether the delivery stream is ACTIVE and therefore ready for data t call: amazon-data-firehose.describedeliverystream with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-listdeliverystreams name: x-amz-target-firehose-20150804-listdeliverystreams description: 'REST surface for #X-Amz-Target=Firehose_20150804.ListDeliveryStreams.' operations: - method: POST name: listdeliverystreams description:

Lists your delivery streams in alphabetical order of their names.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams re call: amazon-data-firehose.listdeliverystreams with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-listtagsfordeliverystream name: x-amz-target-firehose-20150804-listtagsfordeliverystream description: 'REST surface for #X-Amz-Target=Firehose_20150804.ListTagsForDeliveryStream.' operations: - method: POST name: listtagsfordeliverystream description: Lists the tags for the specified delivery stream. This operation has a limit of five transactions per second per account. call: amazon-data-firehose.listtagsfordeliverystream with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-putrecord name: x-amz-target-firehose-20150804-putrecord description: 'REST surface for #X-Amz-Target=Firehose_20150804.PutRecord.' operations: - method: POST name: putrecord description:

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

call: amazon-data-firehose.putrecord with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-putrecordbatch name: x-amz-target-firehose-20150804-putrecordbatch description: 'REST surface for #X-Amz-Target=Firehose_20150804.PutRecordBatch.' operations: - method: POST name: putrecordbatch description:

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applicati call: amazon-data-firehose.putrecordbatch with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-startdeliverystreamencryption name: x-amz-target-firehose-20150804-startdeliverystreamencryption description: 'REST surface for #X-Amz-Target=Firehose_20150804.StartDeliveryStreamEncryption.' operations: - method: POST name: startdeliverystreamencryption description:

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to ENABLINGDisables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to DISABLINGAdds or updates tags for the specified delivery stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that yo call: amazon-data-firehose.tagdeliverystream with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-untagdeliverystream name: x-amz-target-firehose-20150804-untagdeliverystream description: 'REST surface for #X-Amz-Target=Firehose_20150804.UntagDeliveryStream.' operations: - method: POST name: untagdeliverystream description:

Removes tags from the specified delivery stream. Removed tags are deleted, and you can't recover them after this operation successfully completes.

If you specify a tag that doesn't exist, the operation ignores it.

This oper call: amazon-data-firehose.untagdeliverystream with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - path: /v1/x-amz-target-firehose-20150804-updatedestination name: x-amz-target-firehose-20150804-updatedestination description: 'REST surface for #X-Amz-Target=Firehose_20150804.UpdateDestination.' operations: - method: POST name: updatedestination description:

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated wit call: amazon-data-firehose.updatedestination with: X-Amz-Target: rest.X-Amz-Target body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: amazon-data-firehose-mcp port: 9090 transport: http description: MCP adapter for Amazon Kinesis Firehose. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: p-creates-kinesis-data-firehose-delivery description:

Creates a Kinesis Data Firehose delivery stream.

By default, you can create up to 50 delivery streams per Amazon Web Services Region.

This is an asynchronous operation that immediately returns. The initial status of the del hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.createdeliverystream with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: p-deletes-delivery-stream-and-its description: '

Deletes a delivery stream and its data.

To check the state of a delivery stream, use DescribeDeliveryStream. You can delete a delivery stream only if it is in one of the following states: ACTIVE, DELETING' hints: readOnly: true destructive: false idempotent: false call: amazon-data-firehose.deletedeliverystream with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: p-describes-specified-delivery-stream-and description:

Describes the specified delivery stream and its status. For example, after your delivery stream is created, call DescribeDeliveryStream to see whether the delivery stream is ACTIVE and therefore ready for data t hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.describedeliverystream with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: p-lists-your-delivery-streams-alphabetical description:

Lists your delivery streams in alphabetical order of their names.

The number of delivery streams might be too large to return using a single call to ListDeliveryStreams. You can limit the number of delivery streams re hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.listdeliverystreams with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: lists-tags-specified-delivery-stream description: Lists the tags for the specified delivery stream. This operation has a limit of five transactions per second per account. hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.listtagsfordeliverystream with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: p-writes-single-data-record-amazon description:

Writes a single data record into an Amazon Kinesis Data Firehose delivery stream. To write multiple data records into a delivery stream, use PutRecordBatch. Applications using these operations are referred to as producers.

hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.putrecord with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: p-writes-multiple-data-records-delivery description:

Writes multiple data records into a delivery stream in a single call, which can achieve higher throughput per producer than when writing single records. To write single data records into a delivery stream, use PutRecord. Applicati hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.putrecordbatch with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: p-enables-server-side-encryption-sse description:

Enables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to ENABLINGDisables server-side encryption (SSE) for the delivery stream.

This operation is asynchronous. It returns immediately. When you invoke it, Kinesis Data Firehose first sets the encryption status of the stream to DISABLINGAdds or updates tags for the specified delivery stream. A tag is a key-value pair that you can define and assign to Amazon Web Services resources. If you specify a tag that already exists, the tag value is replaced with the value that yo hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.tagdeliverystream with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: p-removes-tags-specified-delivery-stream description:

Removes tags from the specified delivery stream. Removed tags are deleted, and you can't recover them after this operation successfully completes.

If you specify a tag that doesn't exist, the operation ignores it.

This oper hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.untagdeliverystream with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $. - name: p-updates-specified-destination-specified-delivery description:

Updates the specified destination of the specified delivery stream.

Use this operation to change the destination type (for example, to replace the Amazon S3 destination with Amazon Redshift) or change the parameters associated wit hints: readOnly: false destructive: false idempotent: false call: amazon-data-firehose.updatedestination with: X-Amz-Target: tools.X-Amz-Target body: tools.body outputParameters: - type: object mapping: $.