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

> Save a paste-a-key (BYOK) or agent-subscription connection. BYOK credentials are verified upstream; subscription documents are structurally validated. Both are encrypted at rest. Owner/admin Firebase session only. OAuth providers (kind="oauth", e.g. notion) connect via GET /v1/connections/{provider}/oauth/start instead. `fields` is a map of the provider's declared connection fields — call GET /v1/connections/providers for the exact fields per provider. Currently (BYOK): **gws** (api_key); **fireflies** (api_key); **nomads** (username, api_key); **linear** (api_key); **revenuecat** (api_key, project_id?); **expo** (api_key, default_account?, default_app_id?); **github** (api_key); **conductor** (api_key); **betterstack** (api_key); **tailscale** (client_id, api_key); **gitlab** (api_key, host?); **dodo** (api_key, environment); **spaceship** (api_key, api_secret); **cloudflare** (api_key, account_id); **stripe** (api_key, stripe_version?); **sentry** (api_key, host?, organization_slug?); **clerk** (api_key); **buffer** (api_key); **bluesky** (identifier, api_key, service?); **opensky** (client_id, client_secret); **miro** (api_key); **crisp** (identifier, api_key, website_id); **calendly** (api_key); **gemini** (api_key); **clarity** (api_key); **monkeytype** (api_key); **digitalocean** (api_key); **render** (api_key); **cal** (api_key); **elevenlabs** (api_key); **sarvam** (api_key); **canny** (api_key, admin_user_id?); **posthog** (api_key, region, host?, project_id?); **chatwoot** (api_key, host?, account_id?); **loops** (api_key); **ahrefs** (api_key); **tinyfish** (api_key); **openrouter** (api_key); **groq** (api_key); **artificialanalysis** (api_key); **submitforbacklinks** (api_key); **devto** (api_key); **strale** (api_key); **intercom** (api_key, region, admin_id?); **plain** (api_key); **openai** (api_key); **replicate** (api_key). Agent subscriptions: **codex** (auth_json); **claude_code** (credential); **antigravity** (credential).



## OpenAPI

````yaml /openapi.json post /v1/connections
openapi: 3.1.0
info:
  title: fetchbean API
  version: v1
  description: >-
    One key for external tools and durable agent work products, with HTTP,
    hosted MCP, exact file artifacts, and spend controls.
servers:
  - url: https://api.fetchbean.com
security:
  - apiKeyAuth: []
paths:
  /v1/connections:
    post:
      tags:
        - Connections
      summary: connect provider
      description: >-
        Save a paste-a-key (BYOK) or agent-subscription connection. BYOK
        credentials are verified upstream; subscription documents are
        structurally validated. Both are encrypted at rest. Owner/admin Firebase
        session only. OAuth providers (kind="oauth", e.g. notion) connect via
        GET /v1/connections/{provider}/oauth/start instead. `fields` is a map of
        the provider's declared connection fields — call GET
        /v1/connections/providers for the exact fields per provider. Currently
        (BYOK): **gws** (api_key); **fireflies** (api_key); **nomads**
        (username, api_key); **linear** (api_key); **revenuecat** (api_key,
        project_id?); **expo** (api_key, default_account?, default_app_id?);
        **github** (api_key); **conductor** (api_key); **betterstack**
        (api_key); **tailscale** (client_id, api_key); **gitlab** (api_key,
        host?); **dodo** (api_key, environment); **spaceship** (api_key,
        api_secret); **cloudflare** (api_key, account_id); **stripe** (api_key,
        stripe_version?); **sentry** (api_key, host?, organization_slug?);
        **clerk** (api_key); **buffer** (api_key); **bluesky** (identifier,
        api_key, service?); **opensky** (client_id, client_secret); **miro**
        (api_key); **crisp** (identifier, api_key, website_id); **calendly**
        (api_key); **gemini** (api_key); **clarity** (api_key); **monkeytype**
        (api_key); **digitalocean** (api_key); **render** (api_key); **cal**
        (api_key); **elevenlabs** (api_key); **sarvam** (api_key); **canny**
        (api_key, admin_user_id?); **posthog** (api_key, region, host?,
        project_id?); **chatwoot** (api_key, host?, account_id?); **loops**
        (api_key); **ahrefs** (api_key); **tinyfish** (api_key); **openrouter**
        (api_key); **groq** (api_key); **artificialanalysis** (api_key);
        **submitforbacklinks** (api_key); **devto** (api_key); **strale**
        (api_key); **intercom** (api_key, region, admin_id?); **plain**
        (api_key); **openai** (api_key); **replicate** (api_key). Agent
        subscriptions: **codex** (auth_json); **claude_code** (credential);
        **antigravity** (credential).
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - provider
                - fields
              properties:
                provider:
                  type: string
                  description: BYOK or agent-subscription id, e.g. fireflies or codex.
                fields:
                  type: object
                  description: >-
                    The connection's declared fields, per
                    /v1/connections/providers.
                label:
                  type: string
                  description: Optional label.
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Authentication error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - firebaseAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            type:
              type: string
            code:
              type: string
            message:
              type: string
            retryable:
              type: boolean
            billable:
              type: boolean
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key
      description: >-
        Your fetchbean API key (fb_…). Keys are not accepted through
        Authorization.
    firebaseAuth:
      type: http
      scheme: bearer
      description: >-
        A Firebase ID token from a signed-in dashboard session. Used only by the
        Connections routes; an fb_ API key is not accepted here.

````