# Adds ability to require approval for Stripe-initiated actions

## What’s new

Introduces the [Approval Requests v2](https://docs.stripe.com/api/v2/core/approval-requests/object.md?api-version=2026-08-26.preview#v2_approval_request_object) API in public preview. Use this API to require explicit approval before Stripe executes sensitive actions on your account, such as creating charges, payouts, transfers, or refunds. The API supports create, update, list, retrieve, and cancel endpoints.

Approval Requests support actions across payments, billing, and money movement, including charge creation, payout creation, transfer creation, refund creation, and subscription updates.

Stripe sends the following events related to Approval Request activity:

- `v2.core.approval_request.created`
- `v2.core.approval_request.approved`
- `v2.core.approval_request.rejected`
- `v2.core.approval_request.canceled`
- `v2.core.approval_request.expired`
- `v2.core.approval_request.succeeded`
- `v2.core.approval_request.failed`

## Impact

You can configure rules that require Stripe to obtain human approval before processing high-risk or sensitive API actions on your account. Listen for [Approval Request webhook events](https://docs.stripe.com/account/approvals.md#webhooks-events) to build automated notification and review systems that integrate with your existing operational tooling.

## Changes

#### REST API

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [V2.Core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

| Endpoints | Change | Resource |
| --- | --- | --- |
| `cancel`, `list`, `retrieve`, `update` | Added | [V2.Core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

|  | Change | Event type |
| --- | --- | --- |
| `V2CoreApprovalRequestApprovedEvent`, `V2CoreApprovalRequestCanceledEvent`, `V2CoreApprovalRequestCreatedEvent`, `V2CoreApprovalRequestExpiredEvent`, `V2CoreApprovalRequestFailedEvent`, `V2CoreApprovalRequestRejectedEvent`, `V2CoreApprovalRequestSucceededEvent` | Added | `V2.Core.ApprovalRequest` |

#### Ruby

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [V2::Core::ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

| Methods | Change | Resource |
| --- | --- | --- |
| `cancel`, `list`, `retrieve`, `update` | Added | [V2::Core::ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

|  | Change | Event type |
| --- | --- | --- |
| `V2CoreApprovalRequestApprovedEvent`, `V2CoreApprovalRequestCanceledEvent`, `V2CoreApprovalRequestCreatedEvent`, `V2CoreApprovalRequestExpiredEvent`, `V2CoreApprovalRequestFailedEvent`, `V2CoreApprovalRequestRejectedEvent`, `V2CoreApprovalRequestSucceededEvent` | Added | `V2::Core::ApprovalRequest` |

#### Python

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [v2.core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

| Methods | Change | Resource |
| --- | --- | --- |
| `cancel`, `list`, `modify`, `retrieve` | Added | [v2.core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

|  | Change | Event type |
| --- | --- | --- |
| `V2CoreApprovalRequestApprovedEvent`, `V2CoreApprovalRequestCanceledEvent`, `V2CoreApprovalRequestCreatedEvent`, `V2CoreApprovalRequestExpiredEvent`, `V2CoreApprovalRequestFailedEvent`, `V2CoreApprovalRequestRejectedEvent`, `V2CoreApprovalRequestSucceededEvent` | Added | `v2.core.ApprovalRequest` |

#### PHP

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [V2.Core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

| Methods | Change | Resource |
| --- | --- | --- |
| `all`, `cancel`, `retrieve`, `update` | Added | [V2.Core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

|  | Change | Event type |
| --- | --- | --- |
| `V2CoreApprovalRequestApprovedEvent`, `V2CoreApprovalRequestCanceledEvent`, `V2CoreApprovalRequestCreatedEvent`, `V2CoreApprovalRequestExpiredEvent`, `V2CoreApprovalRequestFailedEvent`, `V2CoreApprovalRequestRejectedEvent`, `V2CoreApprovalRequestSucceededEvent` | Added | `V2.Core.ApprovalRequest` |

#### Java

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [v2.core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

| Methods | Change | Resource |
| --- | --- | --- |
| `cancel`, `list`, `retrieve`, `update` | Added | [v2.core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

|  | Change | Event type |
| --- | --- | --- |
| `V2CoreApprovalRequestApprovedEvent`, `V2CoreApprovalRequestCanceledEvent`, `V2CoreApprovalRequestCreatedEvent`, `V2CoreApprovalRequestExpiredEvent`, `V2CoreApprovalRequestFailedEvent`, `V2CoreApprovalRequestRejectedEvent`, `V2CoreApprovalRequestSucceededEvent` | Added | `v2.core.ApprovalRequest` |

#### Node.js

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [V2.Core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

| Methods | Change | Resource |
| --- | --- | --- |
| `cancel`, `list`, `retrieve`, `update` | Added | [V2.Core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

|  | Change | Event type |
| --- | --- | --- |
| `V2CoreApprovalRequestApprovedEvent`, `V2CoreApprovalRequestCanceledEvent`, `V2CoreApprovalRequestCreatedEvent`, `V2CoreApprovalRequestExpiredEvent`, `V2CoreApprovalRequestFailedEvent`, `V2CoreApprovalRequestRejectedEvent`, `V2CoreApprovalRequestSucceededEvent` | Added | `V2.Core.ApprovalRequest` |

#### Go

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [V2CoreApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

| Methods | Change | Resource |
| --- | --- | --- |
| `Cancel`, `Get`, `List`, `Update` | Added | [V2CoreApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

|  | Change | Event type |
| --- | --- | --- |
| `V2CoreApprovalRequestApprovedEvent`, `V2CoreApprovalRequestCanceledEvent`, `V2CoreApprovalRequestCreatedEvent`, `V2CoreApprovalRequestExpiredEvent`, `V2CoreApprovalRequestFailedEvent`, `V2CoreApprovalRequestRejectedEvent`, `V2CoreApprovalRequestSucceededEvent` | Added | `V2CoreApprovalRequest` |

#### .NET

|  | Change | Resource |
| --- | --- | --- |
|  | Added | [V2.Core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

| Methods | Change | Resource |
| --- | --- | --- |
| `Cancel`, `Get`, `List`, `Update` | Added | [V2.Core.ApprovalRequest](/api/v2/core/approval-requests/object?api-version=2026-08-26.preview#v2_approval_request_object) |

|  | Change | Event type |
| --- | --- | --- |
| `V2CoreApprovalRequestApprovedEvent`, `V2CoreApprovalRequestCanceledEvent`, `V2CoreApprovalRequestCreatedEvent`, `V2CoreApprovalRequestExpiredEvent`, `V2CoreApprovalRequestFailedEvent`, `V2CoreApprovalRequestRejectedEvent`, `V2CoreApprovalRequestSucceededEvent` | Added | `V2.Core.ApprovalRequest` |

## Upgrade

#### REST API

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. If you use an SDK, upgrade to the corresponding SDK version for this API version.
   - If you don’t use an SDK, update your [API requests](https://docs.stripe.com/api/versioning.md) to include `Stripe-Version: 2026-08-26.preview`
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Ruby

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Ruby SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Python

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Python SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### PHP

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your PHP SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Java

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Java SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Node.js

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Node SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### Go

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your Go SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).

#### .NET

1. [View your current API version](https://docs.stripe.com/upgrades.md#view-your-api-version-and-the-latest-available-upgrade-in-workbench) in Workbench.
2. Upgrade your .NET SDK to the latest version.
3. Upgrade the API version used for [webhook endpoints](https://docs.stripe.com/webhooks/versioning.md).
4. [Test your integration](https://docs.stripe.com/testing.md) against the new version.
5. If you use Connect, [test your Connect integration](https://docs.stripe.com/connect/testing.md).
6. In Workbench, [perform the upgrade](https://docs.stripe.com/upgrades.md#perform-the-upgrade). You can [roll back the version](https://docs.stripe.com/upgrades.md#roll-back-your-api-version) for 72 hours.

Learn more about [Stripe API upgrades](https://docs.stripe.com/upgrades.md).
