Penny Docs
Recurring transactions

Get Suggestions

GET
/v1/households/{household_id}/recurring-transactions/suggestions

Detects candidate recurring series from the household's transaction history and returns suggested merchants, amounts, frequencies, and supporting details.

Suggestions account for existing tracked series and previous dismissals. They are proposals, not saved recurring transactions. To track a suggestion, create a recurring series with the desired details; to suppress one, use the dismiss endpoint.

Authorization

PersonalApiToken
AuthorizationBearer <token>

Use your personal API token (penny_pat_…) as the bearer credential. Enter the token only; the client adds the Bearer prefix. Read-only tokens permit read requests. Read/write tokens remain limited by your current household membership and role. See https://penny.finance/docs/api#authentication for setup.

In: header

Path Parameters

household_id*Household Id

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://example.com/v1/households/string/recurring-transactions/suggestions"
{  "suggestions": [    {      "merchant": {        "id": "Mr9dL3xT6bQa",        "name": "Blue Bottle Coffee",        "website": "https://www.bluebottlecoffee.com/",        "image_url": "https://cdn.penny.finance/merchants/blue-bottle-coffee.png",        "default_image_url": "https://cdn.penny.finance/merchants/default-coffee.png"      },      "suggested_name": "Netflix",      "suggested_amount": {        "amount": "68.42",        "currency": "USD"      },      "display_amount": {        "amount": "68.42",        "currency": "USD"      },      "suggested_type": "income",      "suggested_frequency": "every_week",      "suggested_start_date": "2019-08-24",      "confidence": 0.94,      "matching_transactions": [        {          "id": "Tx3fJ9mS6vBa",          "original_name": "BLUE BOTTLE COFFEE #047",          "user_name": "Morning coffee",          "amount": {            "amount": "68.42",            "currency": "USD"          },          "native_amount": {            "amount": "68.42",            "currency": "USD"          },          "lat": 37.7764,          "lon": -122.4231,          "pending": false,          "penny_taxonomy": "FOOD_AND_DRINK_COFFEE",          "account": {            "id": "Ac7kP2mN9qRs",            "mask": "4821",            "name": "Everyday Checking",            "type": "depository",            "current_balance": {              "amount": "68.42",              "currency": "USD"            },            "currency": "USD",            "household_id": "Hh4vK8pQ2sLm",            "user_name": "Daily spending"          },          "household_finance_category": {            "id": "Ct5nR8wY1jFu",            "name": "Coffee & Dining",            "emoji": "☕️",            "category_type": "income",            "group_id": "Cg2mV7pL4zXe"          },          "merchant": {            "id": "Mr9dL3xT6bQa",            "name": "Blue Bottle Coffee",            "website": "https://www.bluebottlecoffee.com/",            "image_url": "https://cdn.penny.finance/merchants/blue-bottle-coffee.png",            "default_image_url": "https://cdn.penny.finance/merchants/default-coffee.png",            "transaction_count": 18          },          "image_url": "https://cdn.penny.finance/merchants/blue-bottle-coffee.png",          "image_kind": "merchant",          "tags": [            {              "id": "Tg8qN1cK5rWd",              "name": "Work meals",              "color": "#6D5BD0"            }          ],          "is_deleted": false,          "is_hidden": false,          "pending_transaction_id": "Tx3fJ9mS6vBa",          "date": "2019-08-24",          "need_review": false,          "possible_duplicate_ids": [            "Tx3fJ9mS6vBa"          ],          "notes": "Coffee with Sam before work",          "created_at": "2019-08-24T14:15:22Z",          "updated_at": "2019-08-24T14:15:22Z",          "name": "Morning coffee",          "split_from_transaction_id": "Tx3fJ9mS6vBa",          "split_child_ids": [            "Tx3fJ9mS6vBa"          ],          "is_recurring": false        }      ]    }  ]}