---
title: "Reports & Query API"
source_url: https://docs.rapyd.net/en/reports---query-api.html
lang: en
---

# Reports & Query API

### End of day report

Sends the EOD report and prints a receipt. The receipt totals all sales since the previous EOD.

```java

Api.sendEndOfDayReport(context);

// With options
HashMap<String, String> params = new HashMap<>();
params.put(Parameters.DISABLE_PRINTING, "true");
params.put(Parameters.SHOW_UI, "false");
Api.sendEndOfDayReport(context, params);
```

**Response:** `END_OF_DAY_RESULT_ACTION` with extra `END_OF_DAY_RESULT` (JSON string).

### Silent EOD (no UI)

Sends the EOD report as a broadcast, without showing any UI.

```java

Api.requestEndOfDay(context, params);  // DISABLE_PRINTING supported
```

### Last EOD result

Retrieves the result of the most recent EOD report without triggering a new one.

```java

Api.requestLastEndOfDay(context, params);
```

**Response:** `LAST_END_OF_DAY_RESULT_ACTION` with extra `LAST_END_OF_DAY_RESULT` (JSON string).

### X Report

An interim report showing current-day totals without closing the day.

```java

Api.sendXReport(context);

// Silent (no UI)
Api.requestXReport(context, params);  // DISABLE_PRINTING supported
```

**Response:** `X_REPORT_RESULT_ACTION` with extra `X_REPORT` (JSON string).

### Daily sales totals

Returns the running totals for the current day without triggering an EOD.

```java

Api.requestDailySales(context);
```

**Response:** `DAILY_SALES_ACTION`

```java

case Messages.DAILY_SALES_ACTION: {
    String json = intent.getStringExtra(Messages.DAILY_SALES_RESULT);
    DailySales sales = WrapperUtils.getDailySalesFromJson(json);
    // sales.getTotalSales(), sales.getTotalRefunds(), sales.getTotalTip()
    break;
}
```

All amounts are in minor units.

### Get a specific transaction

Retrieve a stored transaction by its UTI.

```java

Api.getTransactionData(context, uti);
```

**Response:** `ACTION_GET_TRANSACTION_RESULT` with extra `TRANSACTION_RESULT` (JSON string). Returns an empty JSON object if no matching transaction is found.

### Get transactions for a date range

```java

Date from = ...;
Date to   = ...;
Api.getTransactionsForDay(context, from, to);
```

**Response:** `TRANSACTION_LIST_RESULT` with extra `TRANSACTION_LIST` (JSON array of `TransactionResult` objects).
