---
title: "Read the account's agent spend policy, each live key's purchase grant and the last 20 changes"
method: GET
path: "/v1/account/billing/agent-purchasing"
---

# Read the account's agent spend policy, each live key's purchase grant and the last 20 changes

`GET /v1/account/billing/agent-purchasing`

## Request

- Base URL: `https://api.roveapi.com`
- URL: `https://api.roveapi.com/v1/account/billing/agent-purchasing`
- Auth: API key in cookie `rove_session`

## Response `200`

Successful response (Cache-Control: no-store)

- object
  - `policy` object, required
    - `state` 'off' | 'on', required: off by default: no API key can buy until the owner turns it on
    - `per_purchase_max_cents` integer, required: Ceiling $500; not above period_max_cents.
    - `period` 'day' | 'week' | 'month', required: Calendar periods in UTC; weeks start Monday.
    - `period_max_cents` integer, required: Ceiling $2,000.
    - `off_session_allowed` boolean, required
    - `updated_at` string, date-time, nullable, required: null until the owner first changes it; the values are then the defaults ($25 per purchase, $100 per month).
    - `period_committed_cents` integer, required: Live agent and auto top-up purchases this period that reserve or spent their amount; owner purchases never count.
    - `period_resets_at` string, date-time, required
    - `ceilings` object, required
      - `per_purchase_max_cents` 50000, required
      - `period_max_cents` 200000, required
  - `keys` object[], required: The account's live keys, newest first.
    - `api_key_id` string, uuid, required
    - `key_name` string, nullable, required
    - `token_prefix` 'rvp_live_' | 'rvp_test_', required
    - `state` 'none' | 'granted' | 'revoked', required: none: this key was never allowed to buy.
    - `per_purchase_max_cents` integer, nullable, required: null inherits the account limit.
    - `period_max_cents` integer, nullable, required: null inherits the account limit.
    - `period_committed_cents` integer, required: This key's purchases this period, in the key's own mode (test keys count test-mode spend).
    - `last_refusal` object, nullable, required
      - `type` string, required
      - `limit` string
      - `at` string, required
  - `changes` object[], required: The last 20 owner billing-settings changes, newest first.
    - `id` string, uuid, required
    - `kind` 'spend_policy' | 'key_grant' | 'payment_method' | 'auto_topup', required
    - `before` unknown, required
    - `after` unknown, required
    - `at` string, date-time, required

## Other responses

- `401`: RFC 7807 owner-session-required: sign in
- `403`: RFC 7807 owner-origin-refused (mutations only)
- `503`: RFC 7807 account-service-unavailable; Retry-After: 30

---

[API](https://skmtc.dev/roveapi/apis/rove-api.md) · [All operations](https://skmtc.dev/roveapi/apis/rove-api/llms.txt) · [OpenAPI document](https://skmtc.dev/roveapi/apis/rove-api/revisions/0e5d69bde586?raw)
