---
title: Spend Limits
url: https://platform.claude.com/docs/en/api/php/beta/organization/spend_limits
---

# Spend Limits

## Set Spend Limit

`$client->beta->organization->spendLimits->set(?string amount, Scope scope, ?SpendLimitPeriod period, ?list<AnthropicBeta> betas): SpendLimit`

**POST** `/v1/organizations/spend_limits`

Set a spend limit.

Upsert keyed on (scope, period): setting a limit that already exists
overwrites it in place. A Claude Enterprise organization sets `user`
limits. Its seat-tier, group, and organization-level defaults are configured
in claude.ai. A Claude Console organization sets `organization` and
`workspace` limits, which are monthly and always carry an amount. Setting those
limits is in an early access preview. To request access, contact your
Anthropic account team.

### Parameters

- `amount: string`

  Limit amount as a non-negative integer decimal string in the minor unit of the organization's billing currency (cents for USD): "50000" is $500.00. `null` sets an explicit no-limit override for this scope and `period` only — each period resolves independently, so caps for other periods still apply.

- `scope: Scope`

  What the limit applies to. Claude Enterprise organizations set `user` limits. Claude Console organizations set `organization` and `workspace` limits. Any other combination returns 400. Setting `organization` and `workspace` limits through the API is in an early access preview. To request access, contact your Anthropic account team.

- `period?:optional SpendLimitPeriod`

- `betas?:optional list<AnthropicBeta>` (header parameter)

  Optional header to specify the beta version(s) you want to use.

### Returns

- `class SpendLimit`

  - `"spend_limit" type`

    Object type. Always `spend_limit`.

  - `string id`

    Unique tagged ID of the spend limit (`spl_...`).

  - `?string amount`

    Limit amount as a non-negative integer decimal string in the minor unit of `currency` (cents for USD): "50000" is $500.00. `null` means no numeric cap is configured at this scope — see the effective report for whether a limit applies.

  - `\Datetime createdAt`

    RFC 3339 datetime at which the spend limit was created.

  - `string currency`

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

  - `bool isEnabled`

    Read-only. `false` when extra usage is switched off for this organization (`organization` limit); `amount` is kept and applies again when it's switched back on. Always `true` for other limits.

  - `SpendLimitPeriod period`

    Length of the window the limit resets over. `amount` caps spend within each period.

  - `Scope scope`

    What the limit applies to. A tagged union on `type`; each variant carries the identifier for its scope.

  - `\Datetime updatedAt`

    RFC 3339 datetime at which the spend limit was last modified.

### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\AnthropicBeta;
use Anthropic\Beta\Organization\SpendLimits\SpendLimitPeriod;

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaSpendLimit = $client->beta->organization->spendLimits->set(
  amount: '50000',
  scope: ['type' => 'user', 'userID' => 'user_01WCz1FkmYMm4gnmykNKUu3Q'],
  period: SpendLimitPeriod::MONTHLY,
  betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24],
);

var_dump($betaSpendLimit);
```

#### Response (200)

```json
{
  "id": "id",
  "amount": "50000",
  "created_at": "2019-12-27T18:11:19.117Z",
  "currency": "USD",
  "is_enabled": true,
  "period": "daily",
  "scope": {
    "type": "user",
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  },
  "type": "spend_limit",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Get Spend Limit

`$client->beta->organization->spendLimits->retrieve(string spendLimitID): SpendLimit`

**GET** `/v1/organizations/spend_limits/{spend_limit_id}`

Retrieve a spend limit by ID.

### Parameters

- `spendLimitID: string` (path parameter)

  ID of the Spend Limit.

### Returns

- `class SpendLimit`

  - `"spend_limit" type`

    Object type. Always `spend_limit`.

  - `string id`

    Unique tagged ID of the spend limit (`spl_...`).

  - `?string amount`

    Limit amount as a non-negative integer decimal string in the minor unit of `currency` (cents for USD): "50000" is $500.00. `null` means no numeric cap is configured at this scope — see the effective report for whether a limit applies.

  - `\Datetime createdAt`

    RFC 3339 datetime at which the spend limit was created.

  - `string currency`

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

  - `bool isEnabled`

    Read-only. `false` when extra usage is switched off for this organization (`organization` limit); `amount` is kept and applies again when it's switched back on. Always `true` for other limits.

  - `SpendLimitPeriod period`

    Length of the window the limit resets over. `amount` caps spend within each period.

  - `Scope scope`

    What the limit applies to. A tagged union on `type`; each variant carries the identifier for its scope.

  - `\Datetime updatedAt`

    RFC 3339 datetime at which the spend limit was last modified.

### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaSpendLimit = $client->beta->organization->spendLimits->retrieve(
  'spend_limit_id'
);

