> ## Documentation Index
> Fetch the complete documentation index at: https://docs.getpara.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Permissions actions

> Call Permissions methods with an explicit Para client

Import actions from `@getpara/react-sdk`, `@getpara/react-sdk-lite` or `@getpara/react-native-wallet`. Each action takes a Para client first, then the positional arguments of the [Para client method](https://docs.getpara.com/v3/references/core/permissions/listpolicies.md) of the same name, and returns the same promise. Actions work outside React components, but the client you pass must meet the method's access rules.

```typescript theme={null}
import { getUserPolicyParameters } from "@getpara/react-sdk";

const settings = await getUserPolicyParameters(para, policyId);
```

## Errors

An action rejects with the error its client method throws, described on each method page. An undefined client fails with `no para instance` before any request. [Permissions errors](https://docs.getpara.com/v3/references/permissions/errors.md) lists every server error.

## Policy discovery

Read active policy definitions for your app or for a wallet of the signed-in user.

### listPolicies

Lists your app's active policies that do not target specific users or wallets.

```typescript theme={null}
listPolicies(para: ParaCore | undefined): Promise<PermissionsV2PolicyListResponse>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listpolicies.md).

### getPolicy

Reads the active version of a policy that does not target specific users or wallets.

```typescript theme={null}
getPolicy(para: ParaCore | undefined, policyId: string): Promise<PermissionsV2PolicyResponse>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getpolicy.md).

### listApplicablePolicies

Lists the active policies that apply to a wallet of the signed-in user.

```typescript theme={null}
listApplicablePolicies(para: ParaCore | undefined, context: PermissionsV2WalletContext): Promise<PermissionsV2PolicyListResponse>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listapplicablepolicies.md).

### getApplicablePolicy

Reads one active policy that applies to a wallet of the signed-in user.

```typescript theme={null}
getApplicablePolicy(para: ParaCore | undefined, policyId: string, context: PermissionsV2WalletContext): Promise<PermissionsV2PolicyResponse>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getapplicablepolicy.md).

## Consent

Read a wallet's consent state or build the Portal link where its owner reviews a Request.

### listUserPolicyConsents

Lists the consent requests for a wallet of the signed-in user, with the status of each.

```typescript theme={null}
listUserPolicyConsents(para: ParaCore | undefined, context: PermissionsV2ConsentListContext): Promise<PermissionsV2DelegationConsentDiscoveryResponse>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listuserpolicyconsents.md).

### getUserPolicyConsent

Reads the consent status of one policy for a wallet of the signed-in user.

```typescript theme={null}
getUserPolicyConsent(para: ParaCore | undefined, policyId: string, context: PermissionsV2WalletContext): Promise<PermissionsV2DelegationConsentView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getuserpolicyconsent.md).

### getPolicyConsentUrl

Builds the Portal URL where the signed-in user reviews a policy and consents to it.

```typescript theme={null}
getPolicyConsentUrl(para: ParaCore | undefined, params: { walletId: string; policyId: string }): Promise<string>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getpolicyconsenturl.md).

## Adjustable parameters

Read, save or reset the signed-in user's personal parameter values, and inspect their saved history.

### listUserAdjustablePolicies

Lists the policies whose parameters the signed-in user can adjust, with the user's current values.

```typescript theme={null}
listUserAdjustablePolicies(para: ParaCore | undefined): Promise<PermissionsV2UserAdjustablePolicyListResponse>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listuseradjustablepolicies.md).

### getUserPolicyParameters

Reads the signed-in user's values for one policy's adjustable parameters, with the declarations and current revision.

```typescript theme={null}
getUserPolicyParameters(para: ParaCore | undefined, policyId: string): Promise<PermissionsV2UserParameterView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getuserpolicyparameters.md).

### updateUserPolicyParameters

Saves the signed-in user's values for a policy's adjustable parameters.

```typescript theme={null}
updateUserPolicyParameters(para: ParaCore | undefined, policyId: string, body: PermissionsV2UserParameterSave): Promise<PermissionsV2UserParameterView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/updateuserpolicyparameters.md).

### resetUserPolicyParameters

Restores the policy defaults as the signed-in user's values for its adjustable parameters.

```typescript theme={null}
resetUserPolicyParameters(para: ParaCore | undefined, policyId: string, body: PermissionsV2UserParameterReset): Promise<PermissionsV2UserParameterView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/resetuserpolicyparameters.md).

### listUserPolicyParameterHistory

Lists the saved revisions of the signed-in user's values for one policy, newest first.

```typescript theme={null}
listUserPolicyParameterHistory(para: ParaCore | undefined, policyId: string, options?: PermissionsV2HistoryOptions): Promise<PermissionsV2UserParameterHistory>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listuserpolicyparameterhistory.md).

