---
title: "List Setup Intents"
method: GET
path: "/v1/setup_intents"
tags: ["Setup Intents"]
---

# List Setup Intents

`GET /v1/setup_intents`

Returns a list of SetupIntents, sorted by ID in descending order (most recent first).

The `client_secret` is not included on listed SetupIntents; retrieve a SetupIntent
individually to obtain it.

## Query parameters

- `limit` integer, nullable — A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 10.
- `offset` integer, nullable — Number of objects to skip before returning results.
- `customer` string, nullable — Filter by customer ID.
- `starting_after` string, nullable — A cursor for use in pagination. `starting_after` is a setup intent ID that defines your place in the list. For instance, if you make a list request and receive 20 setup intents, ending with `fsi_xyz`, your subsequent call can include `starting_after=fsi_xyz` to fetch the next page.
- `ending_before` string, nullable — A cursor for use in pagination. `ending_before` is a setup intent ID that defines your place in the list. For instance, if you make a list request and receive 20 setup intents, starting with `fsi_abc`, your subsequent call can include `ending_before=fsi_abc` to fetch the previous page.
- `expand` string — Comma-separated list of fields to expand (e.g., "subscription").

## Response `200`

An envelope wrapping a list of setup intent objects.

- MultipleSetupIntentsBodyForSetupIntent — An envelope wrapping a list of setup intent objects.
  - `setup_intents` SetupIntent[], required — A list of SetupIntents.
    - `setup_intent_id` string, required — The unique identifier for the object.
    - `client_secret` string, nullable — The client secret used to confirm this SetupIntent from your frontend. Present when the SetupIntent is retrieved or created; `null` when it appears in a list response. Treat it as sensitive: do not log or store it, and expose it only to the customer over TLS.
    - `customer` union — An expandable field — either a string ID or an expanded Customer object.
      - string
      - Customer — A Customer object represents a customer of your business. Use it to track payments, store reusable payment methods, and reference the customer on checkout sessions, invoices, and subscriptions.
        - `customer_id` string, required — The unique identifier for the customer.
        - `owner_partner_id` string, nullable — The partner that owns this customer. When a customer is shared with you by another partner in your organization, this is that sibling partner; otherwise it is your own partner id.
        - `first_name` string, required — The customer's first name.
        - `last_name` string, required — The customer's last name.
        - `email` string, email, required — The customer's email address.
        - `phone` string, phone, nullable — The customer's phone number.
        - `employer` string, nullable — The customer's employer.
        - `shipping` ShippingAddress — A ShippingAddress represents the postal address a physical order is delivered to. It is referenced by checkout sessions and customers.
          - `shipping_address_id` string, required — Unique identifier for the shipping address.
          - `line1` string, nullable — The first line of the street address (e.g., street number and name).
          - `line2` string, nullable — The second line of the street address (e.g., apartment, suite, or unit).
          - `city` string, nullable — City, district, suburb, town, or village.
          - `state` string, nullable — State, county, province, or region.
          - `postal_code` string, nullable — ZIP or postal code.
          - `country` string, nullable — Two-letter country code (ISO 3166-1 alpha-2, e.g., `US`).
        - `metadata` object, nullable — Metadata associated with the customer.
        - `created_at` string, required — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
        - `test_mode` boolean, required — Whether the customer was created in test mode.
    - `description` string, nullable — An arbitrary string attached to the setup intent.
    - `payment_method` string, nullable — Payment method used with this SetupIntent.
    - `partner_id` string, required — The ID of the account this SetupIntent belongs to.
    - `metadata` object, nullable — Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
    - `created_at` string, required — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
    - `test_mode` boolean, required — Whether or not the setup intent is in test mode.
    - `status` 'requires_payment_method' | 'requires_confirmation' | 'requires_action' | 'processing' | 'succeeded' | 'canceled', required — The status of the setup intent.
    - `usage` 'off_session' | 'on_session', required — Whether the saved payment method is intended for off-session or on-session future payments.
    - `subscription_id` string, nullable — The ID of the Subscription this SetupIntent is associated with (for payment method updates).

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `409` — Conflict
- `422` — Validation Error
- `429` — Too Many Requests

---

[API](https://skmtc.dev/withflex/apis/flex-api.md) · [All operations](https://skmtc.dev/withflex/apis/flex-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/withflex/flex-api/revisions/b1560fc2f199/schema)