var_dump($betaSpendLimit);
```

#### Response (200)

```json
{
  "id": "id",
  "amount": "50000",
  "created_at": "2019-12-27T18:11:19.117Z",
  "currency": "USD",
  "is_enabled": true,
  "period": "daily",
  "scope": {
    "type": "user",
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  },
  "type": "spend_limit",
  "updated_at": "2019-12-27T18:11:19.117Z"
}
```

## Delete Spend Limit

`$client->beta->organization->spendLimits->delete(string spendLimitID): SpendLimitDeleteResponse`

**DELETE** `/v1/organizations/spend_limits/{spend_limit_id}`

Delete a spend limit.

For a Claude Enterprise organization, this deletes a per-user override, and
the member falls back to any inherited spend limit at that period. Its
seat-tier, group, and organization-level rows cannot be deleted via this
endpoint. A Claude Console organization deletes its organization and
workspace limits, but not its `usage_tier` limit. Deleting organization and
workspace limits through the API is in an early access preview.

### Parameters

- `spendLimitID: string` (path parameter)

  ID of the Spend Limit.

### Returns

- `class SpendLimitDeleteResponse`

  - `"spend_limit_deleted" type`

  - `string id`

### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$spendLimit = $client->beta->organization->spendLimits->delete(
  'spend_limit_id'
);

var_dump($spendLimit);
```

#### Response (200)

```json
{
  "id": "id",
  "type": "spend_limit_deleted"
}
```

## List Spend Limits

`$client->beta->organization->spendLimits->list(?int limit, ?string page, ?list<ScopeType> scopeType, ?string workspaceID, ?list<AnthropicBeta> betas): PageCursor<SpendLimit>`

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

List the organization's spend limits.

A Claude Console organization's limits, including any read-only `usage_tier`
limit, come newest first. Listing them is in an early access preview. To
request access, contact your Anthropic account team. A Claude Enterprise
organization's limits are grouped by scope type, in the order `organization`,
`seat_tier`, `rbac_group`, `organization_service`, `user`; within a type they
come in a fixed order that is not creation order.

### Parameters

- `limit?:optional int` (query parameter)

  Maximum number of limits per page. Defaults to `20`.

  default: 20

- `page?:optional string` (query parameter)

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

- `scopeType?:optional list<ScopeType>` (query parameter)

  Return only limits with these scope types. Omit for all. A scope type that doesn't apply to the organization gets a 400 error.

- `workspaceID?:optional string` (query parameter)

  Return only the limits whose `scope.workspace_id` is this workspace (`wrkspc_...`). Claude Console organizations only; other organizations get a 400 error.

- `betas?:optional list<AnthropicBeta>` (header parameter)

  This endpoint is in beta: requests must send `spend-limit-reads-2026-09-26` in this header.

### Returns

- `class SpendLimit`

  - `"spend_limit" type`

    Object type. Always `spend_limit`.

  - `string id`

    Unique tagged ID of the spend limit (`spl_...`).

  - `?string amount`

    Limit amount as a non-negative integer decimal string in the minor unit of `currency` (cents for USD): "50000" is $500.00. `null` means no numeric cap is configured at this scope — see the effective report for whether a limit applies.

  - `\Datetime createdAt`

    RFC 3339 datetime at which the spend limit was created.

  - `string currency`

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

  - `bool isEnabled`

    Read-only. `false` when extra usage is switched off for this organization (`organization` limit); `amount` is kept and applies again when it's switched back on. Always `true` for other limits.

  - `SpendLimitPeriod period`

    Length of the window the limit resets over. `amount` caps spend within each period.

  - `Scope scope`

    What the limit applies to. A tagged union on `type`; each variant carries the identifier for its scope.

  - `\Datetime updatedAt`

    RFC 3339 datetime at which the spend limit was last modified.

### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\AnthropicBeta;

$client = new Client(apiKey: 'my-anthropic-api-key');

$page = $client->beta->organization->spendLimits->list(
  limit: 1,
  page: 'page',
  scopeType: ['organization'],
  workspaceID: 'workspace_id',
  betas: [AnthropicBeta::MESSAGE_BATCHES_2024_09_24],
);

