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

# What reports can I pull from the Blend API?

> GET /api/v1/reports/daily returns daily counts of new patients, prescriptions, and orders. GET /api/v1/reports/orders returns orders by date range and status. Both are date-ranged and scoped to your account.

Blend exposes two reporting endpoints for pulling operational counts into your own systems.

**`GET /api/v1/reports/daily`** — daily counts of new patients, prescriptions, and orders. Defaults to the past 14 days; maximum range 365 days.

**`GET /api/v1/reports/orders`** — orders grouped by status over a date range you specify.

For a richer, interactive view — turnaround times, invoicing, utilization by prescriber — see the [Metrics report](/guides/metrics-report) in the Blend Dashboard.

## Daily counts

```bash theme={null}
curl "https://api.byblend.com/api/v1/reports/daily?start_date=2026-08-01&end_date=2026-08-23&timezone=America/New_York" \
  -H "Authorization: Bearer {access_token}"
```

* `start_date` / `end_date` — optional. Omit both for the past 14 days. Maximum range is 365 days.
* `timezone` — an IANA name such as `America/New_York`, used for day grouping. **Defaults to UTC.**

<Warning>
  Set `timezone` explicitly if your business day isn't UTC. Without it, a late-afternoon order on the US West Coast lands on the following day's count, and your daily numbers won't reconcile with what your team saw.
</Warning>

<Note>
  **Cancelled prescriptions and orders are excluded** from these counts, and transfers are counted separately from prescriptions. These are counts of real activity, not of records created.
</Note>

## Orders by status

```bash theme={null}
curl "https://api.byblend.com/api/v1/reports/orders?start_date=2026-08-01&end_date=2026-08-31&include=status,count" \
  -H "Authorization: Bearer {access_token}"
```

`start_date` and `end_date` are **required** here. `include` selects which fields come back — `status`, `count`, `products`, comma-separated. Ask only for what you need; `products` is substantially heavier.

## Building your own

The reporting endpoints are deliberately narrow. For anything else, the list endpoints with filters plus [pagination](/guides/pagination) will get you there:

```bash theme={null}
# Everything shipped in a window, drained page by page
curl "https://api.byblend.com/api/v1/orders?status=shipped&page_size=200" \
  -H "Authorization: Bearer {access_token}"

# Prescriptions with no order attached
curl "https://api.byblend.com/api/v1/prescriptions?has_order=false&page_size=200" \
  -H "Authorization: Bearer {access_token}"
```

<Tip>
  For a running operational feed, [webhooks](/guides/webhooks) beat polling a report. Subscribe to `order.shipped` and `order.delivered` and build your own daily rollup from events as they land.
</Tip>

<CardGroup cols={2}>
  <Card title="Daily report" icon="calendar-days" href="/api-reference/reports/daily-report">
    Patients, prescriptions, orders per day
  </Card>

  <Card title="Orders report" icon="chart-simple" href="/api-reference/reports/orders-report">
    Orders by status and date range
  </Card>

  <Card title="Metrics report" icon="chart-line" href="/guides/metrics-report">
    Turnaround, invoicing, utilization
  </Card>

  <Card title="Get orders" icon="filter" href="/api-reference/orders/get-orders">
    Filter and page for custom reporting
  </Card>
</CardGroup>
