---
title: "GET /staff/analytics/trends"
method: GET
path: "/staff/analytics/trends"
tags: ["Staff"]
---

# GET /staff/analytics/trends

`GET /staff/analytics/trends`

## Request

- Base URL: `https://api.laver.app` (the document declares no server; this is the origin it was published from)
- URL: `https://api.laver.app/staff/analytics/trends`
- Auth: HTTP bearer

## Query parameters

- `metric` union
  - 'signups'
  - 'active_users'
  - 'mrr'
- `days` union
  - 7
  - 30
  - 90
- `bucket` union
  - 'day'
  - 'week'

## Response `2XX`

Success. This endpoint declares no response schema, so its body is not part of the generated contract.

## Other responses

- `400`: The request failed schema validation, or the handler rejected its contents. Undeclared properties are rejected on every body, path and query schema, so an unexpected field is a 400 rather than a silently ignored one.
- `401`: No credential, or one that is expired, revoked or not accepted by this endpoint.
- `403`: Authenticated, but not allowed: a `viewer` attempting a write, a `commenter` attempting any write other than a comment on a ticket it can see, a `guest` writing anywhere or a `guest_editor` writing outside the boards it was given, a non-admin on an admin route, a non-owner on billing, or a non-staff user on staff tooling.
- `429`: The rate limit was exceeded. The budget is keyed on the authenticated session user or API key, falling back to the caller IP.

---

[API](https://skmtc.dev/laver/apis/laver-api.md) · [All operations](https://skmtc.dev/laver/apis/laver-api/llms.txt) · [OpenAPI document](https://skmtc.dev/laver/apis/laver-api/revisions/91e3db25a19c?raw)