var_dump($page);
```

#### Response (200)

```json
{
  "data": [
    {
      "id": "id",
      "amount": "50000",
      "created_at": "2019-12-27T18:11:19.117Z",
      "currency": "USD",
      "is_enabled": true,
      "period": "daily",
      "scope": {
        "type": "user",
        "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
      },
      "type": "spend_limit",
      "updated_at": "2019-12-27T18:11:19.117Z"
    }
  ],
  "next_page": "next_page"
}
```

## Domain types

### Beta Spend Limit

- `class SpendLimit`

  - `"spend_limit" type`

    Object type. Always `spend_limit`.

  - `string id`

    Unique tagged ID of the spend limit (`spl_...`).

  - `?string amount`

    Limit amount as a non-negative integer decimal string in the minor unit of `currency` (cents for USD): "50000" is $500.00. `null` means no numeric cap is configured at this scope — see the effective report for whether a limit applies.

  - `\Datetime createdAt`

    RFC 3339 datetime at which the spend limit was created.

  - `string currency`

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

  - `bool isEnabled`

    Read-only. `false` when extra usage is switched off for this organization (`organization` limit); `amount` is kept and applies again when it's switched back on. Always `true` for other limits.

  - `SpendLimitPeriod period`

    Length of the window the limit resets over. `amount` caps spend within each period.

  - `Scope scope`

    What the limit applies to. A tagged union on `type`; each variant carries the identifier for its scope.

  - `\Datetime updatedAt`

    RFC 3339 datetime at which the spend limit was last modified.

### Beta Spend Limit Organization Scope

- `class SpendLimitOrganizationScope`

  - `"organization" type`

### Beta Spend Limit Organization Service Scope

- `class SpendLimitOrganizationServiceScope`

  - `"organization_service" type`

  - `string service`

### Beta Spend Limit Period

- `enum SpendLimitPeriod`

  - `"daily"`

  - `"monthly"`

  - `"weekly"`

### Beta Spend Limit RBAC Group Scope

- `class SpendLimitRBACGroupScope`

  - `"rbac_group" type`

  - `string rbacGroupID`

### Beta Spend Limit Scoped API Key Actor

- `class SpendLimitScopedAPIKeyActor`

  - `"scoped_api_key_actor" type`

  - `string scopedAPIKeyID`

### Beta Spend Limit Seat Tier Scope

- `class SpendLimitSeatTierScope`

  - `"seat_tier" type`

  - `string seatTier`

### Beta Spend Limit Usage Tier Scope

- `class SpendLimitUsageTierScope`

  - `"usage_tier" type`

    Scope type. Always `usage_tier` for this scope.

### Beta Spend Limit User Actor

- `class SpendLimitUserActor`

  - `"user_actor" type`

    Actor type. Always `user_actor`.

  - `bool deleted`

    True only when the underlying account has been deleted.

  - `?string emailAddress`

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

  - `?string name`

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

  - `string userID`

    Tagged ID of the user.

### Beta Spend Limit User Scope

- `class SpendLimitUserScope`

  - `"user" type`

    Scope type. Always `user` for this scope.

  - `string userID`

    Tagged ID of the member the spend limit applies to.

### Beta Spend Limit Workspace Scope

- `class SpendLimitWorkspaceScope`

  - `"workspace" type`

    Scope type. Always `workspace` for this scope.

  - `string workspaceID`

    Tagged ID of the workspace the spend limit applies to.

### Beta Spend Summary

- `class SpendSummary`

  - `Actor actor`

  - `?string amount`

    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.

  - `string currency`

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

  - `SpendLimitPeriod period`

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

  - `string periodToDateSpend`

    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 scope`

  - `Source source`

  - `string spendLimitID`

## Spend Limits › Effective

### List Effective Spend Limits

`$client->beta->organization->spendLimits->effective->list(?int limit, ?string page, ?list<Period> period, ?list<string> userIDs): PageCursor<SpendSummary>`

**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?:optional int` (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`.

  default: 20

- `page?:optional string` (query parameter)

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

- `period?:optional list<Period>` (query parameter)

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

- `userIDs?:optional list<string>` (query parameter)

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

#### Returns

- `class SpendSummary`

  - `Actor actor`

  - `?string amount`

    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.

  - `string currency`

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

  - `SpendLimitPeriod period`

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

  - `string periodToDateSpend`

    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 scope`

  - `Source source`

  - `string spendLimitID`

#### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$page = $client->beta->organization->spendLimits->effective->list(
  limit: 1, page: 'page', period: ['daily'], userIDs: ['string']
);

var_dump($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"
}
```

## Spend Limits › Increase Requests

