---
title: "List recurring charge suggestions"
method: GET
path: "/v1/recurring_charge_suggestions"
tags: ["Recurring charge"]
---

# List recurring charge suggestions

`GET /v1/recurring_charge_suggestions`

Returns a paginated list of pending, auto-detected recurring-charge suggestions for the
company, ordered by detection confidence (descending). Each suggestion includes its
`merchant` and `vendor_card` summaries. Non-admin callers see suggestions for their cards or
user, or all company suggestions if they hold `card_transactions_manage`.

## Query parameters

- `_start` integer
- `_end` integer
- `_order` 'asc' | 'desc'
- `_field` string
- `merchant_id` string, uuid

## Headers

- `company-id` string, uuid, required

## Response `200`

Paginated list of pending suggestions

- RecurringChargeSuggestion[]
  - `id` string, uuid, required
  - `company_id` string, uuid, required
  - `merchant_id` string, uuid, required
  - `vendor_card_id` string, nullable
  - `user_id` string, nullable
  - `amount_cents` integer, required
  - `amount` object — The suggested amount serialized as a Money object (via the app's `Money#to_hash` override).
    - `amount` string — Decimal amount as a string.
    - `formatted` string — Currency-formatted amount.
    - `cents` string — Amount in cents. Serialized as a string: Money runs with `default_infinite_precision`, so `cents` is a `BigDecimal` rendered as a JSON string. For an exponent-0 currency (e.g. CLP) this equals `amount`.
    - `currency_iso` string — ISO 4217 currency code.
  - `currency` string, required
  - `frequency` 'weekly' | 'biweekly' | 'monthly' | 'bimonthly' | 'quarterly' | 'semiannual' | 'annual', required
  - `confidence_score` string — Detection confidence (0-100).
  - `status` 'pending' | 'confirmed' | 'dismissed', required
  - `supporting_transaction_ids` string[] — Ids of the card transactions that support the detection.
  - `detection_metadata` object
  - `first_transaction_at` string, date-time, nullable
  - `last_transaction_at` string, date-time, nullable
  - `transaction_count` integer
  - `merchant` object, nullable
    - `id` string, uuid
    - `name` string
    - `image_url` string, nullable
  - `vendor_card` object, nullable
    - `id` string
    - `name` string
    - `last4` string
  - `created_at` string, date-time
  - `updated_at` string, date-time

## Other responses

- `400` — Bad Request — the query used an unknown filter field or malformed filter DSL.
- `401` — Unauthorized
- `404` — The `company-id` header is missing or the caller is not a member of the company

---

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