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

# Get account overview

> The team's full account snapshot: subscription (plan tier, status, renewal
date), credits (balance, monthly allotment, refill date), and watchlist usage
(followed, limit, slots remaining). A read-only superset of `/credit-balance`.
Requires an API key.

`renews_on` and `refill_on` are both the subscription's current period end
(credits refill on renewal); they are `null` for free or migrated teams with no
active Stripe period.




## OpenAPI

````yaml /openapi.yaml get /account
openapi: 3.1.0
info:
  title: Reechee Developer Platform API
  version: 1.0.0
  description: >
    The Reechee REST API exposes software-review pain points, buying signals,
    and

    sales opportunities.


    Two auth lanes share one base URL:


    - **Anonymous** (no key) - read-only, IP rate-limited. Product search, a
    free
      pain-points taste, and category competitors.
    - **API key** (`Authorization: Bearer rch_live_…`) - paid teams get full
      pain-point reports, opportunities, watchlist, credit balance, and safe write
      actions (follow/unfollow, triage).

    Every response uses a consistent envelope: `{ "success": true, "data": … }`
    on

    success (with an optional `meta`), or `{ "success": false, "error": {
    "code",

    "message", "details"? } }` on failure.
  contact:
    name: Reechee
    url: https://reechee.io
servers:
  - url: https://app.reechee.io/api/v1
    description: Production
security: []
tags:
  - name: System
    description: Health and connectivity.
  - name: Products
    description: Search products and read their pain points and competitors.
  - name: Opportunities
    description: Read and triage sales opportunities (API key required).
  - name: Watchlist
    description: Read and manage the team's followed products (API key required).
  - name: Account
    description: Team account data such as credit balance (API key required).
  - name: Credits
    description: >-
      Credit-spending actions (Tier 3). Requires a spend budget on the
      credential - a per-key spend cap for API keys, or the consent-time credit
      budget for OAuth connections.
paths:
  /account:
    get:
      tags:
        - Account
      summary: Get account overview
      description: >
        The team's full account snapshot: subscription (plan tier, status,
        renewal

        date), credits (balance, monthly allotment, refill date), and watchlist
        usage

        (followed, limit, slots remaining). A read-only superset of
        `/credit-balance`.

        Requires an API key.


        `renews_on` and `refill_on` are both the subscription's current period
        end

        (credits refill on renewal); they are `null` for free or migrated teams
        with no

        active Stripe period.
      operationId: getAccount
      responses:
        '200':
          description: The account snapshot.
          content:
            application/json:
              schema:
                type: object
                required:
                  - success
                  - data
                properties:
                  success:
                    type: boolean
                    const: true
                  data:
                    $ref: '#/components/schemas/Account'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/RateLimited'
      security:
        - bearerAuth: []
components:
  schemas:
    Account:
      type: object
      required:
        - team
        - subscription
        - credits
        - watchlist
      properties:
        team:
          type: object
          required:
            - id
            - name
          properties:
            id:
              type: string
              format: uuid
            name:
              type: string
              example: Acme Inc
        subscription:
          type: object
          required:
            - tier
            - status
            - renews_on
          properties:
            tier:
              type: string
              description: The team's plan tier (free, starter, scale, agency, admin).
              example: scale
            status:
              type:
                - string
                - 'null'
              description: >-
                Stripe subscription status (e.g. active, trialing); null if
                none.
              example: active
            renews_on:
              type:
                - string
                - 'null'
              format: date-time
              description: Subscription period end; null for free/migrated teams.
        credits:
          type: object
          required:
            - balance
            - monthly_max
            - refill_on
          properties:
            balance:
              type: integer
              example: 87
            monthly_max:
              type: integer
              description: The plan's monthly credit allotment.
              example: 100
            refill_on:
              type:
                - string
                - 'null'
              format: date-time
              description: >-
                When credits next refill (the subscription period end); null if
                no active subscription.
        watchlist:
          type: object
          required:
            - used
            - limit
            - remaining
          properties:
            used:
              type: integer
              description: Products currently followed.
              example: 7
            limit:
              type: integer
              description: The plan's product cap.
              example: 10
            remaining:
              type: integer
              description: Slots remaining (never negative).
              example: 3
    ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          const: false
        error:
          type: object
          required:
            - code
            - message
          properties:
            code:
              type: string
              enum:
                - invalid_request
                - unauthorized
                - payment_required
                - forbidden
                - not_found
                - rate_limited
                - internal_error
            message:
              type: string
            details:
              type:
                - object
                - 'null'
              additionalProperties: true
  responses:
    Unauthorized:
      description: A valid API key is required (or the key was invalid/revoked/expired).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: unauthorized
              message: API key required
    NotFound:
      description: The resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: not_found
              message: Resource not found
    RateLimited:
      description: |
        The rate limit was exceeded. The response carries `Retry-After` and
        `X-RateLimit-*` headers.
      headers:
        Retry-After:
          description: Seconds to wait before retrying.
          schema:
            type: integer
        X-RateLimit-Limit:
          description: Requests allowed in the window.
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: Requests remaining in the window.
          schema:
            type: integer
        X-RateLimit-Reset:
          description: Unix seconds when the window resets.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
          example:
            success: false
            error:
              code: rate_limited
              message: Rate limit exceeded
              details:
                retry_after_seconds: 12
                limit: 60
                remaining: 0
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: rch_live_…
      description: >
        A paid-team API key, sent as `Authorization: Bearer rch_live_…`. Create
        and

        revoke keys in the app under Settings → API keys.

````