> ## 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](/reference/payments-api/setup-intents/setup-intents-get) endpoint. The `status` field tracks the setup through `created`, `started`, `waiting_for_retry`, `succeeded`, and `failed`.

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

| 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. `null` while no attempt has failed, or after the setup succeeds. See [Setup intent error reasons](/reference/payments-api/setup-intents/setup-intent-error-reason) for the full list.            |
| `status`       | `string`           | Setup status. One of `created`, `started`, `waiting_for_retry`, `succeeded`, or `failed`. The setup starts as `created`, moves to `started` while in progress, moves to `waiting_for_retry` after a retryable failure, and ends as `succeeded` or `failed`. |
