Name
# mulesoft APIkit - Full Documentation --- product: APIkit version: 4.x is-latest-version: true --- # APIkit Compatibility > For the full documentation index, see: https://docs.mulesoft.com/llms.txt APIkit modules support Mule 4. Review protocol and language coverage in the tables on this page when you plan AsyncAPI, gRPC, GraphQL, OData, REST, or SOAP APIs. For APIkit versions that align with [FIPS 140-2](https://docs.mulesoft.com/mule-runtime/latest/fips-140-2-compliance-support) expectations, see [APIkit Release Notes](https://docs.mulesoft.com/apikit/latest/apikit-release-notes). ## APIkit for SOAP Module Versions and Mule Runtime APIkit for SOAP 1.7.0 provides broad Mule runtime compatibility. APIkit for SOAP 2.0.0 is the major successor to 1.6.10 and requires JDK 17 and Mule runtime 4.9.11 or later. APIkit for SOAP 1.6.5 through 1.6.10 are deprecated. ### APIkit for SOAP Versions
| Line | Version | Minimum Platform | Use Cases |
|---|---|---|---|
Legacy compatibility | 1.7.0 | JDK 8, 11, or 17; Mule runtime 4.1.x and later | You must keep existing deployments on earlier Mule or Java stacks without adopting the 2.x requirements. |
Modern major | 2.0.0 (successor to 1.6.10) | JDK 17 only; Mule runtime 4.9.11 and later | You standardize on current Mule and Java 17. You choose the version that receives new features. |
Deprecated | 1.6.5 – 1.6.10 | Don’t adopt or standardize on these releases. | Migrate to 1.7.0 or 2.0.0 using the version selection guide. |
| Language/protocol | Version |
|---|---|
AsyncAPI spec | 2.6 |
Protocol Buffers (gRPC) | 3 |
OData | 2.0 and 4.0 |
OpenAPI Specification (OAS) | 2.0, 3.0, and 3.1 |
RESTful API Modeling Language (RAML) | 1.0 and 0.8 |
SOAP | 1.1 and 1.2 |
| Error Type | Description |
|---|---|
INTERNAL_SERVER_ERROR | Internal error. |
VALIDATION_ERROR | The payload doesn’t meet the schema of the API spec. |
PUBLISHING_ERROR | APIkit fails to publish messages on the selected channel. |
ROUTING_ERROR | APIkit fails to route messages to the flows. |
| 1 | Check the APIkit Release Notes to get the LATEST_VERSION. |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name for this configuration. Connectors reference the configuration with this name. | None | Yes |
| String | API definition. | None | Yes |
| Boolean | Disable payload content validation. |
| No |
| Array of Kafka Config | List of Kafka server configurations. One for each Kafka server listed in the specification that is scaffolded to create the app. | None | No |
| Array of Anypoint MQ Config | List of AMQ configurations. | None | No |
| Array of Solace Config | List of Solace configurations. | None | No |
| Array of Salesforce Pub/Sub Connector Config | List of SalesforcePubSub configurations. | None | No |
| String | Identifier of this element used to reference it in other components. | None | Yes |
| Message Broker | Description | Supported Protocols | Configuration Details |
|---|---|---|---|
Anypoint MQ | Supports asynchronous messaging with Anypoint MQ. | anypointmq | Anypoint MQ configurations are specified in the server object of the AsyncAPI specification. Supports Message Listener for consuming messages from channels declared in AsyncAPI |
Kafka | Supports asynchronous messaging with Apache Kafka. | kafka, kafka-secure | Kafka configurations are specified in the server object of the AsyncAPI specification. Supports Message Listener for consuming messages from channels declared in AsyncAPI |
Salesforce platform events | Allows implementing an Async API specification using Anypoint Connector for Salesforce Pub/Sub (Salesforce Pub/Sub Connector). | salesforcepubsub* | Connection details are available in the properties file. Supports Message Listener for In the Message Listener operation, the AsyncAPI spec In the Publish operation, the payload must be JSON. The APIkit for AsyncAPI module transforms the JSON payload to the array-of-objects type. |
Solace Pub/Sub+ | Supports the implementation of an Async API specification using Solace PubSub+ Connector. | solace | Connection details are available in the properties file. Supports Message Listener for |
| Parameter | Description |
|---|---|
| Reference to the APIkit for AsyncAPI configuration |
| AsyncAPI channel to consume |
| Optional list of server names to listen to |
| Disables payload validation against the AsyncAPI schema |
| Optional output format controls |
| Runs only on the primary node in a cluster |
|
|
| Redelivery behavior for failed processing |
| Broker | Configuration details |
|---|---|
Anypoint MQ | Configure |
Kafka | Configure |
Salesforce Pub/Sub | Configure |
Solace PubSub+ | Configure |
| Parameter | Description |
|---|---|
| Reference to the APIkit for AsyncAPI configuration |
| AsyncAPI channel to publish to |
| Server alias from the AsyncAPI spec |
| Payload to publish ( |
| Disables payload validation against the AsyncAPI schema |
| Optional output capture |
| Optional mapping of operation errors |
| Broker | Configuration details |
|---|---|
Salesforce Pub/Sub | Configure |
Solace PubSub+ | Configure |
| Schema Definition | Message | Valid |
|---|---|---|
{ A: integer, B: string } | {A, B} | Yes |
{ A: integer, B: string } | {C, D} | Yes |
{ A: integer, B: string } required [A, B] | {C, D} | No |
{ A: integer, B: string } required [A, B] | {A, B, C} | Yes |
{ A: integer, B: string } required [A, B] | {A, B, C} | No |
{ A: integer, B: string } required [A, B] | {A, B} | No |
| Schema Definition | Message | Valid |
|---|---|---|
{ A: integer, B: string } required [A, B] | {A, B} | Yes |
{ A: integer, B: string } required [A, B] | {B, C} | No |
{ A: integer, B: string } required [A, B] | {A, B, C} | No |
{ A: integer, B: string } required [A, B] | {C, D} | Yes |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration to use | None | Yes |
| Binary | The binary content to be processed | #[payload] | No |
| Boolean | Indicates if validation of the content is disabled |
| No |
| ConfigurationProvider | Name of the configuration used to execute this component | None | Yes |
| String | Channel name | None | Yes |
| String | Server name | None | Yes |
| String | Name of a variable in which the operation output is placed | None | No |
| String | Expression that is evaluated against the operation output and the result of that expression is stored in the target variable | #[payload] | No |
| Array of Error Mapping | Set of error mappings | None | No |
| Field | Description |
|---|---|
|
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration to use | None | Yes |
| Boolean | Disable payload content validation | None | No |
| String | Channel name | None | Yes |
| Array of String | List of servers to listen to | None | No |
| String | MIME type of the payload that this operation generates | None | No |
| String | Encoding of the payload that this operation generates | None | No |
| Boolean | Specifies if this source must be executed on the primary node when running in a cluster | None | No |
| ConfigurationProvider | Name of the configuration used to execute this component | None | Yes |
Streaming Strategy |
| Specify and configure repeatable streams | None | No |
| Policy for processing the redelivery of the same message | None | No |
| Field | Description |
|---|---|
| Any type |
| One of: * Kafka Message Attributes * Anypoint MQ Message Attributes * Solace Message Attributes * Salesforce Pub/Sub Attributes |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Identifier for the server configuration within the AsyncAPI configuration | None | Yes |
| String | Reference to the Kafka Producer configuration | None | No |
| String | Reference to the Kafka Consumer configuration | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Identifier for the server configuration in AsyncAPI | None | Yes |
| String | Reference to the Anypoint MQ configuration details | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Server key set in the AsyncAPI spec | None | Yes |
| String | Reference to the configuration name of the Solace connection | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Server key set in the AsyncAPI spec | None | Yes |
| String | Reference to the name of the Salesforce Pub/Sub Connector configuration | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | 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 | None | No |
Buffer Size Increment | Number | 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 | None | No |
| Number | Maximum amount of memory used. If more is used, a | None | No |
Buffer Unit | Enumeration, one of:
| These attributes are expressed in this unit. | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | 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. | None | No |
Buffer Unit | Enumeration, one of:
| The unit for expressing | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | Maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message | None | No |
| String | Secure hashing algorithm | SHA-256 | No |
| Strategy used to identify the messages | None | No | |
| ObjectStore | Object store where the redelivery counter for each message is stored | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Boolean | Whether to use a secure hash algorithm to identify a redelivered message. | None | No |
| String | Expression used to determine if a message has been redelivered. You can set this property if | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Object | Data the server returns in response to a request | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
Source | Enumeration, one of:
| Type of error encountered during the operation | None | Yes |
| String | The specific component or module where the error needs to be addressed | None | Yes |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the Kafka channel (topic) where the message is published or consumed | None | Yes |
| Object | Additional parameters or settings specific to the channel | None | No |
| DateTime | Timestamp when the message was created | None | No |
| Object | Metadata associated with the message, typically key-value pairs | None | No |
| String | This key determines the partition within the Kafka topic where the message is sent | None | No |
| Number | Epoch of the leader broker at the time the message is sent | None | No |
| DateTime | Timestamp when the message is appended to the log | None | No |
| Number | Message offset in the Kafka topic partition | None | No |
| Number | Partition within the Kafka topic where the message is stored | None | No |
| String | Protocol the Kafka server uses | None | No |
| String | Name of the Kafka server that processes the message | None | Yes |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Token used for acknowledging the receipt of a message | None | No |
| String | Name of the Anypoint MQ channel where the message is published or consumed | None | Yes |
| Object | Additional parameters or settings specific to the channel | None | No |
| String | MIME type of the message content | None | No |
| Number | Number of times the message is delivered | None | No |
| Object | Metadata associated with the message, typically key-value pairs | None | No |
| String | Unique identifier for the message | None | Yes |
| Object | Custom properties associated with the message | None | No |
| String | Protocol the Anypoint MQ server uses | None | No |
| String | Name of the Anypoint MQ server that processes the message | None | Yes |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Boolean | Indicates if the message is eligible for Dead Message Queue |
| No |
| String | Name of the Solace channel where the message is published or consumed | None | No |
| Object | Additional parameters or settings specific to the Solace channel | None | No |
| String | MIME type of the message content | None | No |
| String | Delivery mode of the message | None | No |
| Boolean | Indicates if the message is discarded |
| No |
| Boolean | Indicates if the message is eligible for eliding |
| No |
| String | Type of endpoint used | None | No |
| String | Reference identifier for the message | None | No |
| Number | Priority level of the message | 0 | No |
| String | Protocol the Solace server uses | None | No |
| DateTime | Timestamp when the message was received | None | No |
| Boolean | Indicates if the message is redelivered |
| No |
| Boolean | Indicates if the message expects a reply |
| No |
| String | Name of the Solace server that processes the message | None | Yes |
| Number | Time in milliseconds that the message remains valid | 0 | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the Salesforce Pub/Sub channel where the message is published or consumed | None | No |
| Object | Additional parameters or settings specific to the Salesforce Pub/Sub channel | None | No |
| String | Protocol the Salesforce Pub/Sub server uses | None | No |
| String | Name of the Salesforce Pub/Sub server that processes the message | None | No |
Name | Type | Description | Default Value | Required |
| String | The name for this configuration. Connectors reference the configuration with this name. | None | Yes |
| String | Defines the path to the API definition resource, for example: | None | Yes |
| Boolean | Enables schema introspection. | false | No |
| Number | The maximum depth a query can have. The value must be greater than 1. | 100 | No |
| Number | The maximum number of data fields a query can include. The value must be greater than 1. | 100 | No |
| String | The identifier of this element is used to reference it in other components. | None | Yes |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | The name of the configuration to use | None | Yes |
| Any | Content of the message (usually, the payload) | #[payload] | No |
| String | The MIME type of the payload that this operation outputs. | None | No |
| String | The encoding of the payload that this operation outputs | None | No |
| ConfigurationProvider | The name of the configuration you use to execute this component | None | Yes |
Streaming Strategy |
| Configure repeatable streaming strategy | None | No |
| String | The name of a variable on which the operation output is placed | None | No |
| String | An expression that is evaluated against the operation output and the effect of that expression is stored in the target variable | #[payload] | No |
Type | Any |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | The name of the configuration you use | None | Yes |
| Any | Content of the message (usually, the payload) | #[payload] | No |
| ConfigurationProvider | The name of the configuration you use to execute this component | None | Yes |
| String | The object-type name | None | Yes |
| String | The field name | None | No |
| String | The name of a variable on which the operation output is placed | None | No |
| String | An expression that is evaluated against the operation output and the effect of that expression is stored in the target variable | #[payload] | No |
Type | Any |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | The name of the configuration you use | None | Yes |
| String | The object-type name | None | Yes |
| Any | Content of the message (usually, the payload) | #[payload] | |
| ConfigurationProvider | The name of the configuration you use to execute this component | None | Yes |
| String | The name of a variable on which the operation output is placed | None | No |
| String | An expression that is evaluated against the operation output and the effect of that expression is stored in the target variable | #[payload] | No |
Type | Any |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | The name of the configuration you use | None | Yes |
| String | The MIME type of the payload that this operation outputs | None | No |
| String | The encoding of the payload that this operation outputs | None | No |
| ConfigurationProvider | The name of the configuration you use to execute this component | None | Yes |
| Boolean | Whether this source must only be executed on the primary node when running in a cluster | None | No |
Streaming Strategy |
| Configure repeatable streaming strategy | None | No |
| Defines a policy for processing the redelivery of the same message | None | No | |
| String | The object-type name | None | Yes |
| String | The field name | None | No |
| Any | Content of the message (usually, the payload) | #[payload] |
Type | Any |
Attributes Type |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | The name of the configuration you use | None | Yes |
| String | The object-type name | None | Yes |
| ConfigurationProvider | The name of the configuration you use to execute this component | None | Yes |
| Boolean | Whether this source should only be executed on the primary node when running in a cluster | None | No |
| Defines a policy for processing the redelivery of the same message | None | No | |
| Any | Content of the message (usually, the payload) | #[payload] |
Type | Array of Any |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Alias of the queried field | None | No |
| Object | Arguments of the queried field | None | No |
| Object | Map of subfields selected from this compound type | None | No |
| Any | Actual value of the fetched field parent | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | The amount of memory that is allocated to consume the stream and provide random access to it. If the stream contains more data than the buffer capacity, then it is expanded according to the | None | No |
| Number | How much 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 | None | No |
| Number | The maximum amount of memory used. If more is used, a | None | No |
Buffer Unit | Enumeration, one of:
| These attributes are expressed in this unit. | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | Defines the maximum memory that the stream uses to keep data in memory. If it consumes more, the stream buffers the content on disk. | None | No |
Buffer Unit | Enumeration, one of:
| The unit for expressing | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | The maximum number of times a message can be redelivered and processed unsuccessfully before triggering a "Process failed" message. | None | No |
| String | The secure hashing algorithm to use. If not set, the default is SHA-256. | SHA-256 | No |
| The strategy to use to identify the messages | None | No | |
| ObjectStore | The object store where the redelivery counter for each message is stored | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Boolean | Whether to use a secure hash algorithm to identify a redelivered message | None | No |
| String | Expressions to use to determine when a message has been redelivered. You can only set this property if useSecureHash is false. | None | No |
| 1 | To get the LATEST_VERSION, check the APIkit Release Notes . |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
String |
Identifier of this element used to reference it in other components. |
None |
Yes |
|
Number |
Maximum size in bytes for inbound gRPC messages. Messages exceeding this size are rejected. |
4194304 (4 MB) |
No |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
ConfigReference to |
Reference to the HTTP listener configuration that defines host, port, and TLS. The gRPC server uses this listener for transport. |
None |
Yes |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
String |
Path or expression (for example, |
None |
Yes |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
String (Config Reference) |
Reference to the grpc:server-config to use. |
None |
Yes |
|
Any |
The message payload to send. It should conform to the message type defined in the Interface Description Language (IDL) for the streaming method. |
#[payload] |
No |
|
String |
Name of a variable on which the operation output is placed. |
None |
No |
|
String |
Expression evaluated against the operation output. The result is stored in the target variable. |
#[payload] |
No |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
String (Config Reference) |
Reference to the grpc:server-config to use. |
None |
Yes |
|
String |
Name of a variable on which the operation output is placed. |
None |
No |
|
String |
Expression evaluated against the operation output. The result is stored in the target variable. |
#[payload] |
No |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
String (Config Reference) |
Reference to the grpc:server-config to use. |
None |
Yes |
|
String |
Fully qualified method name in the format |
None |
Yes |
|
Boolean |
Whether this source runs only on the primary node in a cluster. |
false |
No |
|
Object |
Policy for redelivery of the same message. |
None |
No |
Type |
Any (message type from IDL) |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
String (Config Reference) |
Reference to the grpc:server-config to use. |
None |
Yes |
|
String |
Fully qualified method name in the format |
None |
Yes |
|
Boolean |
Whether this source runs only on the primary node in a cluster. |
false |
No |
|
Object |
Policy for redelivery of the same message. |
None |
No |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
TypedValue<InputStream> |
Response payload. Only effective on the final flow execution when |
#[payload] |
No |
|
Map<String, Object> |
State persisted across messages via |
#[{}] |
No |
Type |
Stream of Any (message type from IDL) |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
String (Config Reference) |
Reference to the grpc:server-config to use. |
None |
Yes |
|
String |
Fully qualified method name in the format |
None |
Yes |
|
Enum: WAIT, DROP |
Backpressure strategy when the flow’s |
WAIT |
No |
|
Boolean |
Whether this source runs only on the primary node in a cluster. |
false |
No |
|
Object |
Policy for redelivery of the same message. |
None |
No |
Type |
Any (request message type from IDL); response is sent via |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
String (Config Reference) |
Reference to the grpc:server-config to use. |
None |
Yes |
|
String |
Fully qualified method name in the format |
None |
Yes |
|
Boolean |
Whether this source runs only on the primary node in a cluster. |
false |
No |
|
Object |
Policy for redelivery of the same message. |
None |
No |
| Parameter | Type | Description | Default Value | Required |
|---|---|---|---|---|
|
TypedValue<InputStream> |
Response payload sent to the client. |
#[payload] |
No |
|
Map<String, Object> |
State persisted across messages via |
#[{}] |
No |
Type |
Stream of Any (message type from IDL). Send response messages using the nested |
| Source | Default Mode | Supported Modes | Notes |
|---|---|---|---|
|
FAIL |
FAIL |
Excess requests are immediately rejected with |
|
WAIT |
WAIT, DROP |
Configurable via |
|
WAIT |
WAIT |
Incoming messages queue until a slot is available. |
|
WAIT |
WAIT |
Incoming messages queue until a slot is available. |
| Mule Error Type | gRPC Code | Description |
|---|---|---|
GRPC:CANCELLED |
1 |
Request was cancelled |
GRPC:GRPC_UNKNOWN |
2 |
Unknown error |
GRPC:INVALID_ARGUMENT |
3 |
Invalid argument |
GRPC:DEADLINE_EXCEEDED |
4 |
Deadline exceeded |
GRPC:NOT_FOUND |
5 |
Resource not found |
GRPC:ALREADY_EXISTS |
6 |
Resource exists |
GRPC:PERMISSION_DENIED |
7 |
Permission denied |
GRPC:RESOURCE_EXHAUSTED |
8 |
Resource exhausted |
GRPC:FAILED_PRECONDITION |
9 |
Failed precondition |
GRPC:ABORTED |
10 |
Operation aborted |
GRPC:OUT_OF_RANGE |
11 |
Argument out of range |
GRPC:UNIMPLEMENTED |
12 |
Operation not implemented |
GRPC:INTERNAL |
13 |
Internal error |
GRPC:UNAVAILABLE |
14 |
Service unavailable |
GRPC:DATA_LOSS |
15 |
Data loss |
GRPC:UNAUTHENTICATED |
16 |
Request not authenticated |
| Error Type | Description |
|---|---|
GRPC:VALIDATION |
Thrown after request or message validation fails (for example, schema or IDL validation). |
GRPC:TRANSFORMATION |
Thrown after message transformation fails (for example, serialization or deserialization of Protobuf messages). |
GRPC:CONNECTIVITY |
Thrown after a connectivity issue occurs (for example, connection refused or transport error). |
| 1 | The tooling determines the appropriate version of each dependency when scaffolding to guarantee compatibility. Manually setting dependency versions produces issues. See the APIkit release notes before upgrading each component to the latest version. |
| Annotation | Type | Description |
|---|---|---|
| String | Custom name for the entity set. Used only if |
| Boolean | If |
| Case | (odata.entitySetEnabled) | (odata.entitySet) | Effective EntitySet Name | Metadata and OData API Behavior |
|---|---|---|---|---|
1 |
| Present | Default pluralization (based on entity type) | Default EntitySet |
2 |
| Not present | Default pluralization (based on entity type) | Default EntitySet |
3 | Not defined or present | Present | Default pluralization (based on entity type) | Default EntitySet |
4 | Not defined or present | Not present | Default pluralization (based on entity type) | Default EntitySet |
5 |
| Present (non-empty) | Custom name from annotation | Custom EntitySet; metadata and APIs use the custom name |
6 |
| Not present or empty | Default pluralization (based on entity type) | Default EntitySet |
| Error Type | Description |
|---|---|
APIKIT-ODATA:NOT_IMPLEMENTED | Requested service, feature, or operation not implemented |
APIKIT-ODATA:MALFORMED_URI | Invalid request URI |
APIKIT-ODATA:MALFORMED_SEARCH | Invalid request |
APIKIT-ODATA:SERIALIZATION | Generic error for serialization issues |
APIKIT-ODATA:DESERIALIZATION | Generic error for deserialization issues |
APIKIT-ODATA:TRANSFORMATION | Generic error for issues related to URI to SQL transformations |
APIKIT-ODATA:INTERNAL_SERVER_ERROR | Generic error for internal server issues |
APIKIT-ODATA:NOT_FOUND | Generic error for not found |
APIKIT-ODATA:EXPANSION | Generic error for issues during expansion |
| 1 | Check APIkit release notes to get the LATEST_VERSION. |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name for this configuration. Connectors reference the configuration with this name | None | Yes |
| String | API definition | None | Yes |
| String | Identifier of this element used to reference it in other components | None | Yes |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration to use | None | Yes |
| Any | The content to be routed. |
| No |
| Boolean | Consistent correlation Ids across subsequent flows |
| No |
| String | MIME type of the payload that this operation outputs | None | No |
| String | Encoding of the payload that this operation outputs | None | No |
| ConfigurationProvider | Name of the configuration used to execute this component | None | Yes |
Streaming Strategy |
| Configure if repeatable streams and their behavior are used | non-repeatable-stream | No |
Method | Enumeration, one of:
| HTTP request method name | None | Yes |
| String | OData request path, relative to listener | None | Yes |
Scheme | Enumeration, one of:
| HTTP request scheme | None | Yes |
| String | Request host | None | Yes |
| String | Listener path ending with "*" | None | Yes |
| Object | HTTP request headers |
| No |
| String | HTTP query string |
| No |
| String | Name of a variable on which the operation output is placed | None | No |
| String | An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable |
| No |
Type | Any |
Attributes Type |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration to use | None | Yes |
| Binary | The binary content to serialize. |
| No |
| String | MIME type of the payload that this operation outputs | None | No |
| String | Encoding of the payload that this operation outputs | None | No |
| ConfigurationProvider | Name of the configuration used to execute this component | None | Yes |
Streaming Strategy |
| Configure if repeatable streams and their behavior are used | non-repeatable-stream | No |
Method | Enumeration, one of:
| HTTP Method | None | Yes |
| String | Path to Entity Type | None | Yes |
| String | Name of a variable on which the operation output is placed | None | No |
| String | An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable |
| No |
Type | Binary |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration | None | Yes |
| Binary | The binary content to serialize. |
| No |
| String | MIME type of the payload that this operation outputs | None | No |
| String | Encoding of the payload that this operation outputs | None | No |
| ConfigurationProvider | Name of the configuration used to execute this component | None | Yes |
Streaming Strategy |
| Configure if repeatable streams and their behavior are used | non-repeatable-stream | No |
Method | Enumeration, one of:
| HTTP Method | None | Yes |
| String | Path to Entity Type | None | Yes |
| String | Name of a variable on which the operation output is placed | None | No |
| String | An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable |
| No |
Type | Binary |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| ConfigurationProvider | Name of the configuration used to execute this component | None | Yes |
| String | Name of the configuration to use | None | Yes |
| String | Database schema name to which the entity set belongs. If not empty, it’s prefixed to the table name in the | None | No |
| String | Table name in the database for the requested entity set | None | Yes |
| Array of String | List of property fields from the Entity type | None | Yes |
| Object | Map of entity key names and values | None | Yes |
| String | Entity Data Model specifies the entity type name | None | Yes |
| Number | The number of records to retrieve. | None | No |
| Object | Data type to which fields are type-casted for the | None | No |
| Boolean | Enabling |
| No |
Sql Identifiers Delimiter | Enumeration, one of:
| Option to delimit identifiers | DOUBLE_QUOTES | No |
Sql Limit Rows | Enumeration, one of:
| Option to limit the number of rows | LIMIT | No |
| Boolean | Enabling full term match for |
| No |
Streaming Strategy |
| Configure if repeatable streams and their behavior are used | non-repeatable-stream | No |
| Object | System Query Options map. The grammar and syntax rules for system query options are defined in [OData-ABNF]. To simplify usability, the initial dollar sign is removed to avoid escaping within DataWeave. For example, to access System Query Option, |
| Yes |
| String | Name of a variable on which the operation output is placed | None | No |
| String | An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable |
| No |
Type | Binary |
Attributes Type |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration to use | None | Yes |
| String | MIME type of the payload that this operation outputs | None | No |
| String | Encoding of the payload that this operation outputs | None | No |
| ConfigurationProvider | Name of the configuration used to execute this component | None | Yes |
| Boolean | Specify if this source executes only on the primary node when running in Cluster |
| No |
Streaming Strategy |
| Configure if repeatable streams and their behavior are used | non-repeatable-stream | No |
| Policy for processing the redelivery of the same message | None | No | |
Method | Enumeration, one of:
| HTTP Method | None | Yes |
| String | Path to Entity Type | None | Yes |
Collection Success Response | No | |||
| Boolean | Enabling support for |
| No |
| Boolean | Disallowing errors from the flows that generic expansion calls to propagate to this flow. When |
| No |
| List<String> | List of types that can be generically expanded from this flow. |
| No |
Type | Any |
Attributes Type |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration to use | None | Yes |
| String | MIME type of the payload that this operation outputs | None | No |
| String | Encoding of the payload that this operation outputs | None | No |
| ConfigurationProvider | Name of the configuration used to execute this component | None | Yes |
| Boolean | If this source must only be executed on the primary node when running in Cluster |
| No |
Streaming Strategy |
| Configure if repeatable streams and their behavior are used | non-repeatable-stream | No |
| Policy for processing the redelivery of the same message | None | No | |
Method | Enumeration, one of:
| HTTP Method | None | Yes |
| String | Path to Entity Type | None | Yes |
| Boolean | Enabling support for |
| No |
| Boolean | Disallowing errors from the flows that generic expansion calls to propagate to this flow. When |
| No |
| List<String> | List of types that can be generically expanded from this flow |
| No |
Success Response | No |
Type | Any |
Attributes Type |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the requested entity set. |
| No |
| HTTP attributes of the OData request. |
| No | |
| OData-specific attributes of the OData request. |
| No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Object | An object containing the HTTP headers of the incoming request. This allows the router to access the request headers. |
| No |
Method | Enumeration, one of:
| The HTTP method of the OData request. | None | No |
| String | Base URI of the OData request |
| No |
| String | Raw OData path of the OData request |
| No |
| String | Raw query path of the OData request |
| No |
| String | Raw request URI of the OData request |
| No |
Scheme | Enumeration, one of:
| No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Object | Custom query options of the OData request |
| No |
| Array of String | Entity-type fields of the OData request |
| No |
| Object | Entity-type keys of the OData request |
| No |
| String | Entity-type name of the OData request |
| No |
| Object | System query options of the OData request |
| No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | Amount of memory allocated to consume the stream and provide random access to it. If the stream has more data than the buffer capacity, it expands according to the | None | No |
| Number | Expansion of the buffer size if exceeding its initial size. If you set a value of zero or lower, the buffer doesn’t expand and raises a | None | No |
| Number | The maximum amount of memory for the buffer to use. When memory usage exceeds this limit, a | None | No |
Buffer Unit | Enumeration, one of:
| Unit to express these attributes | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | Maximum memory that the stream uses to keep data in memory. If more memory is consumed, the stream starts to buffer the content on the disk | None | No |
Buffer Unit | Enumeration, one of:
| Unit to express | KB | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | Maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message | None | No |
| String | Secure hashing algorithm (default: SHA-256) |
| No |
| Strategy to identify the messages | None | No | |
| ObjectStore | The object store where the redelivery counter for each message is stored | None | No |
| Boolean | Whether to use a secure hash algorithm to identify a redelivered message | None | No |
| String | One or more expressions that determine when a message is redelivered. You can set this property if |
| No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Boolean | Whether to use a secure hash algorithm to identify a redelivered message | No | |
| String | One or more expressions that determine when a message is redelivered. You can set this property if | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Object | An object representing the HTTP headers to be included in the response. |
| No |
| Number | The HTTP status code to be returned in the response. | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Object | An object representing the query parameters to be included in the response. | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Binary | Raw response content of the response message |
| No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Binary | Body of the response message |
| No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Binary | Raw response message |
| No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Binary | Body of the response message |
| No |
| Set of serialization-related parameters. | Yes |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | The number of entities. | None | No |
| Number | The number of entities per page. | None | No |
| String | The token to retrieve the next page. | None | No |
| Error Type | Description |
|---|---|
APIKIT:BAD_REQUEST | Bad request |
APIKIT:NOT_FOUND | Resource not found |
APIKIT:METHOD_NOT_ALLOWED | Method not allowed |
APIKIT:NOT_ACCEPTABLE | Not acceptable |
APIKIT:UNSUPPORTED_MEDIA_TYPE | Unsupported media type |
APIKIT:NOT_IMPLEMENTED | Not implemented |
| Status Code | Error Type | Response Message |
|---|---|---|
400 | APIKIT:BAD_REQUEST | Bad request |
404 | APIKIT:NOT_FOUND | Resource not found |
405 | APIKIT:METHOD_NOT_ALLOWED | Method not allowed |
406 | APIKIT:NOT_ACCEPTABLE | Not acceptable |
415 | APIKIT:UNSUPPORTED_MEDIA_TYPE | Unsupported media type |
501 | APIKIT:NOT_IMPLEMENTED | Not implemented |
| 1 | Check APIkit release notes to get the LATEST_VERSION. |
| Element Name | Description | Required |
|---|---|---|
| APIkit configuration | Yes |
| Property of | No |
| Container for one or more | No |
| Maps a resource and action from the API specification to a specific Mule flow | No |
| REST routing message processor nested in the flow element | Yes |
| Attribute Name | Required | Description |
|---|---|---|
| No | Name of the map that contains response headers. |
| No | Name of the variable that stores the HTTP status code in the response. |
| No | Alias for the equivalent This attribute is deprecated as of version APIkit 1.2.0. Included to provide compatibility with APIkit 1.1.x. |
| Yes | Configuration name that other elements, such as |
| Yes | Alias for the equivalent This attribute is deprecated as of version APIkit 1.2.0. Included to provide compatibility with APIkit 1.1.x. |
| No | Parser used to validate requests. Attribute valid for APIkit 1.2.0 and later. Possible values are:
Default Value: AUTO. |
| No | Root API file location. This attribute is valid for APIkit 1.2.0 and later. The |
| No | Attribute valid for APIkit 1.2.0 and later. When set to |
| Attribute Name | Required | Description |
|---|---|---|
| No | Disables validations of requests. |
| No | Validates that request headers are defined in the RAML file or belong to a well-known set of headers. |
| No | Validates that request query parameters are defined in the RAML file. |
| Attribute Name | Required | Description |
|---|---|---|
| Yes | Resource path from the API specification to map, for example |
| Yes | HTTP method to map for the resource, for example |
| Yes | Name of the Mule flow that handles the mapped resource and action. |
| No | Request media type to match, for example |
| System Property | Default | Description | Since |
|---|---|---|---|
| false | Allows parser to expand XML external entities. The default value is | 1.3.7 |
| false | Allows parser to expand XML internal entities. The default value is | 1.3.7 |
| false | Disables console. | 1.3.7 |
| true | Streams AMF parser model to the console. | 1.5.0 |
| false | Fails when there is a | 1.1.15 |
| true | Checks no duplicate JSON object field names are encountered when the RAML parser is configured. | 1.1.15 |
| true | Blocks the use of unsafe base types when the RAML parser is configured. | 1.5.0 |
| AUTO | Overrides parser type. Possible values are:
| 1.3.7 |
| 268435456 | Limits the size of the multipart payload to be validated by throwing | 1.8.0 |
| localhost | Overrides the console URL. | 1.1.15 |
| Line | Version | Minimum Platform | Use Cases |
|---|---|---|---|
Legacy compatibility | 1.7.0 | JDK 8, 11, or 17; Mule runtime 4.1.x and later | You must keep existing deployments on earlier Mule or Java stacks without adopting the 2.x requirements. |
Modern major | 2.0.0 (successor to 1.6.10) | JDK 17 only; Mule runtime 4.9.11 and later | You standardize on current Mule and Java 17. You choose the version that receives new features. |
Deprecated | 1.6.5 – 1.6.10 | Don’t adopt or standardize on these releases. | Migrate to 1.7.0 or 2.0.0 using the version selection guide. |
| Error Type | Description |
|---|---|
APIKIT-SOAP:ROUTER | Routing exception |
APIKIT-SOAP:FAULT | Fault exception |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Connectors use this configuration name to reference its configuration. | None | Yes |
Soap Version | Enumeration, one of:
| SOAP version of the WSDL. | SOAP11 | No |
| String | Address of the web service. | None | No |
| Boolean | Defines if the MTOM protocol manages the attachments. |
| No |
| Boolean | Defines if the schema of the inbound request is validated. |
| No |
Inbound Validation Message Level | Enumeration, one of:
| Defines the validation level of the inbound requests. If set to | WARN | No |
| String | Variable name for the HTTP status. |
| No |
| Object | Map of custom namespaces prefixes to specify in response. | None | No |
| Configures the minimum amount of time that a dynamic configuration instance can remain idle before the run-time considers it eligible for expiration. The platform does not necessarily expire the instance at the exact moment that it becomes eligible. The run-time purges the instances when it considers it appropriate. | None | No | |
| String | WSDL file URL, remote or local. | None | Yes |
| String | Name of the service. | None | Yes |
| String | Name of the port. | None | Yes |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration. | None | Yes |
| Binary | Mule payload. | #[payload] | No |
Streaming Strategy |
| Configure if repeatable streams and their behavior are used. | Non repeatable stream | No |
| String | An operation defined in the WSDL. | None | Yes |
| String | A fault defined in the selected operation. | None | Yes |
| String | Name of a variable on which the operation output is placed. | None | No |
| String | Expression that is evaluated against the operation output. The effect of the expression is stored in the target variable. | #[payload] | No |
Type | Binary |
| Name | Type | Description | Default Value | Required |
|---|---|---|---|---|
| String | Name of the configuration. | None | Yes |
| Binary | Mule payload. | #[payload] | |
| Object | Map of Mule message attributes. | None | Yes |
| String | MIME type of the payload that this operation outputs. | None | No |
| String | Encoding of the payload that this operation outputs. | None | No |
Streaming Strategy |
| Configure if repeatable streams and their behavior are used. | Non repeatable stream | No |
| String | Name of a variable on which the operation output is placed. | None | No |
| String | Expression that is evaluated against the operation output. The outcome of the expression is stored in the target variable. | #[payload] | No |
Type | Binary |
Attributes Type |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | A scalar time value for the maximum amount of time a dynamic configuration instance is allowed to be idle before it’s considered eligible for expiration | None | No |
Time Unit | Enumeration, one of:
| A time unit that qualifies the | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | Amount of memory that is allocated to consume the stream and provide random access to it. If the stream contains more data than buffer capacity, then it’s expanded according to the | None | No |
| Number | Amount 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 | None | No |
| Number | Maximum amount of memory used. If more is used, a | None | No |
Buffer Unit | Enumeration, one of:
| The unit in which all these attributes are expressed. | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Number | Defines the maximum memory that the stream uses to keep data in memory. If it consumes more, the stream buffers the content on disk. | None | No |
Buffer Unit | Enumeration, one of:
| The unit in which | None | No |
| Field | Type | Description | Default Value | Required |
|---|---|---|---|---|
| Object | Protocol headers bundled in the response | None | No |
| Object | Additional transport data bundled in the response | None | No |
| System Property | Default | Description | Since |
|---|---|---|---|
| false | Enables the use of XML 1.1 C0 characters. | 1.3.0 |
| Binding | Publish | Message Listener | Description | Reference |
|---|---|---|---|---|
|
|
|
| See Anypoint MQ Bindings. |
|
|
| Type of destination (queue or exchange, or FIFO queue). It’s optional and defaults to
|
| Binding | Publish | Message Listener | Description | Reference |
|---|---|---|---|---|
|
|
| Key associated with the message in this channel. It’s optional and defaults to | See Kafka bindings. |
| Binding | Publish | Message Listener | Description | Reference |
|---|---|---|---|---|
|
|
| Solace PubSub+ Connector operates in | See Solace bindings. |
|
|
| Solace PubSub+ Connector supports | |
| Not available |
| Solace PubSub+ Connector specifies the list of topics the queue subscribes to when the |
| 1 | Mule configuration file with the flows for the API implementation |
| 2 | Generated RAML definition |
| 3 | Generated RAML libraries |
| 1 | EntityType defines the type and its properties. |
| 2 | key defines which property or set of properties is the key for the entity.For example, the entity set |
| 3 | EntityContainer defines the sets of exposed entities.In this example, |
| 4 | EntitySet contains a name and EntityType.You must define them in the |
| 1 | The main flow receives messages and routes the operation to the correct handler. |
| 2 | Five flows with GET, PUT, POST, and DELETE operations for each entity. |
| 3 | A flow with a GET operation to retrieve the collection of entities. |
| Name | Description |
|---|---|
|
HTTP method |
|
HTTP resource |
|
Payload content-type (optional) |
|
APIkit router configuration name (optional) |
| 1 | In Project Name, enter a name for the project. For example, soap-implementation. |
| 2 | Select the Mule runtime engine version. For example, Mule Server 4.2.2 EE. |
| 3 | In API Specification, select From Design Center or Local Files. |
| 4 | Select Browse files from the More actions menu. |
| 1 | This DataWeave code adds headers to the output of the Transform Message component. |
| 1 | Set apiCallsRemaining to 10. |
| Parameter name | Description |
|---|---|
Display name | Name of the operation. |
Module configuration | Name of the related-module configuration. |
Entity set name | Name of the entity set to fetch #[attributes.entitySetName]. |
Page size | Number that defines the amount of results per page during server-side pagination. |
Entity type name | String obtained from the OData request by using #[attributes.odataRequestAttributes], which the entity data model specifies. |
Entity type fields | Array of strings obtained from the OData request by using #[attributes.odataRequestAttributes], which provides the list of property fields obtained from the entity type. |
Entity type keys | Object obtained from the OData request by using #[attributes.odataRequestAttributes], which provides a map of entity key names and values. |
System query options | Parameter obtained from the OData request by using #[attributes.odataRequestAttributes]. |
Search transformation enabled | If |
Strict search term match | If |
SQL identifiers delimiter | Option that delimits identifiers in the generated SQL statement (Options: DOUBLE_QUOTES, BRACKETS, and BACK_TICKS). Examples:
|
SQL limit rows | Option that limits the numbers of rows (Options: LIMIT and FETCH_NEXT_ROWS_ONLY). Examples:
|
Date Transform Type | Values provided, one of:
This operation takes the |
| OData Operator | SQL Operator |
|---|---|
add | + |
and | AND |
div | / |
eq | = |
ge | >= |
gt | > |
le | =< |
lt | < |
mod | % |
mul | * |
ne | <> |
or | OR |
sub | - |
not | NOT |
- | - |
contains | LIKE %value% |
startswith | LIKE value% |
endswith | LIKE %value |