---
title: "get async request status"
method: GET
path: "/instances/{id}/request/{reference}"
tags: ["instances"]
---

# get async request status

`GET /instances/{id}/request/{reference}`

## Request

- Base URL: `https://waapi.app/api/v1`
- URL: `https://waapi.app/api/v1/instances/{id}/request/{reference}`
- Auth: HTTP bearer

Retrieve the status or result of an async request by its reference UUID. Results are cached for up to 5 minutes after processing. An asynchronous send refused by the send protection is attempted up to four times in total (three retries, each after the node's retryAfter); the last refusal is returned inside data with HTTP 200 and the same reason/retryAfter/message fields as the synchronous 429 body.

## Path parameters

- `id` integer, required
- `reference` string, uuid, required

## Response `200`

The request result or pending status

- object
  - `data` object
    - `status` 'pending' | 'success' | 'error'
    - `message` string
  - `status` 'success' | 'error'

## Other responses

- `401`: Unauthorized — invalid or missing bearer token
- `403`: Forbidden — insufficient permissions or account blocked
- `404`: Reference expired or does not exist
- `406`: Invalid reference format (must be UUID)
- `409`: Conflict — instance is not ready
- `422`: Validation error — invalid or missing request parameters
- `429`: Too many requests — rate limit exceeded

---

[API](https://skmtc.dev/waapi/apis/waapi-api-2.md) · [All operations](https://skmtc.dev/waapi/apis/waapi-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/waapi/apis/waapi-api-2/revisions/490302f75576?raw)
