# Escalate a rejected URL

> Request manual review of a rejected URL. Only URLs in 'rejected' status can be escalated; the status then moves to 'escalated'.

`POST https://api.zavu.dev/v1/urls/{urlId}/escalate`

Request manual review of a rejected URL. Only URLs in 'rejected' status can be escalated; the status then moves to 'escalated'.

## Parameters

- `urlId` (path, string, required)

## Body

- `reason` (string, required): Why the URL should be reviewed manually.

## Responses

### 200

URL escalated for manual review.

- `url` (object, required)
  - `id` (string, required)
  - `url` (string, required): The verified URL.
  - `domain` (string, required): Domain extracted from the URL.
  - `status` (string, required): Status of a verified URL. One of: `pending`, `approved`, `rejected`, `escalated`, `malicious`.
  - `approvalType` (string): How the URL was approved or rejected. One of: `manual`, `auto_web_risk`.
  - `createdAt` (string<date-time>, required)
  - `updatedAt` (string<date-time>)
- `message` (string, required)

### 400

Only rejected URLs can be escalated, or the URL is already escalated.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

### 401

Unauthorized.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

### 404

URL not found.

- `code` (string, required)
- `message` (string, required)
- `details` (object)

## Example

```bash
curl -X POST "https://api.zavu.dev/v1/urls/url_abc123/escalate" \
  -H "Authorization: Bearer $ZAVUDEV_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "reason": "This is our official landing page and was rejected in error."
}'
```

```typescript
import Zavudev from "@zavudev/sdk";

const zavu = new Zavudev({ apiKey: process.env.ZAVUDEV_API_KEY });

const result = await zavu.urls.escalate("url_abc123", {
  reason: "This is our official landing page and was rejected in error.",
});

console.log(result);
```
