---
title: "Retrieve a capture"
method: GET
path: "/v1/captures/{capture_id}"
tags: ["Captures"]
---

# Retrieve a capture

`GET /v1/captures/{capture_id}`

Retrieves the details of a capture. Use the `expand` query parameter to inline related objects (such as the payment intent).

## Path parameters

- `capture_id` string, required

## Query parameters

- `expand` string — Comma-separated list of related objects to expand in the response (e.g., "payment_intent").

## Response `200`

An envelope wrapping a single capture object.

- CaptureBodyForV1Capture — An envelope wrapping a single capture object.
  - `capture` V1Capture, required — A capture represents a charge that has been captured from a customer's account. You can capture a charge in full or in part.
    - `amount_captured` integer, required — The total amount captured from the capture request
    - `amount_shipping_captured` integer, nullable — The shipping amount captured
    - `amount_discount_captured` integer, nullable — The discount amount captured
    - `amount_tax_captured` integer, nullable — The tax amount captured
    - `capture_id` string, required — The unique identifier for the capture.
    - `created_at` string, required — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
    - `items` V1CaptureItem[], required — The items associated with the capture
      - `amount_captured` integer, required — The amount captured that is associated with this specific capture item
      - `capture_item_id` string, required — The unique identifier for the capture item.
      - `created_at` string, required — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
      - `price` union — An expandable field — either a string ID or an expanded Price object.
        - string
        - Price — Prices define the unit cost and (optional) billing cycle for both recurring and one-time purchases of products. Prices belong to a given product. Different physical goods or levels of service should be represented by products, and pricing options should be represented by prices.
          - `price_id` string, required — The unique identifier for the price.
          - `owner_partner_id` string, nullable — The ID of the account that owns this price. For prices shared across an organization this may be a sibling account; otherwise it is your own account ID.
          - `description` string, nullable — The description of the price.
          - `trial_period_days` integer, nullable — The number of trial period days before the customer is first charged for a recurring price.
          - `unit_amount` integer, required — The amount to charge per unit, in the smallest currency unit (e.g., `2500` = $25.00 USD).
          - `recurring` Recurring — Describes how a recurring price bills over time. Present on prices of type `recurring`; `null` for one-time prices.
            - `interval` 'day' | 'week' | 'month' | 'year', required — The frequency at which a recurring price bills.
            - `interval_count` integer, nullable — The number of intervals
            - `trial_period_days` integer, nullable — The number of trial period days before the customer is charged for the first time. Whole days only. For a precise trial-end timestamp (e.g. non-integer days), use `subscription_data.trial_end` on the Create Checkout Session request instead.
          - `active` boolean, required — Whether the price is currently active.
          - `product` union, required — An expandable field — either a string ID or an expanded Product object.
            - string
            - Product — A Product defines what you sell. Flex determines its HSA/FSA eligibility from the name, description, and identifiers you provide.
              - …
          - `created_at` string, required — A timestamp encoded as an RFC 3339 / ISO 8601 string (e.g. `2026-06-15T14:30:00Z`).
          - `type` 'one_time' | 'recurring', required — Whether the price is charged once or on a recurring schedule.
          - `metadata` object, nullable — Metadata information for the price object
          - `hsa_fsa_eligibility` 'not_eligible' | 'auto_substantiation' | 'private_label' | 'letter_of_medical_necessity' | 'prescription' | 'vision' | 'service' | 'pending' — How a product qualifies for HSA/FSA payment, which determines the substantiation required to pay with a benefits card. `pending` means the product is still awaiting Flex's automatic classification, so its eligibility is not yet determined.
          - `test_mode` boolean, required — Whether the price is in test mode.
      - `payment_intent` string, nullable — ID of the PaymentIntent that this capture item was settled against. `null` if no payment intent is associated with the item.
      - `test_mode` boolean, required — Whether the capture item is in test mode
    - `metadata` object, nullable — Metadata associated with the capture
    - `test_mode` boolean, required — Whether the capture is in test mode

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