---
schema_version: "1"
id: 1f4bb1a52a5d4a7e21c9344c63ff6d5b542003bae0ce42f01b273b489cbbbf59
title: APIkit for AsyncAPI Module Reference
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/apikit/latest/apikit-asyncapi-module-reference.md
canonical_url: https://docs.mulesoft.com/apikit/latest/apikit-asyncapi-module-reference
source_site: docs.mulesoft.com
content_type: documentation
content_hash: 494b804660ece43597f58cf580288e5832652b6b2e53629c3e4bb75eadd69bd6
description: MuleSoft Documentation Site
release: 4.x
latest: true
---
---
product: APIkit
version: 4.x
is-latest-version: true
---

# APIkit for AsyncAPI Module Reference

> For the full documentation index, see: https://docs.mulesoft.com/llms.txt

Integrate AsyncAPI specifications into Mule with the APIkit for AsyncAPI module: add the Maven
dependency, declare the module namespace, and apply the XML schema when you configure generated
scaffolding. This reference documents coordinates, namespaces, schema locations, and configuration
elements you use to implement event-driven APIs.

## Dependencies

<dependency>
  <groupId>org.mule.modules</groupId>
  <artifactId>mule-asynckit-module</artifactId>
  <version>LATEST\_VERSION</version> **(1)**
  <classifier>mule-plugin</classifier>
</dependency>

<table><tbody><tr><td><i data-value="1"></i><b>1</b></td><td>Check the <a href="https://docs.mulesoft.com/apikit/latest/apikit-release-notes">APIkit Release Notes</a> to get the <strong>LATEST_VERSION</strong>.</td></tr></tbody></table>

## Namespace and Schema

xmlns:apikit-asyncapi="http://www.mulesoft.org/schema/mule/apikit-asyncapi"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/apikit-asyncapi
http://www.mulesoft.org/schema/mule/apikit-asyncapi/current/mule-apikit-asyncapi.xsd">

## Configurations

### Config

Default configuration

#### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Name</code></p></td><td><p>String</p></td><td><p>Name for this configuration. Connectors reference the configuration with this name.</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Api Definition</code></p></td><td><p>String</p></td><td><p>API definition.</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Disable Content Validation</code></p></td><td><p>Boolean</p></td><td><p>Disable payload content validation.</p></td><td><p><code>false</code></p></td><td><p>No</p></td></tr><tr><td><p><code>Kafka Configs</code></p></td><td><p>Array of <a href="#KafkaConfig">Kafka Config</a></p></td><td><p>List of Kafka server configurations. One for each Kafka server listed in the specification that is scaffolded to create the app.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Anypoint MQ Configs</code></p></td><td><p>Array of <a href="#AnypointMqConfig">Anypoint MQ Config</a></p></td><td><p>List of AMQ configurations.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Solace Configs</code></p></td><td><p>Array of <a href="#SolaceConfig">Solace Config</a></p></td><td><p>List of Solace configurations.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Salesforce Pub/Sub Configs</code></p></td><td><p>Array of <a href="#SalesforcePubSubConfig">Salesforce Pub/Sub Connector Config</a></p></td><td><p>List of SalesforcePubSub configurations.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Name</code></p></td><td><p>String</p></td><td><p>Identifier of this element used to reference it in other components.</p></td><td><p>None</p></td><td><p>Yes</p></td></tr></tbody></table>

### Supported Message Brokers

