> ## Documentation Index
> Fetch the complete documentation index at: https://docs.request.network/llms.txt
> Use this file to discover all available pages before exploring further.

# Query Requests

> Request status monitoring, lifecycle management, and information retrieval

## Overview

Use query endpoints to retrieve the latest status for a specific request.

These endpoints are the main reconciliation surface for request-level state (paid/not paid, payment references, transaction hash, and optional metadata).

## Core Endpoints

* [GET /v2/request/{requestId}](https://api.request.network/open-api/#tag/v2request/GET/v2/request/\{requestId}) - get request status/details
* [GET /v2/payments](https://api.request.network/open-api/#tag/v2payments/GET/v2/payments) - wallet-level payment search and reconciliation

## How It Works

<Steps>
  <Step title="Read a single request status">
    Call [GET /v2/request/{requestId}](https://api.request.network/open-api/#tag/v2request/GET/v2/request/\{requestId}) to get current request-level status fields.

    Typical fields include:

    * `hasBeenPaid`
    * `paymentReference`
    * `txHash`
    * `isListening`
    * `requestAmount` — the original requested amount in invoice currency
    * `detectionSource` — how the payment was confirmed (`"request-network"` or `"lifi"`)
    * `note` — additional context for non-standard settlements (e.g., LiFi fallback)
    * `payerAddress` — the resolved payer wallet address for the payment (`null` when it can't be determined, e.g. for some contract-mediated flows)
    * `paidAmount`, `receivedAmount`, `excessAmount` — the amount paid by the payer, the raw amount received by the payment route, and any route-delivered amount above what was applied to the request
    * optional metadata such as `customerInfo` and `reference`
  </Step>

  <Step title="Combine with events for real-time updates">
    Use [Webhooks & Events](/api-features/webhooks-events) for push updates, and use query endpoints as source-of-truth reads.
  </Step>

  <Step title="Use wallet-level search when needed">
    For wallet-level reconciliation views, use [GET /v2/payments](https://api.request.network/open-api/#tag/v2payments/GET/v2/payments).
  </Step>
</Steps>

## Request Status Query

`GET /v2/request/{requestId}` is the canonical request-level status endpoint for:

* request payment completion checks (`hasBeenPaid`)
* transaction linkage (`txHash`)
* request identification (`requestId`, `paymentReference`)
* conversion-related status fields when applicable (`amountInUsd`, `conversionRate`, `conversionBreakdown`)

## Reconciliation Pattern

<CardGroup cols={2}>
  <Card title="Webhooks First" icon="bolt">
    React to events in real time and update app state immediately.
  </Card>

  <Card title="Query for Verification" icon="magnifying-glass">
    Use query endpoints to confirm latest status and backfill missed events.
  </Card>
</CardGroup>

## Practical Notes

* Use `requestId` for deterministic lookup.
* Keep idempotent reconciliation logic in case the same request is processed multiple times by your workers.
* The `GET /v2/request` list endpoint accepts an optional `walletAddress` query parameter to scope results to a single payee wallet. Omit it to list across the authenticated identity's requests.

## Related Pages

<CardGroup cols={3}>
  <Card title="Payment Detection" href="/api-features/payment-detection">
    Understand automatic detection and status updates.
  </Card>

  <Card title="Query Payments" href="/api-features/query-payments">
    Search and reconcile payment-level events.
  </Card>

  <Card title="Webhooks & Events" href="/api-features/webhooks-events">
    Build real-time event-driven reconciliation.
  </Card>
</CardGroup>

## API Reference

For full schemas and examples, see [Request Network API Reference](https://api.request.network/open-api).
