# SessionKeyPluginActions | @account-kit/smart-contracts

> Overview of SessionKeyPluginActions from @account-kit/smart-contracts

> For the complete documentation index, see [llms.txt](/docs/llms.txt).

{/* This file is auto-generated by TypeDoc. Do not edit manually. */}

```ts
type SessionKeyPluginActions<TAccount, TEntryPointVersion> = Omit<
  SessionKeyPluginActions_<TAccount>,
  | "removeSessionKey"
  | "addSessionKey"
  | "rotateSessionKey"
  | "updateKeyPermissions"
> &
  object &
  IsUndefined<TAccount> extends false
  ? object
  : object;
```

Defined in: [account-kit/smart-contracts/src/msca/plugins/session-key/extension.ts:23](https://github.com/alchemyplatform/aa-sdk/blob/main/account-kit/smart-contracts/src/msca/plugins/session-key/extension.ts#L23)

## Type Declaration

<table>
  <thead>
    <tr>
      <th align="left">Name</th>
      <th align="left">Type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `addSessionKey()`
      </td>

      <td>
        (`args`) => `Promise`\<`SendUserOperationResult`\<`TEntryPointVersion`>>
      </td>
    </tr>

    <tr>
      <td>
        `getAccountSessionKeys()`
      </td>

      <td>
        (`args`) => `Promise`\<`ReadonlyArray`\<[`Address`](https://abitype.dev)>>
      </td>
    </tr>

    <tr>
      <td>
        `isAccountSessionKey()`
      </td>

      <td>
        (`args`) => `Promise`\<`boolean`>
      </td>
    </tr>

    <tr>
      <td>
        `removeSessionKey()`
      </td>

      <td>
        (`args`) => `Promise`\<`SendUserOperationResult`\<`TEntryPointVersion`>>
      </td>
    </tr>

    <tr>
      <td>
        `rotateSessionKey()`
      </td>

      <td>
        (`args`) => `Promise`\<`SendUserOperationResult`\<`TEntryPointVersion`>>
      </td>
    </tr>

    <tr>
      <td>
        `updateSessionKeyPermissions()`
      </td>

      <td>
        (`args`) => `Promise`\<`SendUserOperationResult`\<`TEntryPointVersion`>>
      </td>
    </tr>

  </tbody>
</table>

## Type Parameters

<table>
  <thead>
    <tr>
      <th align="left">Type Parameter</th>
      <th align="left">Default type</th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        `TAccount` *extends* `SmartContractAccount` | `undefined`
      </td>

      <td>
        `SmartContractAccount` | `undefined`
      </td>
    </tr>

    <tr>
      <td>
        `TEntryPointVersion` *extends* `GetEntryPointFromAccount`\<`TAccount`>
      </td>

      <td>
        `GetEntryPointFromAccount`\<`TAccount`>
      </td>
    </tr>

  </tbody>
</table>