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

# The credit spend ledger

> The credit spend ledger for a `since` / `to` window (`to` omitted = up to now) and an optional `memberIds` teammate filter — the same contract as the internal spend endpoint, all echoed back (`to` as null and `memberIds` as [] when omitted): `usage` is the current billing period's headline (used, available, total, period bounds, and the AppSumo one-time holdback when one applies), and `spendByDateByProduct` is the zero-filled spend series over the window, each point carrying its deductions split by product. Points are time buckets sized by the window's length — daily while it spans at most 13 days, otherwise weekly (ISO weeks), monthly or quarterly — so a one-month window comes back by week and a one-year window by month. Each point carries `isoDate` (the bucket's start day, YYYY-MM-DD UTC) and `date` (a display label for that start: `Sep 1` for daily and weekly buckets, `Sep` for monthly, `Sep 2026` for quarterly). Sum a point's products for the bucket's total; sum a product across points for its window total. Omit `memberIds` (or pass `[]`) for the whole ledger; pass teammate ids to restrict the series to those people's deductions, including the owner id for the owner's own untagged charges. Each of the two panels is null when its lookup fails. Available to any valid key (no scope needed). Rate limit: 120 requests per minute, 10000 per day.

Errors:
- `403` `TEAM_MEMBER_NOT_IN_SCOPE` — A `memberIds` entry is not an active member of the caller's team.
- `422` `VALIDATION_FAILED` — `since` is missing or not an ISO 8601 date, `to` is not an ISO 8601 date or precedes `since`, or a `memberIds` entry is not a 24-character hex id.
- `429` `RATE_LIMITED` — Per-user quota for this endpoint family exceeded (120 per minute, 10000 per day); retry after the Retry-After / RateLimit-Reset seconds.



## OpenAPI

````yaml /openapi.json post /business/credits/usage
openapi: 3.1.0
info:
  title: Fuse Business API
  version: 1.0.0
  description: >-
    External API for lists, campaigns, prospect search and contacts.
    Authenticate with your API token as HTTP Basic. All paths are under /api/v1.
servers:
  - url: https://api.tryfuse.ai/api/v1
    description: Production
security:
  - basicAuth: []
tags:
  - name: Lists
  - name: Custom columns
  - name: Smart columns
  - name: Exports
  - name: Campaigns
  - name: Knowledge hubs
  - name: Analytics
  - name: Website intent
  - name: Account
  - name: Prospect search
  - name: Campaign steps
  - name: Scheduled sends
  - name: Campaign templates
  - name: Agents
  - name: Research
  - name: Company search
  - name: Saved searches
  - name: Folders
  - name: Contacts
paths:
  /business/credits/usage:
    post:
      tags:
        - Account
      summary: The credit spend ledger
      description: >-
        The credit spend ledger for a `since` / `to` window (`to` omitted = up
        to now) and an optional `memberIds` teammate filter — the same contract
        as the internal spend endpoint, all echoed back (`to` as null and
        `memberIds` as [] when omitted): `usage` is the current billing period's
        headline (used, available, total, period bounds, and the AppSumo
        one-time holdback when one applies), and `spendByDateByProduct` is the
        zero-filled spend series over the window, each point carrying its
        deductions split by product. Points are time buckets sized by the
        window's length — daily while it spans at most 13 days, otherwise weekly
        (ISO weeks), monthly or quarterly — so a one-month window comes back by
        week and a one-year window by month. Each point carries `isoDate` (the
        bucket's start day, YYYY-MM-DD UTC) and `date` (a display label for that
        start: `Sep 1` for daily and weekly buckets, `Sep` for monthly, `Sep
        2026` for quarterly). Sum a point's products for the bucket's total; sum
        a product across points for its window total. Omit `memberIds` (or pass
        `[]`) for the whole ledger; pass teammate ids to restrict the series to
        those people's deductions, including the owner id for the owner's own
        untagged charges. Each of the two panels is null when its lookup fails.
        Available to any valid key (no scope needed). Rate limit: 120 requests
        per minute, 10000 per day.


        Errors:

        - `403` `TEAM_MEMBER_NOT_IN_SCOPE` — A `memberIds` entry is not an
        active member of the caller's team.

        - `422` `VALIDATION_FAILED` — `since` is missing or not an ISO 8601
        date, `to` is not an ISO 8601 date or precedes `since`, or a `memberIds`
        entry is not a 24-character hex id.

        - `429` `RATE_LIMITED` — Per-user quota for this endpoint family
        exceeded (120 per minute, 10000 per day); retry after the Retry-After /
        RateLimit-Reset seconds.
      operationId: getCreditsUsage
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                since:
                  type: string
                  format: date-time
                  description: >-
                    Start of the spend window (inclusive) as an ISO 8601 date or
                    date-time, e.g. 2026-08-01 or 2026-08-01T00:00:00Z.
                    `spendByDateByProduct` is bucketed by the window's length —
                    daily while it spans at most 13 days, then weekly (ISO
                    weeks), monthly or quarterly — while `usage` always reflects
                    the current billing period regardless of the window.
                to:
                  type: string
                  format: date-time
                  description: >-
                    End of the spend window (inclusive) as an ISO 8601 date or
                    date-time; must not precede `since`. Omit to run the window
                    up to now. A date-only value means midnight UTC at the START
                    of that day, so send an end-of-day instant (e.g.
                    2026-08-31T23:59:59.999Z) to include the last day.
                memberIds:
                  type: array
                  items:
                    type: string
                  maxItems: 200
                  description: >-
                    Restrict `spendByDateByProduct` to these teammates'
                    deductions. Omit or pass `[]` for the whole ledger (every
                    teammate sees the same default). Each id must be an active
                    member of the caller's team; including the owner adds the
                    owner's own untagged charges. Any id outside the team
                    answers 403 `TEAM_MEMBER_NOT_IN_SCOPE`. `usage` always
                    reflects the current billing period regardless of this
                    filter.
              required:
                - since
      responses:
        '200':
          description: Success
          headers:
            RateLimit-Limit:
              schema:
                type: integer
              description: Requests permitted in the current window.
            RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            RateLimit-Reset:
              schema:
                type: integer
              description: Seconds until the current window resets.
          content:
            application/json:
              schema:
                type: object
                properties:
                  since:
                    type: string
                    format: date-time
                  to:
                    type:
                      - string
                      - 'null'
                    format: date-time
                  memberIds:
                    type: array
                    items:
                      type: string
                  usage:
                    type:
                      - object
                      - 'null'
                    properties:
                      used:
                        type: integer
                      available:
                        type: integer
                      total:
                        type: integer
                      periodStartDate:
                        type: string
                        format: date-time
                      periodEndDate:
                        type: string
                        format: date-time
                      oneTimeCreditsHoldback:
                        type:
                          - object
                          - 'null'
                        properties:
                          heldCredits:
                            type: integer
                          releaseAt:
                            type: string
                            format: date-time
                        required:
                          - heldCredits
                          - releaseAt
                    required:
                      - used
                      - available
                      - total
                      - periodStartDate
                      - periodEndDate
                      - oneTimeCreditsHoldback
                  spendByDateByProduct:
                    type:
                      - array
                      - 'null'
                    items:
                      type: object
                      properties:
                        date:
                          type: string
                        isoDate:
                          type: string
                          format: date
                        products:
                          type: array
                          items:
                            type: object
                            properties:
                              product:
                                type: string
                                enum:
                                  - Phone Enrichment
                                  - Email Enrichment
                                  - Email Validation
                                  - Email Warmup
                                  - Website Traffic
                                  - AI Engagement
                                  - Call Recording & Transcripts
                                  - Fuse Agent Message
                                  - Saving to List
                                  - Buying Domains
                                  - Buying Mailboxes
                                  - Charging Mailbox Subscription
                                  - Charging Domain Subscription
                                  - Charging LinkedIn Account Subscription
                                  - Prospect Search
                                  - Company Search
                                  - Global Phone Number Search
                                  - Phone Number Rent
                                  - Signal Monitor Webhook
                                  - People Watcher Setup
                                  - Companies Watcher Setup
                                  - Companies Watcher Recurring
                                  - People Watcher Recurring
                                  - Smart Column Enrichment
                                  - Job Changes Watcher Delivery
                                  - Web Monitor Result
                                  - Deep Research Action
                              value:
                                type: integer
                            required:
                              - product
                              - value
                      required:
                        - date
                        - isoDate
                        - products
                required:
                  - since
                  - to
                  - memberIds
                  - usage
                  - spendByDateByProduct
              example:
                since: '2026-09-01T00:00:00.000Z'
                to: null
                memberIds: []
                usage:
                  used: 5230
                  available: 14770
                  total: 20000
                  periodStartDate: '2026-08-14T18:30:00.000Z'
                  periodEndDate: '2026-09-15T18:29:59.999Z'
                  oneTimeCreditsHoldback: null
                spendByDateByProduct:
                  - date: Sep 1
                    isoDate: '2026-09-01'
                    products:
                      - product: Email Enrichment
                        value: 396
                      - product: Prospect Search
                        value: 90
                  - date: Sep 2
                    isoDate: '2026-09-02'
                    products: []
                  - date: Sep 3
                    isoDate: '2026-09-03'
                    products:
                      - product: Deep Research Action
                        value: 660
                      - product: Email Enrichment
                        value: 366
        '400':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '401':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '402':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '409':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '429':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '500':
          description: Error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
      security:
        - basicAuth: []
components:
  schemas:
    Error:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
            message:
              type: string
            param:
              type:
                - string
                - 'null'
            doc_url:
              type:
                - string
                - 'null'
            request_id:
              type:
                - string
                - 'null'
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic
      description: >-
        Your API token (`af_…`) as the Basic-auth username, with an empty
        password.

````