Contact Us 1-800-596-4880

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>
1 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

String

Name for this configuration. Connectors reference the configuration with this name

Yes

Api Definition

String

API definition

Yes

Name

String

Identifier of this element used to reference it in other components

Yes

Operations

Route

<apikit-odata:route>

Parameters

Name Type Description Default Value Required

Configuration

String

Name of the configuration to use

Yes

Content

Any

#[payload]

No

Route correlation Id

Boolean

Consistent correlation Ids across subsequent flows

true

No

Output MIME Type

String

MIME type of the payload that this operation outputs

No

Output Encoding

String

Encoding of the payload that this operation outputs

No

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component

Yes

Streaming Strategy

Configure if repeatable streams and their behavior are used

No

Method

Enumeration, one of:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE

HTTP request method name

Yes

Masked Request Path

String

OData request path, relative to listener

Yes

Scheme

Enumeration, one of:

  • HTTP

  • HTTPS

HTTP request scheme

Yes

Host

String

Request host

Yes

Listener Path

String

Listener path ending with "*"

Yes

Http Headers

Object

HTTP request headers

No

Query String

String

HTTP query string

No

Target Variable

String

Name of a variable on which the operation output is placed

No

Target Value

String

An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable

#[payload]

No

Output

Type

Any

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

String

Name of the configuration to use

Yes

Inbound Content

Binary

#[payload]

No

Output MIME Type

String

MIME type of the payload that this operation outputs

No

Output Encoding

String

Encoding of the payload that this operation outputs

No

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component

Yes

Streaming Strategy

Configure if repeatable streams and their behavior are used

No

Method

Enumeration, one of:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE

HTTP Method

Yes

Path

String

Path to Entity Type

Yes

Target Variable

String

Name of a variable on which the operation output is placed

No

Target Value

String

An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable

#[payload]

No

Output

Type

Binary

For Configurations

Serialize Entity Collection

<apikit-odata:serialize-entity-collection>

Parameters

Name Type Description Default Value Required

Configuration

String

Name of the configuration

Yes

Inbound Content

Binary

#[payload]

No

Output MIME Type

String

MIME type of the payload that this operation outputs

No

Output Encoding

String

Encoding of the payload that this operation outputs

No

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component

Yes

Streaming Strategy

Configure if repeatable streams and their behavior are used

No

Method

Enumeration, one of:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE

HTTP Method

Yes

Path

String

Path to Entity Type

Yes

Target Variable

String

Name of a variable on which the operation output is placed

No

Target Value

String

An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable

#[payload]

No

Output

Type

Binary

For Configurations

Transform to SQL Select

<apikit-odata:transform-to-sql-select>

Parameters

Name Type Description Default Value Required

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component

Yes

Configuration

String

Name of the configuration to use

Yes

Database Schema

String

Database schema name to which the entity set belongs. If not empty, it’s prefixed to the table name in the WHERE clause

No

Entity Set Name

String

Table name in the database for the requested entity set

Yes

Entity Type Fields

Array of String

List of property fields from the Entity type

Yes

Entity Type Keys

Object

Map of entity key names and values

Yes

Entity Type Name

String

Entity Data Model specifies the entity type name

Yes

Page Size

Number

No

searchFieldsAsType

Object

Data type to which fields are type-casted for the $search operation. If empty, no type-casting is performed

No

Search Transformation Enabled

Boolean

Enabling $search transformation to WHERE clause

true

No

Sql Identifiers Delimiter

Enumeration, one of:

  • DOUBLE_QUOTES

  • BRACKETS

  • BACK_TICKS

Option to delimit identifiers

No

Sql Limit Rows

Enumeration, one of:

  • LIMIT

  • FETCH_NEXT_ROWS_ONLY

Option to limit the number of rows

No

Strict Search Term Match

Boolean

Enabling full term match for $search. If enabled, terms in WHERE clause aren’t enclosed between '%'.

false

No

Streaming Strategy

Configure if repeatable streams and their behavior are used

No

System Query Options

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, $skip uses the following expression #[attributes.systemQueryOptions.'skip']

Yes

Target Value

String

An expression that is evaluated against the operation output and the outcome of that expression is stored in the target variable

#[payload]

No

Target Variable

String

Name of a variable on which the operation output is placed

No

Output

Type

Binary

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

Sources

On Entity Collection Request

<apikit-odata:request-entity-collection-listener>

Parameters

Name Type Description Default Value Required

Configuration

String

