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

# Retrieve and Filter Invoices — POST /dac/v1/invoices

> Retrieve invoices from your Finrock sub-account. Filter by invoice ID or memo to locate specific payments and reconcile transaction records.

Use this endpoint to retrieve invoices previously created in your Finrock sub-account. You can fetch all invoices or narrow the results by providing a specific invoice ID or a memo string to match. This is useful for reconciling payments, checking invoice status, and building invoice management workflows in your application.

## Request

**Method:** `POST`
**URL:** `https://api.finrock.io/dac/v1/invoices`

<ParamField body="id" type="string">
  The unique identifier of the invoice you want to retrieve. When provided, the response contains only the matching invoice.
</ParamField>

<ParamField body="memo" type="string">
  Filter invoices by memo text. Returns all invoices whose memo field matches or contains the provided string.
</ParamField>

## Example Requests

<CodeGroup>
  ```bash List All Invoices theme={null}
  curl --request POST \
       --url https://api.finrock.io/dac/v1/invoices \
       --header 'accept: application/json' \
       --header 'content-type: application/json' \
       --data '{}'
  ```

  ```bash Filter by Invoice ID theme={null}
  curl --request POST \
       --url https://api.finrock.io/dac/v1/invoices \
       --header 'accept: application/json' \
       --header 'content-type: application/json' \
       --data '{
    "id": "inv_abc123"
  }'
  ```

  ```bash Filter by Memo theme={null}
  curl --request POST \
       --url https://api.finrock.io/dac/v1/invoices \
       --header 'accept: application/json' \
       --header 'content-type: application/json' \
       --data '{
    "memo": "Order #1042"
  }'
  ```
</CodeGroup>

## Response

A `200` response returns an array of invoice objects matching your filter criteria. When no filters are provided, all invoices in your sub-account are returned. A `400` response indicates an issue with the request body.

<ResponseField name="200" type="array">
  An array of invoice objects, each containing the invoice ID, payment address, crypto and fiat amounts, memo, payer details, status, and expiry.
</ResponseField>

<ResponseField name="400" type="object">
  Returned when the request body is malformed or contains invalid filter values.
</ResponseField>

<Tip>
  To retrieve a single invoice by ID, pass only the `id` field. To browse all invoices for reconciliation, omit both fields and paginate through the full result set.
</Tip>
