APIkit for OData v4 Module Reference | MuleSoft Documentation
# APIkit for OData v4 Module Reference
Learn the fundamentals about dependency, namespace, and schema information in APIkit for OData v4 to collaborate, build applications, and maintain codebases.
## Dependency Information
```
<dependency>
 <groupId>org.mule.modules</groupId>
 <artifactId>mule-odata-module</artifactId>
 <version>LATEST_VERSION</version> **(1)**
 <classifier>mule-plugin</classifier>
</dependency>
```

Check APIkit release notes to get the **LATEST_VERSION**.  
---  
## Namespace and Schema
```
xmlns:apikit-odata="http://www.mulesoft.org/schema/mule/apikit-odata"
xsi:schemaLocation="http://www.mulesoft.org/schema/mule/apikit-odata http://www.mulesoft.org/schema/mule/apikit-odata/current/mule-apikit-odata.xsd"
```

## Configurations
### Config
Default configuration
#### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Name for this configuration. Connectors reference the configuration with this name  
Api Definition |  API definition  
Identifier of this element used to reference it in other components  
#### Associated Operations
  * Serialize Entity
  * Serialize Entity Collection
  * Transform to SQL Select


#### Associated Sources
  * RequestEntityCollectionListener
  * RequestEntityListener


## Route
`<apikit-odata:route>`
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration |  Name of the configuration to use  
Route correlation Id |  Consistent correlation Ids across subsequent flows  
Output MIME Type |  MIME type of the payload that this operation outputs  
Output Encoding |  Encoding of the payload that this operation outputs  
ConfigurationProvider |  Name of the configuration used to execute this component  
Streaming Strategy | 
  * RepeatableInMemoryStream
  * RepeatableFileStoreStream
  * non-repeatable-stream

|  Configure if repeatable streams and their behavior are used  
Enumeration, one of:
  * PATCH
  * DELETE

|  HTTP request method name  
Masked Request Path |  OData request path, relative to listener  
Enumeration, one of: |  HTTP request scheme  
Request host  
Listener Path |  Listener path ending with "*"  
Http Headers |  HTTP request headers  
Query String |  HTTP query string  
Target Variable |  Name of a variable on which the operation output is placed  
Target Value |  An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable  
### Output
**Attributes Type** | RouteOutputAttributes  
---|---  
### For Configurations
### Throws
  * APIKIT-ODATA:DESERIALIZATION
  * APIKIT-ODATA:INTERNAL_SERVER_ERROR
  * APIKIT-ODATA:MALFORMED_SEARCH
  * APIKIT-ODATA:MALFORMED_URI
  * APIKIT-ODATA:NOT_FOUND
  * APIKIT-ODATA:NOT_IMPLEMENTED
  * APIKIT-ODATA:SERIALIZATION
  * APIKIT-ODATA:TRANSFORMATION
  * APIKIT-ODATA:EXPANSION


## Serialize Entity
`<apikit-odata:serialize-entity>`
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration |  Name of the configuration to use  
Inbound Content  
Output MIME Type |  MIME type of the payload that this operation outputs  
Output Encoding |  Encoding of the payload that this operation outputs  
ConfigurationProvider |  Name of the configuration used to execute this component  
Streaming Strategy | 
  * RepeatableInMemoryStream
  * RepeatableFileStoreStream
  * non-repeatable-stream

|  Configure if repeatable streams and their behavior are used  
Enumeration, one of:
  * PATCH
  * DELETE

|  HTTP Method  
Path to Entity Type  
Target Variable |  Name of a variable on which the operation output is placed  
Target Value |  An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable  
### For Configurations
## Serialize Entity Collection
`<apikit-odata:serialize-entity-collection>`
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration |  Name of the configuration  
Inbound Content  
Output MIME Type |  MIME type of the payload that this operation outputs  
Output Encoding |  Encoding of the payload that this operation outputs  
ConfigurationProvider |  Name of the configuration used to execute this component  
Streaming Strategy | 
  * RepeatableInMemoryStream
  * RepeatableFileStoreStream
  * non-repeatable-stream

|  Configure if repeatable streams and their behavior are used  
Enumeration, one of:
  * PATCH
  * DELETE

