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

# approvePartnerReview

> Approves an ordinary review that one of your app's signing requests opened.

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

Approves an ordinary review that one of your app's signing requests opened.

Copy method signature

### Returns

[`Promise<PermissionsV2PartnerReviewApproval>`](/v3/references/types/permissions#permissionsv2partnerreviewapproval)

The review with its current status.

## Route

The request addresses a review that your app's own signing request opened. It takes no body.

```text theme={null}
POST /v1/permissions-v2/reviews/{reviewId}/approve
```

A pending review becomes `approved`. A review expires 5 minutes after Para opens it, and approval does not extend that time. A call after that time marks a pending or approved review `expired` and returns that status. A review that has already ended keeps its status, so the call returns `200` with `rejected`, `expired` or `consumed`. `approvedAt` is set once the review has been approved.

## Example

Approve the review, then resend the identical signing request with the same `Idempotency-Key`. You can also add `reviewId` to the body. Para evaluates the request again and signs it once.

```ts theme={null}
const review = await para.approvePartnerReview(reviewId);

if (review.status === "approved") {
  await para.transfer(walletId, { to, value, chainId: 11155111 }, { idempotencyKey: paymentId });
}
```

If the status is `expired`, send the request with a new `Idempotency-Key` to open a new review.

## 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 review with this ID exists. |
| 403 | `FORBIDDEN` | The review does not belong to your app, or Para could not resolve your app from the API key. |
| 409 | `CONFLICT` | A signing call is using the approved review right now. Call again later. |


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