<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "visionOS: 1.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "SiriKit",
  "identifier" : "/documentation/Intents/INParameter",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Intents"
    ],
    "preciseIdentifier" : "c:objc(cs)INParameter"
  },
  "title" : "INParameter"
}
-->

# INParameter

A parameter of an interaction object.

```
class INParameter
```

## Overview

Use a parameter object to identify a property of an [`INInteraction`](/documentation/Intents/INInteraction) object. To fetch the value of the property, use the [`parameterValue(for:)`](/documentation/Intents/INInteraction/parameterValue(for:)) method of the [`INInteraction`](/documentation/Intents/INInteraction) object.

You use parameters when configuring a custom user interface for your Siri or Maps interactions. SiriKit passes parameter objects to you during the configuration of your interface. When configuring your interface, you can also create parameter objects to represent properties that you display in addition to the ones that SiriKit provides.

## Topics

### Creating a Parameter Object

[`init(for:keyPath:)`](/documentation/Intents/INParameter/init(for:keyPath:))

Creates a new parameter object using the specified key path and class information.

[`init(keyPath:)`](/documentation/Intents/INParameter/init(keyPath:))

Creates a new parameter object using the specified key path and class information.

### Getting the Parameter Details

[`parameterKeyPath`](/documentation/Intents/INParameter/parameterKeyPath)

The key path to a property of an interaction object.

[`parameterClass`](/documentation/Intents/INParameter/parameterClass)

The type of object represented by this parameter.

### Managing Indexed Values

[`index(forSubKeyPath:)`](/documentation/Intents/INParameter/index(forSubKeyPath:))

The index into the array at the specified portion of the key path.

[`setIndex(_:forSubKeyPath:)`](/documentation/Intents/INParameter/setIndex(_:forSubKeyPath:))

Specifies which item of an array or ordered set to use for the parameter.

### Comparing Parameters

[`isEqual(to:)`](/documentation/Intents/INParameter/isEqual(to:))

Returns a Boolean value indicating whether the specified parameter object represents the same property as the current parameter object.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)