AgentMessage
Billing

Get the per-usecase / per-entity-type fee preview

GET
/v1/billing/catalog/fees

Returns the currently-effective per-kind / per-ref price preview for your organization's tier. Used by the campaign and brand wizards to render the monthly / one-time cost before the user commits, the same rates the wallet gate will charge.

Two kinds are surfaced today:

  • campaign_month, recurring per-campaign monthly rent keyed by TCR usecase (MARKETING, LOW_VOLUME_MIXED, AGENTS_FRANCHISES, …). default_unit_cost_cents is the fallback rate when a usecase has no per-ref override.
  • brand_filing_onetime, one-shot TCR brand-registration fee keyed by entity type (SOLE_PROPRIETOR, PRIVATE_PROFIT, …).

Rates round microcents up to whole cents (the same rounding the gate uses) so a displayed preview is never below the wallet charge.

Requires the billing:read scope.

AuthorizationBearer <token>

Authenticate by sending your API key as a bearer token: Authorization: Bearer am_live_.... Every request is automatically scoped to the organization that owns the key and to the scopes granted to that key.

In: header

Response Body

application/json

application/json

application/json

curl -X GET "https://example.com/v1/billing/catalog/fees"
{
  "success": true,
  "data": {
    "tier": "payg",
    "currency": "USD",
    "campaign_month": {
      "default_unit_cost_cents": 1000,
      "by_ref": [
        {
          "ref": "AGENTS_FRANCHISES",
          "unit_cost_cents": 3000
        },
        {
          "ref": "LOW_VOLUME_MIXED",
          "unit_cost_cents": 150
        },
        {
          "ref": "MARKETING",
          "unit_cost_cents": 1000
        }
      ]
    },
    "brand_filing_onetime": {
      "default_unit_cost_cents": 500,
      "by_ref": [
        {
          "ref": "PRIVATE_PROFIT",
          "unit_cost_cents": 450
        },
        {
          "ref": "SOLE_PROPRIETOR",
          "unit_cost_cents": 400
        }
      ]
    }
  }
}
{
  "success": false,
  "error": {
    "code": "UNAUTHORIZED",
    "message": "authentication failed",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
  }
}
{
  "success": false,
  "error": {
    "code": "FORBIDDEN",
    "message": "missing required scope",
    "request_id": "01JTBQH2FZ8K1RXC0WJ4Z9P3VM"
  }
}