<table><colgroup><col> <col> <col> <col></colgroup><thead><tr><th>Message Broker</th><th>Description</th><th>Supported Protocols</th><th>Configuration Details</th></tr></thead><tbody><tr><td><p>Anypoint MQ</p></td><td><p>Supports asynchronous messaging with Anypoint MQ.</p></td><td><p>anypointmq</p></td><td><p>Anypoint MQ configurations are specified in the server object of the AsyncAPI specification. Supports <strong>Message Listener</strong> for consuming messages from channels declared in AsyncAPI <code>subscribe</code> operations.</p></td></tr><tr><td><p>Kafka</p></td><td><p>Supports asynchronous messaging with Apache Kafka.</p></td><td><p>kafka, kafka-secure</p></td><td><p>Kafka configurations are specified in the server object of the AsyncAPI specification. Supports <strong>Message Listener</strong> for consuming messages from channels declared in AsyncAPI <code>subscribe</code> operations.</p></td></tr><tr><td><p>Salesforce platform events</p></td><td><p>Allows implementing an Async API specification using Anypoint Connector for Salesforce Pub/Sub (Salesforce Pub/Sub Connector).</p></td><td><p>salesforcepubsub*</p></td><td><p>Connection details are available in the properties file. Supports <strong>Message Listener</strong> for <code>subscribe</code> operations and <strong>Publish</strong> for <code>publish</code> operations.</p><p>In the <strong>Message Listener</strong> operation, the AsyncAPI spec <code>defaultContentType</code> must be application/JSON.</p><p>In the <strong>Publish</strong> operation, the payload must be JSON. The APIkit for AsyncAPI module transforms the JSON payload to the array-of-objects type.</p></td></tr><tr><td><p>Solace Pub/Sub+</p></td><td><p>Supports the implementation of an Async API specification using Solace PubSub+ Connector.</p></td><td><p>solace</p></td><td><p>Connection details are available in the properties file. Supports <strong>Message Listener</strong> for <code>subscribe</code> operations and <strong>Publish</strong> for <code>publish</code> operations.</p></td></tr></tbody></table>

\* You must use Anypoint Connector for Salesforce Pub/Sub Connector 1.0.15 or later.

### Configuration Details by Operation

APIkit for AsyncAPI supports two runtime operations in Mule flows: **Message Listener** and
**Publish**. In AsyncAPI semantics, `subscribe` channels map to the **Message Listener** source, and
`publish` channels map to the **Publish** operation.

#### Message Listener

Use **Message Listener** (`<apikit-asyncapi:message-listener>`) to consume events from AsyncAPI
channels, trigger flow execution, and validate incoming payloads against the channel message schema.

These message brokers are available for the **Message Listener** operation:

- Anypoint MQ

- Kafka

- Salesforce Pub/Sub

- Solace PubSub+

##### Configuration Options

Core listener parameters:

<table><colgroup><col> <col></colgroup><thead><tr><th>Parameter</th><th>Description</th></tr></thead><tbody><tr><td><p><code>Configuration</code> (<code>config-ref</code>)</p></td><td><p>Reference to the APIkit for AsyncAPI configuration</p></td></tr><tr><td><p><code>Channel Name</code></p></td><td><p>AsyncAPI channel to consume</p></td></tr><tr><td><p><code>Servers</code></p></td><td><p>Optional list of server names to listen to</p></td></tr><tr><td><p><code>Disable Content Validation</code></p></td><td><p>Disables payload validation against the AsyncAPI schema</p></td></tr><tr><td><p><code>Output MIME Type</code> and <code>Output Encoding</code></p></td><td><p>Optional output format controls</p></td></tr><tr><td><p><code>Primary Node Only</code></p></td><td><p>Runs only on the primary node in a cluster</p></td></tr><tr><td><p><code>Streaming Strategy</code></p></td><td><p><code>repeatable-in-memory-stream</code>, <code>repeatable-file-store-stream</code>, or <code>non-repeatable-stream</code></p></td></tr><tr><td><p><code>Redelivery Policy</code></p></td><td><p>Redelivery behavior for failed processing</p></td></tr></tbody></table>

Broker-specific configuration in `Config`:

<table><colgroup><col> <col></colgroup><thead><tr><th>Broker</th><th>Configuration details</th></tr></thead><tbody><tr><td><p>Anypoint MQ</p></td><td><p>Configure <code>Anypoint MQ Configs</code> with <code>Server Key</code> and optional <code>Config Ref</code></p></td></tr><tr><td><p>Kafka</p></td><td><p>Configure <code>Kafka Configs</code> with <code>Server Key</code>, optional <code>Producer Config Ref</code>, and optional <code>Consumer Config Ref</code></p></td></tr><tr><td><p>Salesforce Pub/Sub</p></td><td><p>Configure <code>Salesforce Pub/Sub Configs</code> with <code>Server Key</code> and optional <code>Config Ref</code></p></td></tr><tr><td><p>Solace PubSub+</p></td><td><p>Configure <code>Solace Configs</code> with <code>Server Key</code> and optional <code>Config Ref</code></p></td></tr></tbody></table>

