---
title: "List event streams"
method: GET
path: "/projects/{project_id}/streams"
tags: ["Streams"]
---

# List event streams

`GET /projects/{project_id}/streams`

## Request

- Base URL: `https://app.honeybadger.io/v3`
- URL: `https://app.honeybadger.io/v3/projects/{project_id}/streams`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/honeybadger/apis/honeybadger-api/docs/projects/:project_id/streams/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns the project's Insights event streams: `default`, for events your applications send, and `internal`, for events Honeybadger records about the project (errors, deploys, uptime checks and check-ins). A new project's streams can take a moment to appear.

## Path parameters

- `project_id` string, required

## Query parameters

- `page` integer
- `per_page` integer

## Response `200`

Success

- object
  - `data` Stream[], required
    - `id` string: Stream ID: 12 lowercase hex characters, randomly assigned. Pass it in `stream_ids` when querying.
    - `name` string: Display name
    - `slug` 'default' | 'internal': Stable short name
    - `internal` boolean: True for the stream carrying Honeybadger-generated event types (`notice`, `deploy`, `uptime_check`, `check_in`). Those event classes are only queryable when this stream is selected.
    - `project_id` string: ID of the project this stream belongs to
    - `created_at` string, date-time
  - `pagination` Pagination: Offset-based pagination information
    - `page` integer, required: Current page number
    - `per_page` integer, required: Items per page
  - `links` OffsetLinks: Navigation links for a numbered-page collection. Each link is a root-relative path (`/v3/...`); resolve it against the API host.
    - `self` string, uri-reference, required: This page
    - `first` string, uri-reference: First page
    - `prev` string, nullable: Previous page, or null on the first page
    - `next` string, nullable: Next page, or null on the last page
  - `meta` ResponseMeta
    - `request_id` string: Unique identifier for the request, for correlating with support

## Other responses

- `401`: The credential is missing, invalid, expired or revoked (`unauthorized`), or was sent in a way v3 doesn't accept (see the examples).
- `403`: The credential isn't allowed to do this. `error.code` says why. An account or project the credential doesn't cover is 404 `not_found`, not 403.
- `404`: Resource not found
- `422`: No path names the account, so the API token has to. This is returned when the token covers more than one account and the account a request applies to cannot be determined. Use a token bound to a single account.
- `429`: Rate limit exceeded. The limit is per credential owner per hour: a person's tokens share one budget, and an account token uses the account's. Wait `Retry-After` seconds and retry.

---

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