# The Approval Request object

#### Requires review

#### Requires review

### The Approval Request object

```json
{
  "id": "areq_1234567890abcdef",
  "object": "v2.core.approval_request",
  "created": "2025-01-15T10:30:00.000Z",
  "action": "refund.create",
  "status": "requires_review",
  "reason": "Approved by finance lead over Slack; updating context for reviewers.",
  "dashboard_url": "https://dashboard.stripe.com/approval_requests/areq_1234567890abcdef",
  "requested_by": {
    "type": "api_key",
    "api_key": {
      "id": "rk_live_abc123",
      "name": "Finance Team Key"
    }
  },
  "expires_at": "2025-01-22T10:30:00.000Z",
  "livemode": true,
  "status_details": null,
  "status_transitions": {
    "approved_at": null,
    "succeeded_at": null,
    "failed_at": null,
    "rejected_at": null,
    "canceled_at": null,
    "expired_at": null
  },
  "review": null
}
```

#### Succeeded

#### Succeeded

### The Approval Request object

```json
{
  "id": "areq_abcdef1234567890",
  "object": "v2.core.approval_request",
  "created": "2025-01-15T10:30:00.000Z",
  "action": "payout.create",
  "status": "succeeded",
  "reason": null,
  "dashboard_url": "https://dashboard.stripe.com/approval_requests/areq_abcdef1234567890",
  "requested_by": {
    "type": "user",
    "user": {
      "email": "finance@example.com"
    }
  },
  "expires_at": "2025-01-22T10:30:00.000Z",
  "livemode": true,
  "status_details": {
    "succeeded": {
      "result": {
        "id": "po_1234567890abcdef",
        "object": "payout"
      }
    }
  },
  "status_transitions": {
    "approved_at": "2025-01-15T10:45:00.000Z",
    "succeeded_at": "2025-01-15T11:00:00.000Z",
    "failed_at": null,
    "rejected_at": null,
    "canceled_at": null,
    "expired_at": null
  },
  "review": {
    "reviewed_by": {
      "type": "api_key",
      "api_key": {
        "id": "rk_live_xyz789",
        "name": "Admin Key"
      }
    },
    "result": "approved",
    "reason": "Approved by finance manager.",
    "reviewed_at": "2025-01-15T10:45:00.000Z"
  }
}
```

## Attributes

- `id` (string)
  The unique identifier for this ApprovalRequest.

- `object` (string, value is "v2.core.approval_request")
  String representing the object’s type. Objects of the same type share the same value of the object field.

- `action` (enum)
  The action that was requested.
Possible enum values:
  - `charge.create`
    Approval request for creating a charge.

  - `dispute.close`
    Approval request for closing a dispute.

  - `inbound_transfers.money_management.create`
    Approval request for creating an inbound transfer via money management.

  - `invoice.create`
    Approval request for creating an invoice.

  - `outbound_payments.money_management.create`
    Approval request for creating an outbound payment via money management.

  - `outbound_transfers.money_management.create`
    Approval request for creating an outbound transfer via money management.

  - `payment_intent.create`
    Approval request for creating a payment intent.

  - `payment_intent.update`
    Approval request for updating a payment intent.

  - `payout.create`
    Approval request for creating a payout.

  - `price.update`
    Approval request for updating a price.

  - `refund.create`
    Approval request for creating a refund.

  - `setup_intent.create`
    Approval request for creating a setup intent.

  - `subscription.create`
    Approval request for creating a subscription.

  - `subscription.update`
    Approval request for updating a subscription.

  - `topup.create`
    Approval request for creating a top-up.

  - `transfer.create`
    Approval request for creating a transfer.

- `created` (timestamp)
  Time this ApprovalRequest was created.

- `dashboard_url` (string, nullable)
  The URL to the dashboard for this ApprovalRequest.

- `expires_at` (timestamp)
  The timestamp at which this ApprovalRequest will expire.

- `livemode` (boolean)
  Whether this ApprovalRequest is livemode.

- `reason` (string, nullable)
  Context provided by the requester (e.g. an agent) to help reviewers evaluate the request.

- [`requested_by`](https://docs.stripe.com/api/v2/core/approval-requests/object.md?query=requested_by&api-version=2026-08-26.preview) (object)
  The requester of this ApprovalRequest.

- [`review`](https://docs.stripe.com/api/v2/core/approval-requests/object.md?query=review&api-version=2026-08-26.preview) (object, nullable)
  The review of this ApprovalRequest if it has been reviewed.

- [`rule`](https://docs.stripe.com/api/v2/core/approval-requests/object.md?query=rule&api-version=2026-08-26.preview) (object, nullable)
  The rule associated with this ApprovalRequest.

- `status` (enum)
  The status of this ApprovalRequest.
Possible enum values:
  - `approved`
    The approval request has been approved and is awaiting or undergoing execution.

  - `canceled`
    The approval request was canceled.

  - `execution_failed`
    Deprecated: use failed instead.

  - `execution_started`
    Deprecated: use requires_execution instead.

  - `execution_succeeded`
    Deprecated: use succeeded instead.

  - `expired`
    The approval request expired before being reviewed.

  - `failed`
    The approval request execution failed.

  - `pending`
    Deprecated: use requires_review instead.

  - `rejected`
    The approval request was rejected by a reviewer.

  - `requires_execution`
    The approval request has been approved and is awaiting execution. Deprecated: deferred to agentic approvals phase.

  - `requires_review`
    The approval request is awaiting review.

  - `succeeded`
    The approval request was executed successfully.

- [`status_details`](https://docs.stripe.com/api/v2/core/approval-requests/object.md?query=status_details&api-version=2026-08-26.preview) (object, nullable)
  The details of the status of this ApprovalRequest.

- [`status_transitions`](https://docs.stripe.com/api/v2/core/approval-requests/object.md?query=status_transitions&api-version=2026-08-26.preview) (object, nullable)
  The transitions of the status of this ApprovalRequest.