## Approval configuration

Find configurable requirements, read their settings and update or reset them for an authorization scope.

### listConfigurableApprovalRequirements

Lists the approval requirements the signed-in user can configure in an authorization scope.

```typescript theme={null}
listConfigurableApprovalRequirements(para: ParaCore | undefined, authorizationScopeId: string): Promise<PermissionsV2ConditionalRequirementList>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listconfigurableapprovalrequirements.md).

### getConfigurableApprovalRequirement

Reads one approval requirement the signed-in user can configure, in a specific policy version.

```typescript theme={null}
getConfigurableApprovalRequirement(para: ParaCore | undefined, reference: PermissionsV2ApprovalRequirementReference): Promise<PermissionsV2ConditionalRequirementView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getconfigurableapprovalrequirement.md).

### getApprovalConfiguration

Reads the stored settings and revision for an approval requirement in an authorization scope.

```typescript theme={null}
getApprovalConfiguration(para: ParaCore | undefined, reference: PermissionsV2ApprovalRequirementReference): Promise<PermissionsV2AuthorizationConfigurationView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getapprovalconfiguration.md).

### getEffectiveApprovalConfiguration

Reads an approval requirement with the stored settings for an authorization scope applied.

```typescript theme={null}
getEffectiveApprovalConfiguration(para: ParaCore | undefined, reference: PermissionsV2ApprovalRequirementReference): Promise<PermissionsV2EffectiveAuthorizationConfiguration>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/geteffectiveapprovalconfiguration.md).

### updateApprovalConfiguration

Saves new values for an approval requirement's configurable settings in an authorization scope.

```typescript theme={null}
updateApprovalConfiguration(para: ParaCore | undefined, reference: PermissionsV2ApprovalRequirementReference, body: PermissionsV2AuthorizationConfigurationWrite): Promise<PermissionsV2AuthorizationConfigurationView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/updateapprovalconfiguration.md).

### resetApprovalConfiguration

Clears the stored settings for an approval requirement so the authored defaults apply again.

```typescript theme={null}
resetApprovalConfiguration(para: ParaCore | undefined, reference: PermissionsV2ApprovalRequirementReference, reset: number | PermissionsV2ApprovalConfigurationReset): Promise<PermissionsV2AuthorizationConfigurationView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/resetapprovalconfiguration.md).

### listApprovalConfigurationHistory

Lists every stored revision of an approval requirement's settings in an authorization scope, newest first.

```typescript theme={null}
listApprovalConfigurationHistory(para: ParaCore | undefined, reference: PermissionsV2ApprovalRequirementReference): Promise<PermissionsV2AuthorizationConfigurationHistory>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listapprovalconfigurationhistory.md).

## Roles and scopes

Read the signed-in user's assignments and the requirements they can configure in a scope.

### getUserApprovalAssignments

Reads the signed-in user's roles and attributes in an authorization scope.

```typescript theme={null}
getUserApprovalAssignments(para: ParaCore | undefined, authorizationScopeId: string): Promise<PermissionsV2AuthoritySetView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getuserapprovalassignments.md).

### getUserApprovalCapabilities

Lists the approval requirements the signed-in user can configure in an authorization scope.

```typescript theme={null}
getUserApprovalCapabilities(para: ParaCore | undefined, authorizationScopeId: string): Promise<PermissionsV2AuthorizationScopeCapabilities>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getuserapprovalcapabilities.md).

## Approval cases

Read cases the user can review or initiated, record eligible decisions, cancel a pending case or open its Portal review.

### listAccessibleApprovalCases

Lists the approval cases the signed-in user can review, and the signature collections they started.

```typescript theme={null}
listAccessibleApprovalCases(para: ParaCore | undefined): Promise<{ cases: PermissionsV2ConditionalApprovalCaseView[] }>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listaccessibleapprovalcases.md).

### getAccessibleApprovalCase

Reads an approval case the signed-in user can review, with the user's decision options.

```typescript theme={null}
getAccessibleApprovalCase(para: ParaCore | undefined, caseId: string): Promise<PermissionsV2ConditionalApprovalCaseView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getaccessibleapprovalcase.md).

### listInitiatedApprovalCases

Lists the approval cases for requests the signed-in user started, newest first.

```typescript theme={null}
listInitiatedApprovalCases(para: ParaCore | undefined, options?: PermissionsV2CaseListOptions): Promise<PermissionsV2ConditionalApprovalCaseList>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/listinitiatedapprovalcases.md).

