---
title: Effective
url: https://platform.claude.com/docs/en/api/ruby/beta/organization/spend_limits/effective
---

# Effective

## List Effective Spend Limits

`beta.organization.spend_limits.effective.list(**kwargs) -> PageCursor<BetaSpendSummary>`

**GET** `/v1/organizations/spend_limits/effective`

List each member's effective spend limit and period-to-date spend.

Returns one row per (member, period) the member resolves a spend limit
for, with the `source` scope the spend limit was inherited from.
Paginates by member, so a member's periods never split across pages.
Supported for Claude Enterprise organizations only, not for Claude Console
organizations.

### Parameters

- `limit: Integer` (query parameter)

  Maximum number of members per page. A member's period rows never split across pages, so a page may carry more rows than this. Defaults to `20`.

  minimum: 1, maximum: 1000

- `page: String` (query parameter)

  Opaque cursor from a previous response's `next_page` field.

- `period: Array[:daily | :monthly | :weekly]` (query parameter)

  Restrict the report to these limit periods. Omit to return one row per period each member resolves a spend limit for.

  maxItems: 3

  - `:daily`

  - `:monthly`

  - `:weekly`

- `user_ids: Array[String]` (query parameter)

  Restrict the report to these members, by tagged user ID (`user_...`). At most 100 entries.

  maxItems: 100

### Returns

- `class BetaSpendSummary`

  Per-member effective-limit report row (`GET /spend_limits/effective`).

  - `actor: BetaSpendLimitUserActor | BetaSpendLimitScopedAPIKeyActor`

    - `class BetaSpendLimitUserActor`

      A user within the organization. `name` and `email_address` are
      null when the underlying account is unavailable or has been deleted;
      `deleted` is true only for deleted accounts.

      - `type: :user_actor`

        Actor type. Always `user_actor`.

      - `deleted: bool`

        True only when the underlying account has been deleted.

      - `email_address: String`

        The user's email address. Null when the account is unavailable or has been deleted.

      - `name: String`

        The user's current display name. Null when the account is unavailable, has been deleted, or has no name set.

      - `user_id: String`

        Tagged ID of the user.

    - `class BetaSpendLimitScopedAPIKeyActor`

      A scoped Admin API key acting on behalf of the organization.

      - `type: :scoped_api_key_actor`

      - `scoped_api_key_id: String`

  - `amount: String`

    Effective limit amount as a non-negative integer decimal string in the minor unit of `currency` (cents for USD). `null` means no limit applies for this row's `period` — each period resolves independently, so another period may still cap this member.

  - `currency: String`

    ISO 4217 code of the organization's billing currency; the unit for `amount` and `period_to_date_spend`.

  - `period: BetaSpendLimitPeriod`

    Period this row's effective limit and spend are reported for.

    - `:daily`

    - `:monthly`

    - `:weekly`

  - `period_to_date_spend: String`

    The member's spend so far in the current period, as a non-negative decimal string in the minor unit of `currency` (cents for USD). May carry fractional minor units up to three decimal places (e.g. `"12050.5"`) — metered usage is not rounded to whole cents. Reads as `"0"` when the spend reading is temporarily unavailable.

  - `scope: BetaSpendLimitUserScope | BetaSpendLimitSeatTierScope | BetaSpendLimitRBACGroupScope | 4 more`

    - `class BetaSpendLimitUserScope`

      Scope selecting a single member of the organization.

      - `type: :user`

        Scope type. Always `user` for this scope.

      - `user_id: String`

        Tagged ID of the member the spend limit applies to.

    - `class BetaSpendLimitSeatTierScope`

      - `type: :seat_tier`

      - `seat_tier: String`

    - `class BetaSpendLimitRBACGroupScope`

      - `type: :rbac_group`

      - `rbac_group_id: String`

    - `class BetaSpendLimitOrganizationServiceScope`

      - `type: :organization_service`

      - `service: String`

    - `class BetaSpendLimitOrganizationScope`

      - `type: :organization`

    - `class BetaSpendLimitWorkspaceScope`

      Scope selecting one workspace of a Claude Console organization.

      - `type: :workspace`

        Scope type. Always `workspace` for this scope.

      - `workspace_id: String`

        Tagged ID of the workspace the spend limit applies to.

    - `class BetaSpendLimitUsageTierScope`

      Scope of the monthly spend cap Anthropic sets for a Claude Console
      organization from its usage tier, or a higher cap Anthropic granted the
      organization. Read-only; its `created_at` and `updated_at` are the
      organization's creation time, so `amount` can change while `updated_at` stays
      the same.

      - `type: :usage_tier`

        Scope type. Always `usage_tier` for this scope.

  - `source: BetaSpendLimitUserScope | BetaSpendLimitSeatTierScope | BetaSpendLimitRBACGroupScope | 4 more`

    - `class BetaSpendLimitUserScope`

      Scope selecting a single member of the organization.

    - `class BetaSpendLimitSeatTierScope`

    - `class BetaSpendLimitRBACGroupScope`

    - `class BetaSpendLimitOrganizationServiceScope`

    - `class BetaSpendLimitOrganizationScope`

    - `class BetaSpendLimitWorkspaceScope`

      Scope selecting one workspace of a Claude Console organization.

    - `class BetaSpendLimitUsageTierScope`

      Scope of the monthly spend cap Anthropic sets for a Claude Console
      organization from its usage tier, or a higher cap Anthropic granted the
      organization. Read-only; its `created_at` and `updated_at` are the
      organization's creation time, so `amount` can change while `updated_at` stays
      the same.

  - `spend_limit_id: String`

### Example

```ruby
require "anthropic"

anthropic = Anthropic::Client.new(api_key: "my-anthropic-api-key")

page = anthropic.beta.organization.spend_limits.effective.list

puts(page)
```

#### Response (200)

```json
{
  "data": [
    {
      "actor": {
        "deleted": true,
        "email_address": "email_address",
        "name": "name",
        "type": "user_actor",
        "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
      },
      "amount": "50000",
      "currency": "USD",
      "period": "daily",
      "period_to_date_spend": "12050.5",
      "scope": {
        "type": "user",
        "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
      },
      "source": {
        "type": "user",
        "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
      },
      "spend_limit_id": "spend_limit_id"
    }
  ],
  "next_page": "next_page"
}
```
