---
title: "Usage for every connection on an app"
method: GET
path: "/v1/platform/apps/{app_id}/usage"
tags: ["Platform API"]
---

# Usage for every connection on an app

`GET /v1/platform/apps/{app_id}/usage`

## Request

- Base URL: `https://api.1claw.co`
- URL: `https://api.1claw.co/v1/platform/apps/{app_id}/usage`
- Auth: HTTP bearer

Billable activity for the current month, grouped by end-user connection,
**plus what could not be charged to one**.

The `unattributed` block is not an implementation detail. Summing only the
per-connection numbers gives a figure that will not match the invoice you
are reconciling against, and the gap is usage that belongs to a real
end-user we cannot name.

Two kinds, deliberately kept apart:

* `none` — no platform linkage at all. Normal for most traffic, not a problem.
* `ambiguous` — the agent belongs to several connections and no
  `X-Platform-Connection` header said which. This usage belongs to
  *someone*. `has_ambiguous_usage` flags it so you do not have to notice
  a non-zero nested number.

`totals` is derived from the parts, never queried separately, so it cannot
disagree with its own breakdown.

## Path parameters

- `app_id` string, uuid, required

## Response `200`

Usage report

- AppUsageReport
  - `app_id` string, uuid, required
  - `period_start` string, date-time, required
  - `period_end` string, date-time, required: Exclusive. The period is half-open, so an event at midnight belongs to one month, not two.
  - `connections` object[], required
    - `connection_id` string, uuid, required
    - `usage` UsageCounts, required
      - `api_requests` integer, required
      - `signatures` integer, required
      - `execution_intents` integer, required
      - `execution_intents_tee` integer, required
      - `inference_usd` string, required: A decimal string. Money is not a float; zero is "0".
      - `credits_debited_cents` integer, required
  - `unattributed` object, required: Usage that could not be charged to a connection.
    - `ambiguous` UsageCounts
      - `api_requests` integer, required
      - `signatures` integer, required
      - `execution_intents` integer, required
      - `execution_intents_tee` integer, required
      - `inference_usd` string, required: A decimal string. Money is not a float; zero is "0".
      - `credits_debited_cents` integer, required
    - `none` UsageCounts
      - `api_requests` integer, required
      - `signatures` integer, required
      - `execution_intents` integer, required
      - `execution_intents_tee` integer, required
      - `inference_usd` string, required: A decimal string. Money is not a float; zero is "0".
      - `credits_debited_cents` integer, required
  - `totals` UsageCounts, required
    - `api_requests` integer, required
    - `signatures` integer, required
    - `execution_intents` integer, required
    - `execution_intents_tee` integer, required
    - `inference_usd` string, required: A decimal string. Money is not a float; zero is "0".
    - `credits_debited_cents` integer, required
  - `has_ambiguous_usage` boolean, required: Some usage this period belongs to an end-user who cannot be identified.

## Other responses

- `404`: Resource not found

---

[API](https://skmtc.dev/1claw/apis/1claw-api.md) · [All operations](https://skmtc.dev/1claw/apis/1claw-api/llms.txt) · [OpenAPI document](https://skmtc.dev/1claw/apis/1claw-api/revisions/ae109b496830?raw)