|  HTTP Method  
Path to Entity Type  
Target Variable |  Name of a variable on which the operation output is placed  
Target Value |  An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable  
### For Configurations
## Transform to SQL Select
`<apikit-odata:transform-to-sql-select>`
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
ConfigurationProvider |  Name of the configuration used to execute this component  
Configuration |  Name of the configuration to use  
Database Schema |  Database schema name to which the entity set belongs. If not empty, it’s prefixed to the table name in the `WHERE` clause  
Entity Set Name |  Table name in the database for the requested entity set  
Entity Type Fields |  Array of String |  List of property fields from the Entity type  
Entity Type Keys |  Map of entity key names and values  
Entity Type Name |  Entity Data Model specifies the entity type name  
searchFieldsAsType |  Data type to which fields are type-casted for the `$search` operation. If empty, no type-casting is performed  
Search Transformation Enabled |  Enabling `$search` transformation to `WHERE` clause  
Sql Identifiers Delimiter |  Enumeration, one of:
  * DOUBLE_QUOTES
  * BRACKETS
  * BACK_TICKS

|  Option to delimit identifiers  
Sql Limit Rows |  Enumeration, one of:
  * LIMIT
  * FETCH_NEXT_ROWS_ONLY

|  Option to limit the number of rows  
Strict Search Term Match |  Enabling full term match for `$search`. If enabled, terms in `WHERE` clause aren’t enclosed between '%'.  
Streaming Strategy | 
  * RepeatableInMemoryStream
  * RepeatableFileStoreStream
  * non-repeatable-stream

|  Configure if repeatable streams and their behavior are used  
System Query Options |  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, `$skip` uses the following expression #[attributes.systemQueryOptions.'skip']  
Target Value |  An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable  
Target Variable |  Name of a variable on which the operation output is placed  
### Output
**Attributes Type** | * SqlTransformerOutputAttributes  
---|---  
### For Configurations
### Throws
  * APIKIT-ODATA:INTERNAL_SERVER_ERROR
  * APIKIT-ODATA:MALFORMED_SEARCH
  * APIKIT-ODATA:MALFORMED_URI
  * APIKIT-ODATA:NOT_IMPLEMENTED
  * APIKIT-ODATA:TRANSFORMATION


## On Entity Collection Request
`<apikit-odata:request-entity-collection-listener>`
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration |  Name of the configuration to use  
Output MIME Type |  MIME type of the payload that this operation outputs  
Output Encoding |  Encoding of the payload that this operation outputs  
ConfigurationProvider |  Name of the configuration used to execute this component  
Primary Node Only |  Specify if this source executes only on the primary node when running in Cluster  
Streaming Strategy | 
  * RepeatableInMemoryStream
  * RepeatableFileStoreStream
  * non-repeatable-stream

|  Configure if repeatable streams and their behavior are used  
Redelivery Policy | 
  * RedeliveryPolicy

|  Policy for processing the redelivery of the same message  
Enumeration, one of:
  * PATCH
  * DELETE

|  HTTP Method  
Path to Entity Type  
Collection Success Response |  One of:
  * RawEntityCollectionSuccessResponse
  * EntityCollectionSuccessResponse
## On Entity Collection Request
`<apikit-odata:request-entity-collection-listener>`
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration |  Name of the configuration to use  
Output MIME Type |  MIME type of the payload that this operation outputs  
Output Encoding |  Encoding of the payload that this operation outputs  
ConfigurationProvider |  Name of the configuration used to execute this component  
Primary Node Only |  Specify if this source executes only on the primary node when running in Cluster  
Streaming Strategy | 
  * RepeatableInMemoryStream
  * RepeatableFileStoreStream
  * non-repeatable-stream

|  Configure if repeatable streams and their behavior are used  
Redelivery Policy | 
  * RedeliveryPolicy

|  Policy for processing the redelivery of the same message  
Enumeration, one of:
  * PATCH
  * DELETE

|  HTTP Method  
Path to Entity Type  
Collection Success Response |  One of:
  * RawEntityCollectionSuccessResponse
  * EntityCollectionSuccessResponse

  
