> For the complete documentation index, see [llms.txt](https://docs.nerovasystems.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nerovasystems.com/guides/observe-and-account/performance.md).

# Report on performance

Performance reports what the employee delivered in a window, computed only from evidence Nerova can point to: the booking ledger, job runs, verified work receipts, and conversation records. If there is no evidence, the response says so instead of showing zeros.

> **Experimental.** The `/api/v1/**` operations on this page are callable with your Live key (`nrv_live_`), which runs on the free testing allowance until a commercial agreement is signed or a card is saved. See [Lifecycle and availability](https://docs.nerovasystems.com/documentation/api/lifecycle).

## What you'll build

A per-tenant performance panel that renders evidence-backed metrics and is honest when there is nothing to show.

## Prerequisites

* An activated tenant and an API key with `performance:read`; see [Authentication](https://docs.nerovasystems.com/documentation/getting-started/authentication).

## 1. Pick a window and call it

`From` (inclusive) and `To` (exclusive) define a half-open UTC window of at most 31 days:

```bash
curl --request GET \
  --url "https://api.nerovasystems.com/api/v1/tenants/{tenantId}/performance?From=2026-01-01T00:00:00Z&To=2026-02-01T00:00:00Z" \
  --header "Accept: application/json" \
  --header "Authorization: ******"
```

A window that is malformed or longer than 31 days fails with `400` and code `partner.date_window_invalid`.

## 2. Render the metrics

Only metrics with a non-zero value appear. Each carries the source of its evidence and how many evidence records back it:

| Metric                                   | Evidence source          |
| ---------------------------------------- | ------------------------ |
| `bookings_created`, `bookings_completed` | `booking_ledger`         |
| `jobs_completed`                         | `job_runs`               |
| `provider_outcomes_verified`             | `work_receipts`          |
| `conversations_active`                   | `whatsapp_conversations` |
| `messages_processed`                     | `whatsapp_messages`      |

Show `evidenceCount` next to each value: it is what makes the number defensible when a merchant asks where it came from, and every underlying record is inspectable through [Audit work and receipts](/guides/observe-and-account/work-and-receipts.md).

## 3. Handle missing evidence honestly

When there is no evidence in the window, the response is still `200`, with `"availability": "unavailable"`, `"metrics": null`, and `unavailableReasons` of `["performance_evidence_missing"]` (or `["performance_source_unavailable"]` when a source cannot be read). Render that as "no evidence for this period", never as a row of zeros: zeros claim knowledge the platform does not have.

## Next steps

* Inspect the records behind the numbers: [Audit work and receipts](/guides/observe-and-account/work-and-receipts.md).
* Meter the billable subset: [Meter usage for billing](/guides/observe-and-account/usage.md).
* Full request and response shapes: [Performance reference](https://docs.nerovasystems.com/api-reference/performance).


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.nerovasystems.com/guides/observe-and-account/performance.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
