# 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, 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).

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

## 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>