#### Publish

Use **Publish** (`<apikit-asyncapi:publish>`) to send events to AsyncAPI channels defined for
publishing. The operation validates outgoing payloads when validation is enabled.

These message brokers are available for the **Publish** operation:

- Salesforce Pub/Sub

- Solace PubSub+

##### Configuration Options

Core publish parameters:

<table><colgroup><col> <col></colgroup><thead><tr><th>Parameter</th><th>Description</th></tr></thead><tbody><tr><td><p><code>Configuration</code> (<code>config-ref</code>)</p></td><td><p>Reference to the APIkit for AsyncAPI configuration</p></td></tr><tr><td><p><code>Channel Name</code></p></td><td><p>AsyncAPI channel to publish to</p></td></tr><tr><td><p><code>Server Name</code></p></td><td><p>Server alias from the AsyncAPI spec</p></td></tr><tr><td><p><code>Content</code></p></td><td><p>Payload to publish (<code>#[payload]</code> by default)</p></td></tr><tr><td><p><code>Disable Content Validation</code></p></td><td><p>Disables payload validation against the AsyncAPI schema</p></td></tr><tr><td><p><code>Target Variable</code> and <code>Target Value</code></p></td><td><p>Optional output capture</p></td></tr><tr><td><p><code>Error Mappings</code></p></td><td><p>Optional mapping of operation errors</p></td></tr></tbody></table>

Broker-specific configuration in `Config`:

<table><colgroup><col> <col></colgroup><thead><tr><th>Broker</th><th>Configuration details</th></tr></thead><tbody><tr><td><p>Salesforce Pub/Sub</p></td><td><p>Configure <code>Salesforce Pub/Sub Configs</code> with <code>Server Key</code> and optional <code>Config Ref</code></p></td></tr><tr><td><p>Solace PubSub+</p></td><td><p>Configure <code>Solace Configs</code> with <code>Server Key</code> and optional <code>Config Ref</code></p></td></tr></tbody></table>

#### Associated Operations

- [Publish](#Publish)

#### Associated Sources

- [Message Listener](#MessageListener)

## Validation of Messages

Unless explicitly restricted, the JSON schema validation allows omitting and adding fields. Check
the message validation against the schema in the following table:

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Schema Definition</th><th>Message</th><th>Valid</th></tr></thead><tbody><tr><td><p>{ A: integer, B: string }</p></td><td><p>{A, B}</p></td><td><p>Yes</p></td></tr><tr><td><p>{ A: integer, B: string }</p></td><td><p>{C, D}</p></td><td><p>Yes</p></td></tr><tr><td><p>{ A: integer, B: string } required [A, B]</p></td><td><p>{C, D}</p></td><td><p>No</p></td></tr><tr><td><p>{ A: integer, B: string } required [A, B]</p></td><td><p>{A, B, C}</p></td><td><p>Yes</p></td></tr><tr><td><p>{ A: integer, B: string } required [A, B] <code>additionalProperties</code> = <code>false</code></p></td><td><p>{A, B, C}</p></td><td><p>No</p></td></tr><tr><td><p>{ A: integer, B: string } required [A, B] <code>additionalProperties</code> = <code>false</code></p></td><td><p>{A, B}</p></td><td><p>No</p></td></tr></tbody></table>

- The `required` field specifies the list of fields that are mandatory in the JSON object.

- The `additionalProperties` field specifies if you can include additional properties to the JSON
  object.

The schemas must specify `required` and `additionalProperties` in the API specification.

> [!NOTE] The field value is checked against the type specified in the schema as part of the
> validation.

If an operation has multiple message schemas associated in the specification, the validation adheres
to these principles:

- Messages are validated against every schema.

- If it’s compliant with at least one schema, the message is considered valid.

- If the message doesn’t adhere to at least one schema, the message is considered invalid.

### Example

<table><colgroup><col> <col> <col></colgroup><thead><tr><th>Schema Definition</th><th>Message</th><th>Valid</th></tr></thead><tbody><tr><td><p>{ A: integer, B: string } required [A, B] <code>additionalProperties</code> = <code>false</code> { C: integer, D: string } required [C, D] <code>additionalProperties</code> = <code>false</code></p></td><td><p>{A, B}</p></td><td><p>Yes</p></td></tr><tr><td><p>{ A: integer, B: string } required [A, B] <code>additionalProperties</code> = <code>false</code> { C: integer, D: string } required [C, D] <code>additionalProperties</code> = <code>false</code></p></td><td><p>{B, C}</p></td><td><p>No</p></td></tr><tr><td><p>{ A: integer, B: string } required [A, B] <code>additionalProperties</code> = <code>false</code> { C: integer, D: string } required [C, D] <code>additionalProperties</code> = <code>false</code></p></td><td><p>{A, B, C}</p></td><td><p>No</p></td></tr><tr><td><p>{ A: integer, B: string } required [A, B] <code>additionalProperties</code> = <code>false</code> { C: integer, D: string } required [C, D] <code>additionalProperties</code> = <code>false</code></p></td><td><p>{C, D}</p></td><td><p>Yes</p></td></tr></tbody></table>

## Operations

## Publish

`<apikit-asyncapi:publish>`

### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Configuration</code></p></td><td><p>String</p></td><td><p>Name of the configuration to use</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Content</code></p></td><td><p>Binary</p></td><td><p>The binary content to be processed</p></td><td><p>#[payload]</p></td><td><p>No</p></td></tr><tr><td><p><code>Disable Content Validation</code></p></td><td><p>Boolean</p></td><td><p>Indicates if validation of the content is disabled</p></td><td><p><code>False</code></p></td><td><p>No</p></td></tr><tr><td><p><code>Config Ref</code></p></td><td><p>ConfigurationProvider</p></td><td><p>Name of the configuration used to execute this component</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Channel Name</code></p></td><td><p>String</p></td><td><p>Channel name</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Server Name</code></p></td><td><p>String</p></td><td><p>Server name</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Target Variable</code></p></td><td><p>String</p></td><td><p>Name of a variable in which the operation output is placed</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Target Value</code></p></td><td><p>String</p></td><td><p>Expression that is evaluated against the operation output and the result of that expression is stored in the target variable</p></td><td><p>#[payload]</p></td><td><p>No</p></td></tr><tr><td><p><code>Error Mappings</code></p></td><td><p>Array of <a href="#ErrorMapping">Error Mapping</a></p></td><td><p>Set of error mappings</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

### Output

<table><colgroup><col> <col></colgroup><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><p><code>Type</code></p></td><td><p><a href="#PublishResponse">Publish Response</a></p></td></tr></tbody></table>

### For Configurations

- [Config](#Config)

### Throws

- APIKIT-ASYNCAPI:INTERNAL\_SERVER\_ERROR

- APIKIT-ASYNCAPI:PUBLISHING\_ERROR

- APIKIT-ASYNCAPI:VALIDATION\_ERROR

## Sources

## Message Listener

`<apikit-asyncapi:message-listener>`

### Parameters

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Name</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Configuration</code></p></td><td><p>String</p></td><td><p>Name of the configuration to use</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Disable Content Validation</code></p></td><td><p>Boolean</p></td><td><p>Disable payload content validation</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Channel Name</code></p></td><td><p>String</p></td><td><p>Channel name</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Servers</code></p></td><td><p>Array of String</p></td><td><p>List of servers to listen to</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Output MIME Type</code></p></td><td><p>String</p></td><td><p>MIME type of the payload that this operation generates</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Output Encoding</code></p></td><td><p>String</p></td><td><p>Encoding of the payload that this operation generates</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Primary Node Only</code></p></td><td><p>Boolean</p></td><td><p>Specifies if this source must be executed on the primary node when running in a cluster</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Config Ref</code></p></td><td><p>ConfigurationProvider</p></td><td><p>Name of the configuration used to execute this component</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p>Streaming Strategy</p></td><td><div><div><ul><li><p><a href="#RepeatableInMemoryStream">Repeatable In Memory Stream</a></p></li><li><p><a href="#RepeatableFileStoreStream">Repeatable File Store Stream</a></p></li><li><p>non-repeatable-stream</p></li></ul></div></div></td><td><p>Specify and configure repeatable streams</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Redelivery Policy</code></p></td><td><p><a href="#RedeliveryPolicy">Redelivery Policy</a></p></td><td><p>Policy for processing the redelivery of the same message</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

### Output

<table><colgroup><col> <col></colgroup><thead><tr><th>Field</th><th>Description</th></tr></thead><tbody><tr><td><p><code>Type</code></p></td><td><p>Any type</p></td></tr><tr><td><p><code>Attributes Type a</code></p></td><td><p>One of:</p><p>* <a href="#KafkaMessageAttributes">Kafka Message Attributes</a> * <a href="#AnypointMqMessageAttributes">Anypoint MQ Message Attributes</a> * <a href="#SolaceMessageAttributes">Solace Message Attributes</a> * <a href="#SalesforcePubSubAttributes">Salesforce Pub/Sub Attributes</a></p></td></tr></tbody></table>

### For Configurations

- [Config](#Config)

## Types

### Kafka Config

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Server Key</code></p></td><td><p>String</p></td><td><p>Identifier for the server configuration within the AsyncAPI configuration</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Producer Config Ref</code></p></td><td><p>String</p></td><td><p>Reference to the Kafka Producer configuration</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Consumer Config Ref</code></p></td><td><p>String</p></td><td><p>Reference to the Kafka Consumer configuration</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

> [!NOTE] The Server Key is required to uniquely identify the server configuration. The references
> for Producer and Consumer configurations are optional and depend on the specific setup and
> requirements of the Kafka implementation.

### Anypoint MQ Config

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Server Key</code></p></td><td><p>String</p></td><td><p>Identifier for the server configuration in AsyncAPI</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Config Ref</code></p></td><td><p>String</p></td><td><p>Reference to the Anypoint MQ configuration details</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

> [!NOTE] The Server Key is required to uniquely identify the server configuration. Config Ref is
> optional and used to specify additional configuration details.

### Solace Config

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Server Key</code></p></td><td><p>String</p></td><td><p>Server key set in the AsyncAPI spec</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Config Ref</code></p></td><td><p>String</p></td><td><p>Reference to the configuration name of the Solace connection</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

> [!NOTE] The Server Key is required to uniquely identify the server configuration. Config Ref is
> optional and used to specify additional configuration details.

### Limitations of Solace PubSub+ Connector

Solace PubSub+ Connector in APIkit for AsyncAPI has these limitations:

- The Solace PubSub+ Connector supports `queue` and `topic` for `destinations` in the **message
  listener** and **publish** operations. But the APIkit for AsyncAPI implementation only supports
  using `queue` as the value of `destination`.

- Only one operator of the same type must be mapped to the same `queue` of `destination`.

### Salesforce Pub/Sub Connector Config

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Server Key</code></p></td><td><p>String</p></td><td><p>Server key set in the AsyncAPI spec</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Config Ref</code></p></td><td><p>String</p></td><td><p>Reference to the name of the Salesforce Pub/Sub Connector configuration</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

> [!NOTE] The Server Key is required to uniquely identify the server configuration. Config Ref is
> optional and used to specify additional configuration details.

### Repeatable In Memory Stream

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Initial Buffer Size</code></p></td><td><p>Number</p></td><td><p>Amount of memory allocated to consume the stream and provide random access to it. If the stream data is larger than the buffer capacity, it expands according to the <code>bufferSizeIncrement</code> attribute, with an upper limit of <code>maxInMemorySize</code>.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p>Buffer Size Increment</p></td><td><p>Number</p></td><td><p>How much the buffer size expands if it exceeds its initial size. A value of zero or lower specifies that the buffer doesn’t expand. When the buffer is full, a <code>STREAM_MAXIMUM_SIZE_EXCEEDED</code> error occurs.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Max Buffer Size</code></p></td><td><p>Number</p></td><td><p>Maximum amount of memory used. If more is used, a <code>STREAM_MAXIMUM_SIZE_EXCEEDED</code> error is raised. A value lower or equal to zero means no limit.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p>Buffer Unit</p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>BYTE</p></li><li><p>KB</p></li><li><p>MB</p></li><li><p>GB</p></li></ul></div></div></td><td><p>These attributes are expressed in this unit.</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

### Repeatable File Store Stream

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>In Memory Size a</code></p></td><td><p>Number</p></td><td><p>Defines the maximum memory that the stream uses to keep data in memory. If it consumes more, the stream buffers the content on the disk.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p>Buffer Unit</p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>BYTE</p></li><li><p>KB</p></li><li><p>MB</p></li><li><p>GB</p></li></ul></div></div></td><td><p>The unit for expressing <code>maxInMemorySiz</code>.</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

### Redelivery Policy

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Max Redelivery Count</code></p></td><td><p>Number</p></td><td><p>Maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Message Digest Algorithm</code></p></td><td><p>String</p></td><td><p>Secure hashing algorithm</p></td><td><p>SHA-256</p></td><td><p>No</p></td></tr><tr><td><p><code>Message Identifier</code></p></td><td><p><a href="#RedeliveryPolicyMessageIdentifier">Redelivery Policy Message Identifier</a></p></td><td><p>Strategy used to identify the messages</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Object Store</code></p></td><td><p>ObjectStore</p></td><td><p>Object store where the redelivery counter for each message is stored</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

### Redelivery Policy Message Identifier

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Use Secure Hash</code></p></td><td><p>Boolean</p></td><td><p>Whether to use a secure hash algorithm to identify a redelivered message.</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Id Expression</code></p></td><td><p>String</p></td><td><p>Expression used to determine if a message has been redelivered. You can set this property if <code>useSecureHash</code> is <code>false</code>.</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

### Publish Response

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Response Data</code></p></td><td><p>Object</p></td><td><p>Data the server returns in response to a request</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>

### Error Mapping

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p>Source</p></td><td><div><div><p>Enumeration, one of:</p></div><div><ul><li><p>ANY</p></li><li><p>REDELIVERY_EXHAUSTED</p></li><li><p>TRANSFORMATION</p></li><li><p>EXPRESSION</p></li><li><p>SECURITY</p></li><li><p>CLIENT_SECURITY</p></li><li><p>SERVER_SECURITY</p></li><li><p>ROUTING</p></li><li><p>CONNECTIVITY</p></li><li><p>RETRY_EXHAUSTED</p></li><li><p>TIMEOUT</p></li></ul></div></div></td><td><p>Type of error encountered during the operation</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Target a</code></p></td><td><p>String</p></td><td><p>The specific component or module where the error needs to be addressed</p></td><td><p>None</p></td><td><p>Yes</p></td></tr></tbody></table>

### Kafka Message Attributes

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Channel Name</code></p></td><td><p>String</p></td><td><p>Name of the Kafka channel (topic) where the message is published or consumed</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Channel Parameters</code></p></td><td><p>Object</p></td><td><p>Additional parameters or settings specific to the channel</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Creation Timestamp</code></p></td><td><p>DateTime</p></td><td><p>Timestamp when the message was created</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Headers a</code></p></td><td><p>Object</p></td><td><p>Metadata associated with the message, typically key-value pairs</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Key a</code></p></td><td><p>String</p></td><td><p>This key determines the partition within the Kafka topic where the message is sent</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Leader Epoch</code></p></td><td><p>Number</p></td><td><p>Epoch of the leader broker at the time the message is sent</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Log Append Timestamp</code></p></td><td><p>DateTime</p></td><td><p>Timestamp when the message is appended to the log</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Offset a</code></p></td><td><p>Number</p></td><td><p>Message offset in the Kafka topic partition</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Partition</code></p></td><td><p>Number</p></td><td><p>Partition within the Kafka topic where the message is stored</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Protocol</code></p></td><td><p>String</p></td><td><p>Protocol the Kafka server uses</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Server Name</code></p></td><td><p>String</p></td><td><p>Name of the Kafka server that processes the message</p></td><td><p>None</p></td><td><p>Yes</p></td></tr></tbody></table>

### Anypoint MQ Message Attributes

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Ack Token</code></p></td><td><p>String</p></td><td><p>Token used for acknowledging the receipt of a message</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Channel Name</code></p></td><td><p>String</p></td><td><p>Name of the Anypoint MQ channel where the message is published or consumed</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Channel Parameters</code></p></td><td><p>Object</p></td><td><p>Additional parameters or settings specific to the channel</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Content Type</code></p></td><td><p>String</p></td><td><p>MIME type of the message content</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Delivery Count</code></p></td><td><p>Number</p></td><td><p>Number of times the message is delivered</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Headers</code></p></td><td><p>Object</p></td><td><p>Metadata associated with the message, typically key-value pairs</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Message Id</code></p></td><td><p>String</p></td><td><p>Unique identifier for the message</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Properties</code></p></td><td><p>Object</p></td><td><p>Custom properties associated with the message</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Protocol</code></p></td><td><p>String</p></td><td><p>Protocol the Anypoint MQ server uses</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Server Name</code></p></td><td><p>String</p></td><td><p>Name of the Anypoint MQ server that processes the message</p></td><td><p>None</p></td><td><p>Yes</p></td></tr></tbody></table>

### Solace Message Attributes

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>DMQ Eligible</code></p></td><td><p>Boolean</p></td><td><p>Indicates if the message is eligible for Dead Message Queue</p></td><td><p><code>False</code></p></td><td><p>No</p></td></tr><tr><td><p><code>Channel Name</code></p></td><td><p>String</p></td><td><p>Name of the Solace channel where the message is published or consumed</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Channel Parameters</code></p></td><td><p>Object</p></td><td><p>Additional parameters or settings specific to the Solace channel</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Content Type</code></p></td><td><p>String</p></td><td><p>MIME type of the message content</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Delivery Mode</code></p></td><td><p>String</p></td><td><p>Delivery mode of the message</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Discard Indication</code></p></td><td><p>Boolean</p></td><td><p>Indicates if the message is discarded</p></td><td><p><code>False</code></p></td><td><p>No</p></td></tr><tr><td><p><code>Eliding Eligible</code></p></td><td><p>Boolean</p></td><td><p>Indicates if the message is eligible for eliding</p></td><td><p><code>False</code></p></td><td><p>No</p></td></tr><tr><td><p><code>Endpoint Type</code></p></td><td><p>String</p></td><td><p>Type of endpoint used</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Message Reference Id</code></p></td><td><p>String</p></td><td><p>Reference identifier for the message</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Priority</code></p></td><td><p>Number</p></td><td><p>Priority level of the message</p></td><td><p>0</p></td><td><p>No</p></td></tr><tr><td><p><code>Protocol</code></p></td><td><p>String</p></td><td><p>Protocol the Solace server uses</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Receive Timestamp</code></p></td><td><p>DateTime</p></td><td><p>Timestamp when the message was received</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Redelivered</code></p></td><td><p>Boolean</p></td><td><p>Indicates if the message is redelivered</p></td><td><p><code>False</code></p></td><td><p>No</p></td></tr><tr><td><p><code>Reply</code></p></td><td><p>Boolean</p></td><td><p>Indicates if the message expects a reply</p></td><td><p><code>False</code></p></td><td><p>No</p></td></tr><tr><td><p><code>Server Name</code></p></td><td><p>String</p></td><td><p>Name of the Solace server that processes the message</p></td><td><p>None</p></td><td><p>Yes</p></td></tr><tr><td><p><code>Time To Live</code></p></td><td><p>Number</p></td><td><p>Time in milliseconds that the message remains valid</p></td><td><p>0</p></td><td><p>No</p></td></tr></tbody></table>

### Salesforce Pub/Sub Attributes

<table><colgroup><col> <col> <col> <col> <col></colgroup><thead><tr><th>Field</th><th>Type</th><th>Description</th><th>Default Value</th><th>Required</th></tr></thead><tbody><tr><td><p><code>Channel Name</code></p></td><td><p>String</p></td><td><p>Name of the Salesforce Pub/Sub channel where the message is published or consumed</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Channel Parameters</code></p></td><td><p>Object</p></td><td><p>Additional parameters or settings specific to the Salesforce Pub/Sub channel</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Protocol</code></p></td><td><p>String</p></td><td><p>Protocol the Salesforce Pub/Sub server uses</p></td><td><p>None</p></td><td><p>No</p></td></tr><tr><td><p><code>Server Name</code></p></td><td><p>String</p></td><td><p>Name of the Salesforce Pub/Sub server that processes the message</p></td><td><p>None</p></td><td><p>No</p></td></tr></tbody></table>