### List Spend Limit Increase Requests

`$client->beta->organization->spendLimits->increaseRequests->list(?list<string> actorIDs, ?int limit, ?string page, ?list<BetaSpendLimitIncreaseRequestStatus> status): PageCursor<BetaSpendLimitIncreaseRequest>`

**GET** `/v1/organizations/spend_limit_increase_requests`

List spend limit increase requests, most recent first.

Pending requests include a live `spend_summary` for the requester.
Requests whose requester is no longer a member are excluded.

#### Parameters

- `actorIDs?:optional list<string>` (query parameter)

  Filter by requester, as `user_...` tagged IDs.

- `limit?:optional int` (query parameter)

  default: 20

- `page?:optional string` (query parameter)

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

- `status?:optional list<BetaSpendLimitIncreaseRequestStatus>` (query parameter)

  Filter by status. Omit to return all.

#### Returns

- `class BetaSpendLimitIncreaseRequest`

  - `"spend_limit_increase_request" type`

  - `string id`

  - `Actor actor`

  - `\Datetime createdAt`

  - `SpendLimitPeriod period`

  - `?\Datetime resolvedAt`

  - `?ResolvedBy resolvedBy`

  - `?SpendSummary spendSummary`

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

  - `BetaSpendLimitIncreaseRequestStatus status`

#### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\Organization\SpendLimits\IncreaseRequests\BetaSpendLimitIncreaseRequestStatus;

$client = new Client(apiKey: 'my-anthropic-api-key');

$page = $client->beta->organization->spendLimits->increaseRequests->list(
  actorIDs: ['string'],
  limit: 1,
  page: 'page',
  status: [BetaSpendLimitIncreaseRequestStatus::APPROVED],
);

var_dump($page);
```

##### Response (200)

```json
{
  "data": [
    {
      "id": "id",
      "actor": {
        "deleted": true,
        "email_address": "email_address",
        "name": "name",
        "type": "user_actor",
        "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
      },
      "created_at": "2019-12-27T18:11:19.117Z",
      "period": "daily",
      "resolved_at": "2019-12-27T18:11:19.117Z",
      "resolved_by": {
        "deleted": true,
        "email_address": "email_address",
        "name": "name",
        "type": "user_actor",
        "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
      },
      "spend_summary": {
        "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"
      },
      "status": "approved",
      "type": "spend_limit_increase_request"
    }
  ],
  "next_page": "next_page"
}
```

### Get Spend Limit Increase Request

`$client->beta->organization->spendLimits->increaseRequests->retrieve(string spendLimitIncreaseRequestID): BetaSpendLimitIncreaseRequest`

**GET** `/v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}`

Retrieve a spend limit increase request.

While `pending`, the response includes a live `spend_summary` for the
requester at the request's period.

#### Parameters

- `spendLimitIncreaseRequestID: string` (path parameter)

  ID of the spend limit increase request.

#### Returns

- `class BetaSpendLimitIncreaseRequest`

  - `"spend_limit_increase_request" type`

  - `string id`

  - `Actor actor`

  - `\Datetime createdAt`

  - `SpendLimitPeriod period`

  - `?\Datetime resolvedAt`

  - `?ResolvedBy resolvedBy`

  - `?SpendSummary spendSummary`

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

  - `BetaSpendLimitIncreaseRequestStatus status`

#### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaSpendLimitIncreaseRequest = $client
  ->beta
  ->organization
  ->spendLimits
  ->increaseRequests
  ->retrieve('spend_limit_increase_request_id');

var_dump($betaSpendLimitIncreaseRequest);
```

##### Response (200)

```json
{
  "id": "id",
  "actor": {
    "deleted": true,
    "email_address": "email_address",
    "name": "name",
    "type": "user_actor",
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  },
  "created_at": "2019-12-27T18:11:19.117Z",
  "period": "daily",
  "resolved_at": "2019-12-27T18:11:19.117Z",
  "resolved_by": {
    "deleted": true,
    "email_address": "email_address",
    "name": "name",
    "type": "user_actor",
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  },
  "spend_summary": {
    "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"
  },
  "status": "approved",
  "type": "spend_limit_increase_request"
}
```

### Approve Spend Limit Increase Request

`$client->beta->organization->spendLimits->increaseRequests->approve(string spendLimitIncreaseRequestID, string amount, ?SpendLimitPeriod period, ?bool suppressNotification): IncreaseRequestApproveResponse`

**POST** `/v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/approve`

Approve a pending spend limit increase request.

