> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fintoc.com/llms.txt
> Use this file to discover all available pages before exploring further.

# The Setup Intent object

The `SetupIntent` object represents an attempt by your customer to set up a payment method for future charges without making a payment. A `CheckoutSession` created with the `setup` or `subscription` flow includes the setup intent in `setup_intent`. You can retrieve the setup intent with the [Get setup intent](/api/payments-api/setup-intents/setup-intents-get) endpoint. The object contains the following attributes:

| Attribute      | Type               | Description                                                                                                                                                                                                                                                                              |
| :------------- | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`           | `string`           | Unique identifier for the `SetupIntent` object.                                                                                                                                                                                                                                          |
| `object`       | `string`           | Type of the object. Always `setup_intent`.                                                                                                                                                                                                                                               |
| `error_reason` | `string` or `null` | Error code explaining why the latest setup attempt failed. Returns `null` before an attempt fails and after the setup succeeds. See [Setup intent error reasons](/api/payments-api/setup-intents/setup-intent-error-reason) for the full list.                                           |
| `status`       | `string`           | Setup status with a value of `created`, `started`, `waiting_for_retry`, `succeeded`, or `failed`. The status starts as `created`, moves to `started` while setup is in progress, and moves to `waiting_for_retry` after a retryable failure. The status ends as `succeeded` or `failed`. |

```json Setup Intent Object theme={null}
{
  "id": "seti_2cKoy3PEXAuvkr4ofXC1KdMvCgZ",
  "object": "setup_intent",
  "error_reason": "invalid_card",
  "status": "failed"
}
```
