# Taps

> Taps are the API tokens (fh_) that own a set of rules and that you stream from. Why to keep one tap per use case, and how to create and manage them.

A **tap** is an API token (prefixed `fh_`) scoped to an organization. It owns a set of
[rules](/stream/rules) and is the thing you open a [stream](/stream/streaming) from. Think of one
tap per use case.

## Why one tap per use case

Each tap has its own rule set, its own stream, and its own feed. Splitting use cases across taps
keeps matches cleanly separated — e.g. a "brand mentions" tap and a "competitor news" tap each
stream only their own matches, and you can revoke one without touching the other.

## Creating and managing taps

- **Dashboard** — create, rename, pause, and revoke taps from the [Taps](https://firehose.com/taps) page.
- **API** — create and manage taps with a [management key](/organizations/management-keys):
  `POST /v1/taps`, `GET /v1/taps`, `PUT /v1/taps/:id`, `DELETE /v1/taps/:id`. See the
  [API reference](/api-reference/management-key-endpoints).

The number of taps an organization may hold depends on its [plan](/billing/plans) (1 on Free, up to
100 on Business, unlimited on API-only).

## Pausing a tap

A tap can be paused when you want to stop matching for a while without losing its rules or
rotating its token. A paused tap withdraws its rules from matching: it produces no new updates
and its stream stays quiet, but the rules are kept and start matching again the moment you resume.

Pause and resume a tap by setting its `status` to `paused` or `active` — over the API with
`PUT /v1/taps/:id` (see the [management-key endpoints](/api-reference/management-key-endpoints#pause--resume-a-tap)),
or from the [Taps](https://firehose.com/taps) page in the dashboard.

Because a paused tap doesn't count toward your plan's active-tap limit, creating or resuming one can
be refused when you're already at the limit — free up a slot by pausing or revoking another tap first.

<Callout type="warning">
  Revoking a tap immediately invalidates its token and stops its streams. Anything using that token
  will start receiving `401`s.
</Callout>

## A digest's tap

Each [Smart Digest](/smart-digest/overview) owns one tap, named `Smart Digest: {title}` and marked
**digest** on the Taps page. It counts toward the plan's active-tap limit like any other tap, and
the two move together:

- The digest names its tap, so the row offers **Open Smart Digest** in place of **Rename**.
- **Pause tap and digest** pauses both, and **Resume tap and digest** resumes both, subject to the
  active-tap limit above.
- **Delete tap and digest** removes both, with the digest's reports and rules.

The same holds over the API: pausing, resuming, or deleting a digest's tap through
`PUT /v1/taps/:id` or `DELETE /v1/taps/:id` does the same to the digest.

## Next steps

<CardGrid>
  <Card title="Rules" href="/stream/rules">
    Add the queries a tap matches against.
  </Card>
  <Card title="Management-key endpoints" href="/api-reference/management-key-endpoints">
    Create and manage taps over the API.
  </Card>
</CardGrid>
