> ## 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.

# Subscription intent object

## The Subscription Intent object

A `SubscriptionIntent` represents an attempt to enroll an end user's bank account for direct debit. The `status` field tracks the enrollment progress. A successful enrollment creates the `Subscription` referenced by `subscription`. The following example shows a `SubscriptionIntent`:

```json theme={null}
{
  "id": "si_m7N9rAWJS9dWDKEe",
  "object": "subscription_intent",
  "business_profile": {
    "name": "Merchant Name"
  },
  "created_at": "2021-11-11T02:29:16Z",
  "mode": "live",
  "public_error": null,
  "reference_id": null,
  "status": "created",
  "subscription": null,
  "widget_token": "si_m7N9rAWJS9dWDKEe_sec_1y7o6DYLY299p7ePP7zevTEj"
}
```

The `SubscriptionIntent` has the following attributes:

| Attribute          | Type               | Description                                                                                                                                                                                                                                                                        |
| :----------------- | :----------------- | :--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `id`               | `string`           | Unique identifier for the `SubscriptionIntent`.                                                                                                                                                                                                                                    |
| `object`           | `string`           | Object type. Always `subscription_intent`.                                                                                                                                                                                                                                         |
| `business_profile` | `object` or `null` | Profile of the enrolled merchant, with fields described in the Business Profile object table below. The widget displays the name as the "Recipient Company". Returns `null` when no merchant name is set.                                                                          |
| `created_at`       | `string`           | Creation date as an ISO 8601 datetime in UTC.                                                                                                                                                                                                                                      |
| `mode`             | `string`           | Environment for the `SubscriptionIntent`. One of `live` or `test`. The `test` mode targets the sandbox.                                                                                                                                                                            |
| `public_error`     | `string` or `null` | Error exposed when `status` is `failed`. One of `login_invalid_credentials`, `login_credentials_locked`, `authorization_failed`, `authorization_timeout`, `request_timeout`, `subscription_intent_expired`, or `internal_error`. Returns `null` when no public error is available. |
| `reference_id`     | `string` or `null` | Identifier provided by the merchant that determines how the bank identifies the subscription on its portal. Defaults to the account `holder_id` if not provided. Available only to Subscriptions clients and limited to 15 characters.                                             |
| `status`           | `string`           | Current state of the enrollment. One of `created`, `in_progress`, `succeeded`, `failed`, or `rejected`.                                                                                                                                                                            |
| `subscription`     | `object` or `null` | The `Subscription` created after successful enrollment. Returns `null` unless the enrollment succeeds.                                                                                                                                                                             |
| `widget_token`     | `string` or `null` | Temporary token for configuring the widget. Returned only when creating the `SubscriptionIntent`. Subsequent responses return `null`.                                                                                                                                              |

### The Business Profile object (within the Subscription Intent object)

The `business_profile` field contains the following Business Profile attribute for the enrolled merchant:

| Attribute | Type     | Description                                                                            |
| :-------- | :------- | :------------------------------------------------------------------------------------- |
| `name`    | `string` | Name of the enrolled merchant. Shown as the "Recipient Company" on the widget screens. |
