---
schema_version: "1"
id: 6981ee744a9b2126904131e01c2bda3422216147d62fa54e14ce6e84f71356f5
title: Implicit Parameters
collection: mulesoft
version: current
locale: en-us
portal_url: https://docs.salesforce.com/mulesoft/current/en-us/mule-sdk/latest/forward-compatibility-implicit-params.md
canonical_url: https://docs.mulesoft.com/mule-sdk/latest/forward-compatibility-implicit-params
source_site: docs.mulesoft.com
content_type: documentation
content_hash: a7611a853d9fa6d78c179b33d0a0ba6c50da322bc72b15f085af7c5a55bdf425
description: MuleSoft Documentation Site
release: "1.13"
latest: true
---
---
product: Mule SDK
version: 1.13
is-latest-version: true
keywords: mule, sdk, forward compatibility, implicit parameters
---

# Implicit Parameters

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

Implicit parameters are parameters that the Mule runtime engine automatically injects without
requiring configuration from the application developer. Examples include `StreamingHelper`,
`ComponentLocation`, and `CorrelationInfo`. These parameters don’t appear in the Extension Model.

## Implicit Parameter Types from org.mule.sdk.api

Starting with Mule 4.5, the runtime automatically treats parameters with types from
`org.mule.sdk.api` and its subpackages as implicit, enabling forward compatibility for new implicit
parameter types.

When you use a new implicit parameter type that was introduced in a later Mule version:

- On runtimes that support the type, the parameter is injected normally

- On earlier Mule runtime versions that don’t recognize the type, the parameter resolves to `null`
  and the runtime treats the parameter as implicit, meaning it doesn’t appear in the Extension Model
  and can’t be configured by the application developer.

## Handle Null Values

Implicit parameters from `org.mule.sdk.api` resolve to null on earlier Mule runtime versions. Your
code must handle this possibility:

```java
import org.mule.sdk.api.runtime.SomeNewHelper;

public class MyOperations {

  public void myOperation(String input, SomeNewHelper helper) {
    if (helper != null) {
      // Use the helper on runtimes that support it
      helper.doSomething();
    } else {
      // Fallback for older runtimes
    }
  }
}
```

> [!IMPORTANT] If the implicit parameter is essential to your operation and no fallback is possible,
> annotate the operation with `@MinMuleVersion` to restrict it to runtimes that support the
> parameter type.

## See Also

- [Forward Compatibility Patterns](https://docs.mulesoft.com/mule-sdk/latest/forward-compatibility-patterns)

- [Working with Minimum Mule Versions](https://docs.mulesoft.com/mule-sdk/latest/forward-compatibility-min-mule-version)

- [SDK Forward Compatibility](https://docs.mulesoft.com/mule-sdk/latest/forward-compatibility)