Supported System Query Options - `$expand` |  Enabling support for `$expand`  
Ignore errors on expansion enabled |  Disallowing errors from the flows that generic expansion calls to propagate to this flow. When `true`, failed expansions render as `null`.  
Expandable navigation properties |  List<String> |  List of types that can be generically expanded from this flow.  
### Output
**Attributes Type** | ListenerRequestAttributes  
---|---  
### For Configurations
## On Entity Request
`<apikit-odata:request-entity-listener>`
### Parameters
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration |  Name of the configuration to use  
Output MIME Type |  MIME type of the payload that this operation outputs  
Output Encoding |  Encoding of the payload that this operation outputs  
ConfigurationProvider |  Name of the configuration used to execute this component  
Primary Node Only |  If this source must only be executed on the primary node when running in Cluster  
Streaming Strategy | 
  * RepeatableInMemoryStream
  * RepeatableFileStoreStream
  * non-repeatable-stream

|  Configure if repeatable streams and their behavior are used  
Redelivery Policy | 
  * RedeliveryPolicy

|  Policy for processing the redelivery of the same message  
Enumeration, one of:
  * PATCH
  * DELETE

|  HTTP Method  
Path to Entity Type  
Supported System Query Options - `$expand` |  Enabling support for `$expand`  
Ignore errors on expansion enabled |  Disallowing errors from the flows that generic expansion calls to propagate to this flow. When `true`, failed expansions render as `null`  
Expandable navigation properties |  List<String> |  List of types that can be generically expanded from this flow  
### Output
**Attributes Type** | ListenerRequestAttributes  
---|---  
### For Configurations
## Types
### Listener Request Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Entity Set Name  
Odata Http Attributes |  ODataHttpAttributes  
Odata Request Attributes |  ODataRequestAttributes  
### OData Http Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Enumeration, one of:
  * PATCH
  * DELETE

  
Raw Base Uri  
Raw Odata Path  
Raw Query Path  
Raw Request Uri  
Enumeration, one of:  
### OData Request Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Custom Query Options  
Entity Type Fields |  Array of String  
Entity Type Keys  
Entity Type Name  
System Query Options  
### Repeatable in Memory Stream
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Initial Buffer Size |  Amount of memory allocated to consume the stream and provide random access to it. If the stream has more data than buffer capacity, it expands according to the `bufferSizeIncrement` attribute, with an upper limit of `maxInMemorySize`.  
Buffer Size Increment |  Expansion of the buffer size if exceeding its initial size. If you set a value of zero or lower, the buffer does not expand and raises a `STREAM_MAXIMUM_SIZE_EXCEEDED` error when the buffer gets full.  
Max Buffer Size |  The maximum amount of memory for the buffer to use. When the memory usage exceeds this limit, a `STREAM_MAXIMUM_SIZE_EXCEEDED` error is raised. A value lower or equal to zero means no limit.  
Buffer Unit |  Enumeration, one of: |  Unit to express these attributes  
### Repeatable File Store Stream
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
In Memory Size |  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  
Buffer Unit |  Enumeration, one of: |  Unit to express `maxInMemorySize`  
### Redelivery Policy
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Max Redelivery Count |  Maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message  
Message Digest Algorithm |  Secure hashing algorithm (default: SHA-256)  
Message Identifier |  RedeliveryPolicyMessageIdentifier |  Strategy to identify the messages  
Object Store |  ObjectStore |  The object store where the redelivery counter for each message is stored  
### Redelivery Policy Message Identifier
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Use Secure Hash |  Whether to use a secure hash algorithm to identify a redelivered message  
Id Expression |  One or more expressions that determine when a message is redelivered. You can set this property if `useSecureHash` is `false`  
### Route Output Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Status Code  
### SQL Transformer Output Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Query Parameters  
### Raw Entity Success Response
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Raw Content |  Raw response content of the response message  
### Entity Success Response
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Body Content |  Body of the response message  
### Raw Entity Collection Success Response
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Raw Content |  Raw response message  
### Entity Collection Success Response
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Body Content |  Body of the response message  
Serialization Parameters |  SerializationParameters |  Set of serialization-related parameters.  
### Serialization Parameters
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
## See Also
  * APIkit for OData v4 Error Handling Reference