Name of the configuration to use

Yes

Output MIME Type

String

MIME type of the payload that this operation outputs

No

Output Encoding

String

Encoding of the payload that this operation outputs

No

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component

Yes

Primary Node Only

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

No

Redelivery Policy

Policy for processing the redelivery of the same message

No

Method

Enumeration, one of:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE

HTTP Method

Yes

Path

String

Path to Entity Type

Yes

Collection Success Response

No

Supported System Query Options - $expand

Boolean

Enabling support for $expand

true

No

Ignore errors on expansion enabled

Boolean

Disallowing errors from the flows that generic expansion calls to propagate to this flow. When true, failed expansions render as null.

false

No

Expandable navigation properties

List<String>

List of types that can be generically expanded from this flow.

[]

No

Output

Type

Any

Attributes Type

ListenerRequestAttributes

For Configurations

On Entity Request

<apikit-odata:request-entity-listener>

Parameters

Name Type Description Default Value Required

Configuration

String

Name of the configuration to use

Yes

Output MIME Type

String

MIME type of the payload that this operation outputs

No

Output Encoding

String

Encoding of the payload that this operation outputs

No

Config Ref

ConfigurationProvider

Name of the configuration used to execute this component

Yes

Primary Node Only

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

No

Redelivery Policy

Policy for processing the redelivery of the same message

No

Method

Enumeration, one of:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE

HTTP Method

Yes

Path

String

Path to Entity Type

Yes

Supported System Query Options - $expand

Boolean

Enabling support for $expand

true

No

Ignore errors on expansion enabled

Boolean

Disallowing errors from the flows that generic expansion calls to propagate to this flow. When true, failed expansions render as null

false

No

Expandable navigation properties

List<String>

List of types that can be generically expanded from this flow

[]

No

Output

Type

Any

Attributes Type

ListenerRequestAttributes

For Configurations

Types

Listener Request Attributes

Field Type Description Default Value Required

Entity Set Name

String

Odata Http Attributes

No

Odata Request Attributes

No

OData Http Attributes

Field Type Description Default Value Required

Headers

Object

No

Method

Enumeration, one of:

  • GET

  • POST

  • PUT

  • PATCH

  • DELETE

Raw Base Uri

String

No

Raw Odata Path

String

No

Raw Query Path

String

No

Raw Request Uri

String

No

Scheme

Enumeration, one of:

  • HTTP

  • HTTPS

No

OData Request Attributes

Field Type Description Default Value Required

Custom Query Options

Object

No

Entity Type Fields

Array of String

No

Entity Type Keys

Object

No

Entity Type Name

String

No

System Query Options

Object

No

Repeatable in Memory Stream

Field Type Description Default Value Required

Initial Buffer Size

Number

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.

No

Buffer Size Increment

Number

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.

No

Max Buffer Size

Number

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.

No

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit to express these attributes

No

Repeatable File Store Stream

Field Type Description Default Value Required

In Memory Size

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

No

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit to express maxInMemorySize

No

Redelivery Policy

Field Type Description Default Value Required

Max Redelivery Count

Number

Maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message

No

Message Digest Algorithm

String

Secure hashing algorithm (default: SHA-256)

No

Message Identifier

Strategy to identify the messages

No

Object Store

ObjectStore

The object store where the redelivery counter for each message is stored

No

Redelivery Policy Message Identifier

Field Type Description Default Value Required

Use Secure Hash

Boolean

Whether to use a secure hash algorithm to identify a redelivered message

No

Id Expression

String

One or more expressions that determine when a message is redelivered. You can set this property if useSecureHash is false

No

Route Output Attributes

Field Type Description Default Value Required

Headers

Object

No

Status Code

Number

No

SQL Transformer Output Attributes

Field Type Description Default Value Required

Query Parameters

Object

No

Raw Entity Success Response

Field Type Description Default Value Required

Raw Content

Binary

Raw response content of the response message

#[payload]

No

Entity Success Response

Field Type Description Default Value Required

Body Content

Binary

Body of the response message

#[payload]

No

Raw Entity Collection Success Response

Field Type Description Default Value Required

Raw Content

Binary

Raw response message

#[payload]

No

Entity Collection Success Response

Field Type Description Default Value Required

Body Content

Binary

Body of the response message

#[payload]

No

Serialization Parameters

Set of serialization-related parameters.

Yes

Serialization Parameters

Field Type Description Default Value Required

Count

Number

No

Page Size

Number

No

Token

String

No