---
title: "Delivery, reply and verification statistics by day, with totals and per number"
method: GET
path: "/api/v1/workspaces/{workspaceId}/analytics"
tags: ["Analytics"]
---

# Delivery, reply and verification statistics by day, with totals and per number

`GET /api/v1/workspaces/{workspaceId}/analytics`

## Request

- Base URL: `https://otprun.com`
- URL: `https://otprun.com/api/v1/workspaces/{workspaceId}/analytics`
- Auth: HTTP bearer

## Path parameters

- `workspaceId` integer, required

## Query parameters

- `from` string, date-time: Start of the period, RFC 3339; default 30 days before to
- `to` string, date-time: End of the period, RFC 3339; default now; at most 92 days after from
- `project_id` integer: Only this project; empty for the whole workspace
- `slot_id` integer: Only this WhatsApp number; empty for all numbers

## Response `200`

OK

- ReportBody
  - `days` DayBody[], nullable, required
    - `day` string, date-time, required
    - `delivered` integer, required
    - `failed` integer, required
    - `inbound` integer, required
    - `messages` integer, required
    - `read` integer, required
    - `verifications` integer, required
    - `verifications_expired` integer, required
    - `verifications_failed` integer, required
    - `verified` integer, required
  - `from` string, date-time, required
  - `slots` SlotStatsBody[], nullable, required
    - `delivered` integer, required
    - `failed` integer, required
    - `label` string, required
    - `messages` integer, required
    - `phone` string, required
    - `slot_id` string, required
  - `to` string, date-time, required
  - `totals` TotalsBody, required
    - `by_official` integer, required
    - `by_telegram` integer, required
    - `by_whatsapp` integer, required
    - `delivered` integer, required
    - `delivery_median_seconds` number, double, nullable, required
    - `delivery_p90_seconds` number, double, nullable, required
    - `failed` integer, required
    - `fallbacks` integer, required: Verifications that moved to the next channel of the routing policy
    - `inbound` integer, required
    - `messages` integer, required
    - `read` integer, required
    - `sent` integer, required
    - `undecryptable` integer, required: Sent but the recipient's WhatsApp could not open them
    - `verifications` integer, required
    - `verified` integer, required
    - `verify_median_seconds` number, double, nullable, required

## Other responses

- `404`: Not Found
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/otprun/apis/otp-run-api.md) · [All operations](https://skmtc.dev/otprun/apis/otp-run-api/llms.txt) · [OpenAPI document](https://skmtc.dev/otprun/apis/otp-run-api/revisions/43d40d5f4050?raw)
