---
title: "FOCUS Report"
method: GET
path: "/account/focus"
tags: ["Account"]
---

# FOCUS Report

`GET /account/focus`

Returns a FOCUS compliant billing report as a CSV download.

> **Availability:** This endpoint is available to enterprise customers with FOCUS reports enabled. Contact your account team or support@fal.ai to request access.

Supports two data sources:
- **invoice**: Finalized invoice data for a billing month. Includes usage charges, credits, and taxes.
- **estimate**: Real-time usage estimates for a date range. Pre-invoice data that may change once invoiced.

The report follows the [FinOps FOCUS specification](https://focus.finops.org/) for cloud billing data interoperability.

**Invoice reports** default to the most recently available billing month.
**Usage estimates** default to the last 24 hours, with a maximum 90-day date range.

**Organization roots** may pass `expand=organization` to report the whole
organization — each team as a `BillingAccount`, plus per-team `SubAccount`
attribution under shared (pooled) billing. Without it, the report is
single-account, and the estimate covers only the calling account. Note: under
pooled billing the **invoice** source already spans all pooled teams even
without `expand` (they share one billing customer); `expand=organization` adds the
per-team `SubAccount` breakdown.

## Query parameters

- `source` 'invoice' | 'estimate' | 'tagged-estimate', required — Report source. 'invoice' returns finalized invoice data for a billing month. 'estimate' returns real-time usage estimates for a date range. 'tagged-estimate' returns the same date range from the tagged usage aggregate, populating the Tags column; it requires tagged reporting to be enabled for the account and at least one activated tag key, and its figures can differ from 'estimate' — the aggregate deduplicates by request, covers endpoint requests only, and refreshes on its own schedule rather than continuously.
- `billing_month` string — Billing month (YYYY-MM) — selects invoices by their issue date (when the invoice was issued). Used with source=invoice. Defaults to the current billing month.
- `charge_month` string — Charge month (YYYY-MM) — selects line items by the period charges were incurred, capturing them even when split across invoices issued in different months. Alternative to billing_month. Used with source=invoice.
- `expand` 'organization' — Expand the report to the whole organization. Only valid for an organization root; each team is reported as a BillingAccount and, under shared (pooled) billing, per-team SubAccount attribution is added. Omit for a single-account report.
- `start` union — Start date in ISO8601 format (e.g., '2025-01-01T00:00:00Z' or '2025-01-01'). Defaults to 24 hours ago.
  - string, date-time
  - string
- `end` union — End date in ISO8601 format, exclusive (e.g., '2025-02-01T00:00:00Z' or '2025-02-01'). Data up to but not including this timestamp is returned. Defaults to current time.
  - string, date-time
  - string
- `timezone` string — Timezone for date aggregation and boundaries. All timestamps in responses are in UTC, but this controls how dates are bucketed.
- `timeframe` 'minute' | 'hour' | 'day' | 'week' | 'month' — Aggregation timeframe for timeseries data (auto-detected from date range if not specified). Auto-detection uses: minute (<2h), hour (<2d), day (<64d), week (<183d), month (>=183d).
- `bound_to_timeframe` 'true' | 'false' — Whether to adjust start/end dates to align with timeframe boundaries and use exclusive end. Defaults to true. When true, dates are aligned to the start of the timeframe period (e.g., start of day) and end is made exclusive (e.g., start of next day). When false, uses exact dates provided.

## Response `200`

FOCUS compliant CSV report

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `403` — Access denied
- `429` — Rate limit exceeded
- `500` — Internal server error

## Changes

- **2026-09-03** `0c7dabf80b00` — 1 info
  - added the new enum value `tagged-estimate` to the `query` request parameter `source`

[Change history](https://skmtc.dev/fal/apis/platform-apis/changes/account/focus/get.md)

---

[API](https://skmtc.dev/fal/apis/platform-apis.md) · [All operations](https://skmtc.dev/fal/apis/platform-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fal/platform-apis/revisions/0c7dabf80b00/schema)