Writes a per-user spend limit at `amount` for the requester and
transitions the request to `approved`. `period` defaults to the period
the member was blocked on. Anthropic emails the requester unless
`suppress_notification` is set.

#### Parameters

- `spendLimitIncreaseRequestID: string` (path parameter)

  ID of the spend limit increase request.

- `amount: string`

  New per-user spend limit as a non-negative integer decimal string (minor units).

- `period?:optional SpendLimitPeriod`

- `suppressNotification?:optional bool`

#### Returns

- `class IncreaseRequestApproveResponse`

  - `"spend_limit_increase_request" type`

  - `string id`

  - `Actor actor`

  - `\Datetime createdAt`

  - `SpendLimitPeriod period`

  - `?\Datetime resolvedAt`

  - `?ResolvedBy resolvedBy`

  - `SpendLimit spendLimit`

    A configured spend limit: a cap on metered spend for one scope and period.

  - `?SpendSummary spendSummary`

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

  - `BetaSpendLimitIncreaseRequestStatus status`

#### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;
use Anthropic\Beta\Organization\SpendLimits\SpendLimitPeriod;

$client = new Client(apiKey: 'my-anthropic-api-key');

$response = $client->beta->organization->spendLimits->increaseRequests->approve(
  'spend_limit_increase_request_id',
  amount: '50000',
  period: SpendLimitPeriod::MONTHLY,
  suppressNotification: true,
);

var_dump($response);
```

##### Response (200)

```json
{
  "id": "id",
  "actor": {
    "deleted": true,
    "email_address": "email_address",
    "name": "name",
    "type": "user_actor",
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  },
  "created_at": "2019-12-27T18:11:19.117Z",
  "period": "daily",
  "resolved_at": "2019-12-27T18:11:19.117Z",
  "resolved_by": {
    "deleted": true,
    "email_address": "email_address",
    "name": "name",
    "type": "user_actor",
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  },
  "spend_limit": {
    "id": "id",
    "amount": "50000",
    "created_at": "2019-12-27T18:11:19.117Z",
    "currency": "USD",
    "is_enabled": true,
    "period": "daily",
    "scope": {
      "type": "user",
      "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
    },
    "type": "spend_limit",
    "updated_at": "2019-12-27T18:11:19.117Z"
  },
  "spend_summary": {
    "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"
  },
  "status": "approved",
  "type": "spend_limit_increase_request"
}
```

### Deny Spend Limit Increase Request

`$client->beta->organization->spendLimits->increaseRequests->deny(string spendLimitIncreaseRequestID, ?bool suppressNotification): BetaSpendLimitIncreaseRequest`

**POST** `/v1/organizations/spend_limit_increase_requests/{spend_limit_increase_request_id}/deny`

Deny a pending spend limit increase request.

Idempotent on `denied`; denying an already-`approved` request returns
400. Anthropic emails the requester unless `suppress_notification` is set.

#### Parameters

- `spendLimitIncreaseRequestID: string` (path parameter)

  ID of the spend limit increase request.

- `suppressNotification?:optional bool`

#### Returns

- `class BetaSpendLimitIncreaseRequest`

  - `"spend_limit_increase_request" type`

  - `string id`

  - `Actor actor`

  - `\Datetime createdAt`

  - `SpendLimitPeriod period`

  - `?\Datetime resolvedAt`

  - `?ResolvedBy resolvedBy`

  - `?SpendSummary spendSummary`

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

  - `BetaSpendLimitIncreaseRequestStatus status`

#### Example

```php
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Anthropic\Client;

$client = new Client(apiKey: 'my-anthropic-api-key');

$betaSpendLimitIncreaseRequest = $client
  ->beta
  ->organization
  ->spendLimits
  ->increaseRequests
  ->deny('spend_limit_increase_request_id', suppressNotification: true);

var_dump($betaSpendLimitIncreaseRequest);
```

##### Response (200)

```json
{
  "id": "id",
  "actor": {
    "deleted": true,
    "email_address": "email_address",
    "name": "name",
    "type": "user_actor",
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  },
  "created_at": "2019-12-27T18:11:19.117Z",
  "period": "daily",
  "resolved_at": "2019-12-27T18:11:19.117Z",
  "resolved_by": {
    "deleted": true,
    "email_address": "email_address",
    "name": "name",
    "type": "user_actor",
    "user_id": "user_01WCz1FkmYMm4gnmykNKUu3Q"
  },
  "spend_summary": {
    "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"
  },
  "status": "approved",
  "type": "spend_limit_increase_request"
}
```
