# Cancel an OutboundSetupIntent object

Cancel an OutboundSetupIntent object.

## Request

```curl
curl -X POST https://api.stripe.com/v2/money_management/outbound_setup_intents/osi_test_61SGjPYqxe7aclYYK16SFYY50hSQyuKxcW4dWTJuSJ2u/cancel \
  -H "Authorization: Bearer <<YOUR_SECRET_KEY>>" \
  -H "Stripe-Version: 2025-09-30.preview"
```

### Response

```json
{
  "id": "osi_test_61SGjPYqxe7aclYYK16SFYY50hSQyuKxcW4dWTJuSJ2u",
  "object": "v2.money_management.outbound_setup_intent",
  "created": "2025-03-27T18:47:00.000Z",
  "next_action": null,
  "payout_method": {
    "id": "usba_test_61SGjPYDjK74f4Wbp16SFYY50hSQyuKxcW4dWTJuSVma",
    "object": "v2.money_management.payout_method",
    "available_payout_speeds": [
      "standard"
    ],
    "bank_account": {
      "archived": false,
      "bank_name": "Test Bank",
      "country": "US",
      "enabled_delivery_options": [
        "local"
      ],
      "last4": "6789",
      "routing_number": "110000000",
      "supported_currencies": [
        "usd"
      ],
      "bank_account_type": "checking"
    },
    "created": "2025-03-27T18:47:00.051Z",
    "latest_outbound_setup_intent": "osi_test_61SGjPYqxe7aclYYK16SFYY50hSQyuKxcW4dWTJuSJ2u",
    "type": "bank_account",
    "usage_status": {
      "payments": "invalid",
      "transfers": "invalid"
    },
    "livemode": false
  },
  "status": "canceled",
  "usage_intent": "payment",
  "livemode": false
}
```

## Parameters

- `id` (string, required)
  ID of the OutboundSetupIntent object.

## Returns

## Response attributes

- `id` (string)
  ID of the outbound setup intent.

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

- `created` (timestamp)
  Created timestamp.

- `livemode` (boolean)
  Has the value `true` if the object exists in live mode or the value `false` if the object exists in test mode.

- [`next_action`](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents/cancel.md?query=next_action&api-version=2025-09-30.preview) (object, nullable)
  Specifies which actions needs to be taken next to continue setup of the credential.

- [`payout_method`](https://docs.stripe.com/api/v2/money-management/outbound-setup-intents/cancel.md?query=payout_method&api-version=2025-09-30.preview) (object)
  Information about the payout method that’s created and linked to this outbound setup intent.

- `status` (enum)
  Status of the outbound setup intent.
Possible enum values:
  - `canceled`
    The user may cancel the outbound setup intent at any time prior to reaching the succeeded status. The outbound setup intent will no longer be usable. This is a terminal status.

  - `requires_action`
    Some additional setup steps need to be done to fully set up the credential for the specified usage intent. Additional steps are specified in next_action.

  - `requires_payout_method`
    When the outbound setup intent is created, it begins in this status if no payout_method_data is provided. The outbound setup intent will also transition back to this status if a setup failure occurs. The user will then need to provide new payout_method_data to continue.

  - `succeeded`
    If no additional setup actions need to be done i.e. credential is fully set up for the specified usage intent. This is a terminal status.

- `usage_intent` (enum)
  The intended money movement flow this payout method should be set up for, specified in params.
Possible enum values:
  - `payment`
    Setup for outbound payments.

  - `transfer`
    Setup for outbound transfers.

## Error Codes

| HTTP status code | Code | Description |
| --- | --- | --- |
| 400 | cannot_cancel_terminal_outbound_setup_intent | Returned when attempting to cancel an outbound setup intent in a terminal state (canceled or succeeded). |
| 404 | not_found | The resource wasn’t found. |
