---
title: "Resolve: extracted text becomes a raw note (upload → extract → note)"
method: POST
path: "/v1/escalations/{id}/resolve"
tags: ["vault"]
---

# Resolve: extracted text becomes a raw note (upload → extract → note)

`POST /v1/escalations/{id}/resolve`

## Request

- Base URL: `https://api.hyperresearch.ai`
- URL: `https://api.hyperresearch.ai/v1/escalations/{id}/resolve`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `hr_session`

Close an escalation with the text extracted from the page you fetched by hand. The text becomes a raw vault note and the response carries its `note_id`. Pass `raw_r2_key` from `POST /v1/escalations/{id}/raw/{filename}` to link the original bytes.

## Path parameters

- `id` string, required

## Request body

- object
  - `body` string, required
  - `title` string
  - `raw_r2_key` string
  - `tags` string[]
  - `summary` string
  - `fetch_provider` string

## Response `200`

Resolved

- object

## Other responses

- `400`: Invalid request
- `401`: Authentication failed
- `403`: Insufficient scope or plan
- `404`: Not found
- `429`: Rate limited or over quota
- `500`: Internal error

---

[API](https://skmtc.dev/hyperresearch/apis/hyperresearch-cloud-api.md) · [All operations](https://skmtc.dev/hyperresearch/apis/hyperresearch-cloud-api/llms.txt) · [OpenAPI document](https://skmtc.dev/hyperresearch/apis/hyperresearch-cloud-api/revisions/726ef831ebf4?raw)
