> ## 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.

# getConfigurableApprovalRequirement

> Reads one approval requirement with configurable settings, in a specific policy version.

## Import

Call this method on a server-side ParaRestClient created with your server secret key.

```ts theme={null}
import { ParaRestClient } from "@getpara/rest-sdk";
```

async

Reads one approval requirement with configurable settings, in a specific policy version.

Copy method signature

### Returns

[`Promise<PermissionsV2ConditionalRequirementView>`](/v3/references/types/permissions#permissionsv2conditionalrequirementview)

The authored requirement and its policy version.

## Route

All four reference fields appear in the path, including the immutable `policyVersion`.

```text theme={null}
GET /v1/permissions-v2/authorization-scopes/{authorizationScopeId}/policies/{policyId}/versions/{policyVersion}/requirements/{requirementId}
```

## Example

Build the reference for the scope, policy version and requirement you want to inspect.

```ts theme={null}
const reference = { authorizationScopeId, policyId, policyVersion, requirementId };
const { requirement } = await para.getConfigurableApprovalRequirement(reference);
```

## Errors

A non-success response throws `ParaRestError` with the HTTP `status`, the error `code` and a `message`. [Permissions errors](/v3/references/permissions/errors) lists every error code.

An empty path argument throws `ParaRestValidationError` before the request is sent.

| Status | Code | When |
| - | - | - |
| 404 | `NOT_FOUND` | No active requirement with configurable settings matches the reference. |


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