---
title: "Return send metrics over time"
method: GET
path: "/v3/metrics/send/timeseries"
tags: ["Send events"]
---

# Return send metrics over time

`GET /v3/metrics/send/timeseries`

## Request

- Base URL: `https://api.us.nylas.com`
- URL: `https://api.us.nylas.com/v3/metrics/send/timeseries`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/nylas/apis/nylas-api/docs/v3/metrics/send/timeseries/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns sent, delivered, bounced, and complaint counts with bounce and complaint rates, bucketed
by day, week, or month. Use it to chart how your sending changes over a date range and to spot
the day a problem started. A window can cover up to 365 days.

## Query parameters

- `start` string, date
- `end` string, date
- `sending_domain` string
- `granularity` 'auto' | 'day' | 'week' | 'month'

## Response `200`

Success. Returns one bucket per period.

- object
  - `request_id` string: The request ID.
  - `data` SendTimeseries
    - `granularity` 'day' | 'week' | 'month': The bucket size used.
    - `buckets` object[]: One bucket per period in the window, oldest first, including periods with no messages.
      - `start` string, date: The first day in the bucket.
      - `end` string, date: The last day in the bucket.
      - `sent` integer: The number of messages Nylas accepted for delivery.
      - `delivered` integer: The number of messages the recipient's mail server accepted.
      - `bounced_hard` integer: The number of permanent bounces, such as an address that doesn't exist. Includes recipients on a suppression list.
      - `bounced_soft` integer: The number of temporary bounces, such as a full mailbox.
      - `bounced_undetermined` integer: The number of bounces the recipient's server didn't classify.
      - `rejected` integer: The number of messages Nylas didn't send because they contained a virus or other bad content.
      - `complaints` integer: The number of recipients who marked the message as spam.
      - `bounce_rate` number, nullable: Hard bounces as a percentage of sent messages. `null` when no messages were sent.
      - `complaint_rate` number, nullable: Complaints as a percentage of delivered messages. `null` when no messages were delivered.

## Other responses

- `400`: Bad request. A query parameter or the request body isn't valid.
- `401`: Unauthorized
- `403`: Forbidden. These endpoints need your application's API key, not a grant access token.

## Changes

- **2026-10-30** `7b9fe7c66c1c`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/nylas/apis/nylas-api/changes/v3/metrics/send/timeseries/get.md)

---

[API](https://skmtc.dev/nylas/apis/nylas-api.md) - [All operations](https://skmtc.dev/nylas/apis/nylas-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nylas/apis/nylas-api/revisions/7782a3e3ab70?raw)
