<!--
{
  "availability" : [
    "iOS: 18.0.0 -",
    "iPadOS: 18.0.0 -",
    "macCatalyst: 18.0.0 -",
    "macOS: 15.0.0 -",
    "watchOS: 11.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "CarKey",
  "identifier" : "/documentation/CarKey/RemoteKeylessEntryConfigurableEnduringAction",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "CarKey"
    ],
    "preciseIdentifier" : "s:6CarKey44RemoteKeylessEntryConfigurableEnduringActionV"
  },
  "title" : "RemoteKeylessEntryConfigurableEnduringAction"
}
-->

# RemoteKeylessEntryConfigurableEnduringAction

An action with an optional stopping point that you want to perform
on a vehicle.

```
struct RemoteKeylessEntryConfigurableEnduringAction
```

## Overview

Use a [`RemoteKeylessEntryConfigurableEnduringAction`](/documentation/CarKey/RemoteKeylessEntryConfigurableEnduringAction) object to store details about
an action that you can stop or let run to completion. For example,
you might use this type of action to lower or raise the top
of a convertible vehicle. The object stores information about
the vehicle feature to control and the action to take on that
feature. It also stores the identifier for the vehicle itself.

After you create a [`RemoteKeylessEntryConfigurableEnduringAction`](/documentation/CarKey/RemoteKeylessEntryConfigurableEnduringAction) object, call
your session’s [`perform(_:)`](/documentation/CarKey/CarKeyRemoteControlSession/perform(_:)-7mpsy) method
to execute the action. Use the returned
[`RemoteKeylessEntryAction.ExecutionRequest`](/documentation/CarKey/RemoteKeylessEntryAction/ExecutionRequest) object to determine
the success or failure of the request.

## Topics

### Classes

[`class EnduringExecutionRequest`](/documentation/CarKey/RemoteKeylessEntryConfigurableEnduringAction/EnduringExecutionRequest)

An object that reports the results of an action with an
optional stopping point.

### Initializers

[`init(functionID: FunctionIdentifier, actionID: ActionIdentifier, vehicleID: String)`](/documentation/CarKey/RemoteKeylessEntryConfigurableEnduringAction/init(functionID:actionID:vehicleID:))

Creates a new action object with the specified action-specific
details and vehicle ID.

### Instance Properties

[`let actionID: ActionIdentifier`](/documentation/CarKey/RemoteKeylessEntryConfigurableEnduringAction/actionID)

The vehicle-specific code that identifies what action
to take on the targeted feature.

[`let functionID: FunctionIdentifier`](/documentation/CarKey/RemoteKeylessEntryConfigurableEnduringAction/functionID)

The vehicle-specific code that identifies which feature you
want to control.

[`let recipientVehicleID: String`](/documentation/CarKey/RemoteKeylessEntryConfigurableEnduringAction/recipientVehicleID)

The vehicle to receive the action request.

---

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)