### getInitiatedApprovalCase

Reads an approval case for a request the signed-in user started.

```typescript theme={null}
getInitiatedApprovalCase(para: ParaCore | undefined, caseId: string): Promise<PermissionsV2ConditionalApprovalCaseView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getinitiatedapprovalcase.md).

### approveApprovalCase

Records the signed-in approver's approval on an approval case.

```typescript theme={null}
approveApprovalCase(para: ParaCore | undefined, caseId: string): Promise<PermissionsV2ConditionalApprovalCaseView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/approveapprovalcase.md).

### rejectApprovalCase

Records the signed-in approver's rejection, which ends the approval case.

```typescript theme={null}
rejectApprovalCase(para: ParaCore | undefined, caseId: string): Promise<PermissionsV2ConditionalApprovalCaseView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/rejectapprovalcase.md).

### cancelApprovalCase

Cancels a pending approval case for a request the signed-in user started.

```typescript theme={null}
cancelApprovalCase(para: ParaCore | undefined, caseId: string): Promise<PermissionsV2ConditionalApprovalCaseView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/cancelapprovalcase.md).

### getApprovalCaseReviewUrl

Builds the Portal URL where the signed-in approver reviews an approval case.

```typescript theme={null}
getApprovalCaseReviewUrl(para: ParaCore | undefined, params: { caseId: string }): Promise<string>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getapprovalcasereviewurl.md).

## Signature collection

Start a collection, read its payload and submit or collect signatures from approvers' wallets.

### createApprovalSignatureCollection

Opens an approval case that collects approvers' signatures for a transaction.

```typescript theme={null}
createApprovalSignatureCollection(para: ParaCore | undefined, body: PermissionsV2TransactionSignatureCollection): Promise<PermissionsV2ApprovalSignatureCollectionResult>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/createapprovalsignaturecollection.md).

### getApprovalSigningPayload

Reads what the signed-in approver signs in the current stage of a signature collection.

```typescript theme={null}
getApprovalSigningPayload(para: ParaCore | undefined, caseId: string): Promise<PermissionsV2ApprovalSigningPayload>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getapprovalsigningpayload.md).

### submitApprovalSignature

Submits the signed-in approver's signature to a signature collection.

```typescript theme={null}
submitApprovalSignature(para: ParaCore | undefined, caseId: string, body: PermissionsV2ConditionalApprovalSignature): Promise<PermissionsV2ConditionalApprovalCaseView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/submitapprovalsignature.md).

### getApprovalSignatures

Reads the collected signatures once a signature collection is complete.

```typescript theme={null}
getApprovalSignatures(para: ParaCore | undefined, caseId: string): Promise<PermissionsV2ApprovalSignatures>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getapprovalsignatures.md).

### signApprovalTransaction

Signs a signature collection's payload with one of the signed-in approver's wallets and submits the signature.

```typescript theme={null}
signApprovalTransaction(para: ParaCore | undefined, params: SignApprovalTransactionParams): Promise<PermissionsV2ConditionalApprovalCaseView>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/signapprovaltransaction.md).

## Usage

Read the current spend meters for a policy and the selected wallet, network and asset.

### getUserPolicyUsage

Reads the current spend usage of a policy for a wallet of the signed-in user.

```typescript theme={null}
getUserPolicyUsage(para: ParaCore | undefined, policyId: string, context: PermissionsV2UsageContext): Promise<PermissionsV2PolicyUsage>
```

[Arguments, result, and Portal behavior](https://docs.getpara.com/v3/references/core/permissions/getuserpolicyusage.md).

<picture>![Para client methods](https://docs.getpara.com/images/v3/cards/sdk-list-policies.png)</picture>

## [Para client methods](https://docs.getpara.com/v3/references/core/permissions/listpolicies.md)

Arguments, access and errors for each method.

<picture>![Permissions hooks](https://docs.getpara.com/images/v3/cards/sdk-react-permissions-hooks.png)</picture>

## [Permissions hooks](https://docs.getpara.com/v3/references/hooks/permissions.md)

Query and mutation hooks for React components.

<picture>![Permissions types](https://docs.getpara.com/images/v3/cards/concept-permissions-types.png)</picture>

## [Permissions types](https://docs.getpara.com/v3/references/types/permissions.md)

Inputs and responses for every Permissions method.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.