> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fetchbean.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Connect a provider to run tools on your own account

> Connect a provider once — by pasting a key or through OAuth — and call its tools with your fetchbean key. Your provider credential never appears in a request again.

Most fetchbean providers run on credentials fetchbean manages, so your `fb_` key is the only one you need. Providers that act on **your** account work differently: you connect them once, fetchbean stores the credential encrypted, and from then on you call their tools with your fetchbean key exactly like any other tool. Your provider credential never appears in a request again.

There are two ways to connect, depending on the provider:

<CardGroup cols={2}>
  <Card title="Paste a key" icon="key">
    You generate a key in the provider's own dashboard and paste it into fetchbean. 22 providers work this way.
  </Card>

  <Card title="OAuth" icon="right-to-bracket">
    You authorize fetchbean on the provider's consent screen and never handle a key. 10 providers work this way.
  </Card>
</CardGroup>

See [Connections](/connections) for the full list of both, including the exact fields each provider needs.

## Connecting from the dashboard

Connecting is a dashboard action, not an API-key action. Open [**Connections**](https://fetchbean.com/app?tab=connections) in the dashboard, pick your provider, and either paste the key it asks for or complete the OAuth redirect. fetchbean verifies the credential against the provider before saving it, so an invalid key fails immediately rather than at first use.

<Note>
  The `/v1/connections` routes are authenticated with your signed-in dashboard session, **not** with an `fb_` API key. An API key cannot create or revoke connections — this keeps a leaked key from silently attaching new credentials to your account. See [Authentication](/authentication).
</Note>

## Calling a connected provider

Once the connection exists, nothing about your request changes. Route the call through `POST /v1/run` with your fetchbean key and fetchbean injects the stored credential:

```bash theme={null}
curl https://api.fetchbean.com/v1/run \
  -H "X-API-Key: $FETCHBEAN_KEY" \
  -H "Content-Type: application/json" \
  -d '{"provider":"linear","endpoint":"/issues","input":{"limit":10}}'
```

If you call a connected provider before connecting it, the request fails with a `credential_required` error and is billed zero. Connect the provider and retry.

## Finding what a provider needs

Every connectable provider declares its own fields — most want a single `api_key`, but some need extra context such as a region or an account id. The [Connections](/connections) reference lists them per provider, and `GET /v1/connections/providers` returns the same schema at runtime with a `kind` of `byok` or `oauth`.

## Revoking

Revoke a connection from the same dashboard screen. Revocation takes effect immediately: subsequent calls to that provider fail with `credential_required` until you reconnect. Revoking a connection never affects your fetchbean API keys, and revoking an API key never affects your connections.

<Tip>
  Connecting a provider unlocks every tool that provider exposes at once — see the per-provider tool counts in [Connections](/connections), or the full parameter and pricing detail in the [catalog](/catalog).
</Tip>
