---
title: Recharge API Integration on Truto
slug: recharge
category: Subscription Platform
canonical: "https://truto.one/integrations/detail/recharge/"
---

# Recharge API Integration on Truto



**Category:** Subscription Platform  
**Status:** Beta

## MCP-ready AI tools

Truto exposes 111 tools for Recharge that AI agents can call directly.

- **list_all_recharge_accounts** — List all accounts associated to the Recharge store. Returns each account record with: id, user_id, created_at, invited_at, and is_owner.
- **get_single_recharge_account_by_id** — Get a single account associated to the Recharge store by id. Returns: id, user_id, created_at, invited_at, is_owner. Required: id.
- **create_a_recharge_async_batch** — Create a new async batch in Recharge to run bulk operations (e.g. discount_create, discount_update, discount_delete). Returns the created batch with id, batch_type, status, total_task_count, and created_at. Requires batch_type. Batches only process resources from the API version they are created in, and tasks are not attempted until the batch is submitted via process.
- **list_all_recharge_async_batches** — List async batches in Recharge, newest first by default. Returns each batch's id, batch_type, status, total_task_count, success_task_count, fail_task_count, and created_at/updated_at timestamps. Use sort_by to order by id or created_at.
- **get_single_recharge_async_batch_by_id** — Get an async batch by id in Recharge to evaluate batch progress while it processes. Returns: id, batch_type, closed_at, created_at, deleted_at, fail_task_count, status, submitted_at, success_task_count, total_task_count, updated_at, version. Required: id.
- **recharge_async_batches_process** — Submit an async batch for processing in Recharge. Until a batch is submitted, no tasks in it are attempted; batches process quickly and may dispatch webhooks at a high rate. Returns the batch with id, batch_type, status, submitted_at, and total_task_count. Required: async_batche_id.
- **recharge_async_batches_list_tasks** — List the tasks of an async batch in Recharge to review each task's input and result after the batch has processed. Returns: id, batch_id, body, completed_at, created_at, deleted_at, queued_at, result, started_at, status, updated_at. Required: async_batche_id.
- **create_a_recharge_address** — Create a new shipping address for a Recharge customer. Returns the created address object with id, customer_id, address1, city, and created_at. Required: customer_id.
- **list_all_recharge_addresses** — List Recharge shipping addresses, filterable by customer, discount, or created/updated time range. Returns address objects including id, customer_id, address1, city, and zip. Sorts by id descending by default.
- **get_single_recharge_address_by_id** — Get a single Recharge shipping address by id. Returns the address object with id, customer_id, address1, city, province, and zip. Required: id.
- **update_a_recharge_address_by_id** — Update an existing Recharge shipping address by id. Returns the updated address object with id, address1, city, province, and updated_at. Required: id.
- **delete_a_recharge_address_by_id** — Delete a Recharge shipping address by id. Returns an empty 204 response on success. Required: id.
- **recharge_addresses_merge** — Merge up to 10 source Recharge addresses into a single target address; the merge fails if any address has a different presentment currency. Returns the merged address object including its id, customer_id, discounts, shipping_lines_override, and updated_at. Required: target_address, source_addresses.
- **recharge_addresses_skip** — Skip a future Recharge charge for one or more subscriptions associated with an address; if no charge exists on that date, one is created with a SKIPPED status. Returns the affected charge objects including their id, status, billing_address, created_at, and updated_at. Required: addresse_id.
- **create_a_recharge_bundle_selection** — Create a BundleSelection in Recharge for a subscription or one-time purchase item. Returns the created bundle selection including its id, bundle_variant, purchase_item_id, items (selected products with quantities), and created_at/updated_at timestamps. Requires purchase_item_id and items. Available to Recharge Plus merchants.
- **list_all_recharge_bundle_selections** — List Recharge BundleSelections, sorted descending by id by default. Returns bundle selections including id, bundle_variant, purchase_item_id, items, and timestamps. Filter by purchase_item_ids, bundle_variant_ids, sort_by, or active_purchase_items. Available to Recharge Plus merchants.
- **get_single_recharge_bundle_selection_by_id** — Get a single Recharge BundleSelection by id. Returns the bundle selection including its id, bundle_variant, purchase_item_id, items, and timestamps. Required: id.
- **update_a_recharge_bundle_selection_by_id** — Modify an existing Recharge BundleSelection to match the specified parameters. Returns the updated bundle selection including its id, bundle_variant, purchase_item_id, items, and timestamps. Required: id. Available to Recharge Plus merchants.
- **delete_a_recharge_bundle_selection_by_id** — Delete a Recharge BundleSelection by id. Returns an empty 204 response on success. Required: id. Available to Recharge Plus merchants.
- **list_all_recharge_charges** — List Recharge charges with filters for address, customer, status, discounts, and created/updated/scheduled/processed dates, plus sort_by ordering. Returns: id, address_id, analytics_data, billing_address, client_details, created_at, currency, customer, discounts, error, error_type, external_order_id, external_transaction_id, has_uncommitted_changes, line_items, note, order_attributes,…
- **get_single_recharge_charge_by_id** — Get a single Recharge charge by id. Returns the full charge object including id, status, scheduled_at, total_price, discounts, line_items, and shipping_address. Required: id.
- **recharge_charges_apply_discount** — Apply a Discount to a Recharge charge by supplying discount_code or discount_id in the body. Returns the updated charge object including id, status, total_price, discounts, and line_items. Required: charge_id.
- **recharge_charges_remove_discount** — Remove a Discount from a Recharge charge without destroying the Discount. Pass discount_code or discount_id to target a specific discount; an empty body removes all. Returns the updated charge object including id, status, total_price, discounts, and line_items. Required: charge_id.
- **recharge_charges_skip** — Skip a Recharge charge, rescheduling its listed subscriptions to the given future date. Returns the updated charge object including id, status, scheduled_at, total_price, and line_items. Required: charge_id, date, subscription_ids.
- **recharge_charges_unskip** — Unskip a previously skipped Recharge charge, restoring it to the upcoming order schedule. Returns the updated charge including id, address_id, scheduled_at, status, line_items, and total_price. Required: charge_id.
- **recharge_charges_refund** — Refund a Recharge charge in full or in part. Returns the refunded charge including id, status, total_refunds, line_items, and total_price. Required: charge_id.
- **recharge_charges_process** — Process a Recharge charge that is in queued or error status. Returns the processed charge including id, status, processed_at, line_items, and total_price. Required: charge_id. Available to Recharge Plus merchants on a request basis.
- **recharge_charges_capture_payment** — Capture payment on an authorized Recharge charge. Returns the captured charge including id, address_id, status, line_items, and total_price. Required: charge_id. Only charges authorized within the last 7 days can be captured.
- **recharge_charges_add_free_gift** — Add a free gift to a Recharge charge. Returns the updated charge with the gift appended to line_items, including id, address_id, scheduled_at, status, and total_price. Required: charge_id and free_gifts.
- **recharge_charges_remove_free_gift** — Remove one or more free gifts from an existing queued Recharge charge by supplying the external variant ids of the gifts to remove. Returns the updated charge object including id, address_id, status, line_items, and total_price. Required: charge_id.
- **create_a_recharge_checkout** — Create a checkout in Recharge from a cart of items, customer contact details, addresses, and optional discount/shipping preferences. Returns the created checkout object including token, email, currency, line_items, billing_address, shipping_address, pricing fields, and available_shipping_rates. Required: line_items (with quantity and external_variant_id per item).
- **get_single_recharge_checkout_by_id** — Get a Recharge checkout by its token. Returns the checkout object including token, email, currency, line_items, billing_address, shipping_address, pricing fields, and available_shipping_rates. Required: id (the checkout token).
- **update_a_recharge_checkout_by_id** — Update a Recharge checkout, identified by its token, to change items, addresses, contact details, discounts, or shipping. Returns the updated checkout object including token, email, currency, line_items, billing_address, shipping_address, pricing fields, and available_shipping_rates. Required: id (the checkout token).
- **recharge_checkouts_process** — Process a Recharge checkout by its checkout token, charging the customer's payment method. Returns the checkout charge result including charge_id, status, payment_processor, free, and payment_type. Requires checkout_token, payment_processor, payment_token, and payment_type.
- **recharge_checkouts_list_shipping_rates** — List available shipping rates for a Recharge checkout by its checkout_token. Returns rate objects including code, name, price, title, phone_required, and checkout price totals (subtotal_price, total_price, total_tax). Required: checkout_token. Checkout endpoints are only available for BigCommerce and Custom checkouts.
- **list_all_recharge_collections** — List product collections in Recharge. Returns each collection with its id, title, description, type, sort_order, created_at, and updated_at.
- **get_single_recharge_collection_by_id** — Get a single product collection in Recharge by id. Returns the collection with its id, title, description, type, sort_order, created_at, and updated_at. Required: id.
- **list_all_recharge_collection_products** — List the collection product links in Recharge, i.e. the products included in your store's Collections. Returns each link's collection_id, external_product_id, created_at, and updated_at. Filter by collection_id to see the products of a specific collection.
- **create_a_recharge_credit_account** — Create a Recharge credit account for a customer. Returns the created credit account: id, customer_id, available_balance, initial_value, name, type, expires_at, created_at, updated_at. Required: customer_id, name, type, initial_value.
- **list_all_recharge_credit_accounts** — List Recharge credit accounts, filterable by customer and expiry date. Returns each account's id, customer_id, available_balance, initial_value, name, type, expires_at, created_at, and updated_at.
- **get_single_recharge_credit_account_by_id** — Get a single Recharge credit account by id. Returns: id, customer_id, available_balance, created_at, currency_code, expires_at, initial_value, name, type, updated_at. Required: id.
- **update_a_recharge_credit_account_by_id** — Update a Recharge credit account by id. Returns the updated account: id, customer_id, available_balance, initial_value, name, type, expires_at, created_at, updated_at. Required: id.
- **recharge_credit_accounts_create_adjustment** — Create a credit adjustment on a Recharge credit account. Returns the affected credit account: id, customer_id, available_balance, initial_value, name, type, created_at, updated_at. Required: credit_account_id, amount, type.
- **list_all_recharge_credit_adjustments** — List Recharge credit adjustments — the credit and debit entries applied to customer credit accounts. Returns: id, credit_account_id, amount, currency_code, ending_balance, type, note, created_by, created_at, updated_at. Optional filters: ids, created_at_min/max, updated_at_min/max, include. Available on Plus plan and Retain.
- **create_a_recharge_customer** — Create a customer in Recharge. Returns the created customer including id, email, hash, first_name, last_name, phone, tax_exempt, and external_customer_id. Required: email. Payment information must be a tokenized customer representation (no raw card data) and phone must use E.164 format.
- **list_all_recharge_customers** — List Recharge customers with filters for email, hash, ids, external_customer_id, and created/updated date ranges. Returns each customer with id, email, hash, first_name, last_name, phone, and tax_exempt. Max 250 per page.
- **get_single_recharge_customer_by_id** — Get a single Recharge customer by id. Returns the full customer object including id, email, hash, first_name, last_name, phone, tax_exempt, and external_customer_id. Required: id.
- **update_a_recharge_customer_by_id** — Update an existing Recharge customer by id. Returns the full customer object including id, email, first_name, last_name, hash, and tax_exempt. Required: id. phone must use E.164 format; for US customers billing_zip is required when updating billing_country.
- **delete_a_recharge_customer_by_id** — Delete a Recharge customer by id. Returns an empty 204 response on success. Required: id. Deleting a customer automatically cancels and deletes all child Address, Subscription, and Onetime resources to avoid orphaned data.
- **recharge_customers_get_delivery_schedule** — Get a Recharge customer's delivery schedule of upcoming deliveries grouped by date. Returns: customer, deliveries. Required: customer_id. Projected deliveries never extend past 365 days in the future.
- **recharge_customers_get_credit_summary** — Get a Recharge customer's credit summary. Returns: customer_id, total_available_balance, currency_code. Required: customer_id.
- **create_a_recharge_discount** — Create a new discount in Recharge. Returns the created discount including its id, code, value, value_type, status, applies_to, channel_settings, and usage_limits. Required: code, value, value_type.
- **list_all_recharge_discounts** — List discounts in Recharge, filterable by status, discount_code, value_type, and created/updated date ranges. Returns discount records including id, code, value, value_type, status, and usage_limits.
- **get_single_recharge_discount_by_id** — Get a single Recharge discount by id. Returns the discount object including its id, code, value, value_type, status, applies_to, channel_settings, and usage_limits. Required: id.
- **update_a_recharge_discount_by_id** — Update an existing Recharge discount by id. Returns the updated discount including its id, code, value, value_type, status, and usage_limits. Required: id.
- **delete_a_recharge_discount_by_id** — Delete a Recharge discount by id. Returns an empty 204 response on success.
- **create_a_recharge_metafield** — Create a metafield in Recharge for a specific object (e.g. a customer). Returns the created metafield including its id, key, namespace, owner_id, owner_resource, value, value_type, and created/updated timestamps. Required: key, namespace, owner_id, owner_resource, value, value_type. There is a limit of 50 metafields per owner_id.
- **list_all_recharge_metafields** — List Recharge metafields for a given resource type. Returns metafields with id, key, namespace, owner_id, owner_resource, value, value_type, and created/updated timestamps. Required: owner_resource (one of address, store, customer, subscription, order, charge).
- **get_single_recharge_metafield_by_id** — Get a single Recharge metafield by id. Returns the metafield including its id, key, namespace, owner_id, owner_resource, value, value_type, and created/updated timestamps. Required: id.
- **update_a_recharge_metafield_by_id** — Update a Recharge metafield by id, changing its description, key, namespace, value, or value_type. Returns the updated metafield including its id, key, namespace, owner_id, owner_resource, value, and value_type. Required: id.
- **delete_a_recharge_metafield_by_id** — Delete a Recharge metafield by id. Returns an empty 204 response on success. Required: id.
- **list_all_recharge_notifications** — List notifications for a Recharge customer. Returns an empty 204 response on success. Required: customer_id.
- **create_a_recharge_notification** — Send a notification email to a Recharge customer using a configured Recharge email template; the email is delivered to the address associated with customer_id. Some templates require variables via template_vars. Returns an empty 204 response on success. Required: customer_id, type, and template_type.
- **get_single_recharge_notification_by_id** — Get a notification record for a Recharge customer by id. Returns an empty 204 response on success. Required: customer_id and id.
- **delete_a_recharge_notification_by_id** — Delete a notification record by id for a Recharge customer. Returns an empty 204 response on success. Required: customer_id and id.
- **create_a_recharge_onetime** — Create a new Onetime in Recharge — a non-recurring line item added to a queued charge. Returns the created onetime object: id, address_id, customer_id, product_title, price, quantity, next_charge_scheduled_at, properties, and more. Required: address_id, external_variant_id, next_charge_scheduled_at, quantity. next_charge_scheduled_at cannot be combined with add_to_next_charge.
- **list_all_recharge_onetimes** — List all Onetime products from the Recharge store, filterable by address, customer, external variant, and created/updated date ranges. Returns onetime records: id, address_id, customer_id, product_title, price, quantity, next_charge_scheduled_at, and more. Max 250 per page.
- **get_single_recharge_onetime_by_id** — Get a single Onetime by id in Recharge — a non-recurring line item on a queued charge. Returns the onetime object: id, address_id, customer_id, product_title, price, quantity, next_charge_scheduled_at, properties, and more. Required: id.
- **update_a_recharge_onetime_by_id** — Update an existing Onetime in Recharge — adjust quantity, price, sku, product_title, variant_title, scheduled charge date, or associated address. Returns the updated onetime object: id, address_id, product_title, price, quantity, next_charge_scheduled_at, and more. Required: id. address_id cannot be used with next_charge_scheduled_at.
- **delete_a_recharge_onetime_by_id** — Delete an Onetime product in Recharge. Returns an empty 204 response on success. Required: id.
- **list_all_recharge_orders** — List Recharge orders with filters and sorting. Returns order records including id, address_id, line_items, scheduled_at, status, and total_price. Supports filters such as status, type, address_id, and customer_id; sorted id-desc by default, max 250 results per page.
- **get_single_recharge_order_by_id** — Get a single Recharge order by id. Returns the full order object including id, address_id, line_items, billing_address, shipping_address, scheduled_at, and total_price. Required: id.
- **update_a_recharge_order_by_id** — Update a Recharge order by id, for example to change its billing_address. Returns the updated order object including id, address_id, line_items, scheduled_at, and total_price. Required: id.
- **recharge_orders_clone** — Clone a Recharge order by order_id to create a new order, optionally passing scheduled_at (date) to set the clone's schedule. Returns the new order object including id, address_id, line_items, status, and total_price. Required: order_id.
- **recharge_orders_delay** — Delay a prepaid Recharge order by one billing interval; all subsequent orders and charges shift by the same amount. Returns the order object including id, address_id, scheduled_at, status, and total_price. Required: order_id. The order must be the next queued order of a prepaid subscription.
- **create_a_recharge_payment_method** — Create a Recharge payment method for a customer from payment processor tokens. Returns the created payment method including id, customer_id, payment_type, payment_details, default, processor_name, and billing_address.
- **list_all_recharge_payment_methods** — List Recharge payment methods. Returns each payment method's id, customer_id, payment_type, payment_details, default, and billing_address.
- **get_single_recharge_payment_method_by_id** — Get a single Recharge payment method by id. Returns the payment method object including id, customer_id, payment_type, payment_details, default, processor_name, and billing_address. Required: id.
- **update_a_recharge_payment_method_by_id** — Update a Recharge payment method by id, for example to set it as the customer's default. Returns the updated payment method including id, customer_id, default, payment_details, and payment_type. Required: id.
- **create_a_recharge_plan** — Create a plan for a product in Recharge. Multiple plans can exist for a product, and all plans for a product must share the same title and discount_amount. Returns the created plan object including id, title, discount_amount, type, and subscription_preferences.
- **list_all_recharge_plans** — List plans in Recharge. Returns plan objects including id, title, type, discount_amount, and subscription_preferences. Supports filtering by external_product_id, ids, type, and updated_at range, with sort_by defaulting to id-desc.
- **get_single_recharge_plan_by_id** — Get a single plan in Recharge by id. Returns the plan object including id, title, type, discount_amount, channel_settings, and subscription_preferences. Required: id.
- **update_a_recharge_plan_by_id** — Update an existing plan in Recharge by id. Returns the updated plan object including id, title, discount_amount, sort_order, and updated_at. Required: id.
- **delete_a_recharge_plan_by_id** — Delete a plan in Recharge by id. Returns an empty 204 response on success. Required: id.
- **recharge_plans_bulk_update** — Bulk update existing plans in Recharge. Returns the updated plan records including id, title, discount_amount, discount_type, subscription_preferences, and updated_at. Required: plan_id and plans (an array of plans, each item must provide its id).
- **create_a_recharge_product** — Create a product in Recharge. Returns the created product record including its id, title, vendor, variants, and options. Required: title, vendor, options, variants, external_product_id.
- **list_all_recharge_products** — List Recharge products for the store, optionally filtered by external_product_ids. Returns product records including id, title, vendor, variants, and options.
- **get_single_recharge_product_by_id** — Get a single Recharge product by id. Returns the full product record including id, title, vendor, variants, and options. Required: id.
- **update_a_recharge_product_by_id** — Update an existing Recharge product by id. Returns the updated product record including id, title, brand, variants, and options. Required: id.
- **delete_a_recharge_product_by_id** — Delete a product from a Recharge store by id. Returns an empty 204 response on success. Required: id.
- **recharge_products_bulk_update_plans** — Bulk update existing plans for a Recharge product. Returns the updated plan records with id, title, discount_amount, sort_order, subscription_preferences, and created/updated timestamps. Required: product_id (the product's external id).
- **list_all_recharge_store** — Retrieve the Recharge store's details for the authenticated store. Returns the store object including id, name, email, currency, external_platform, and timezone.
- **recharge_store_bulk_update** — Update the Recharge store's details by supplying the fields to change. Returns the updated store object including id, name, email, currency, and timezone.
- **create_a_recharge_subscription** — Create a subscription in Recharge under an existing address. Returns the created subscription object including id, address_id, customer_id, status, order_interval_frequency, next_charge_scheduled_at, and price. Required: address_id.
- **list_all_recharge_subscriptions** — List Recharge subscriptions, filterable by address, customer, status, external variant, and created/updated date ranges. Returns subscription objects including id, address_id, customer_id, status, order_interval_frequency, next_charge_scheduled_at, and price. Max 250 per page.
- **get_single_recharge_subscription_by_id** — Get a single Recharge subscription by id. Returns: id, address_id, customer_id, analytics_data, cancellation_reason, cancellation_reason_comments, cancelled_at, charge_interval_frequency, created_at, expire_after_specific_number_of_charges, external_product_id, external_variant_id, has_queued_charges, is_prepaid, is_skippable, is_swappable, max_retries_reached, next_charge_scheduled_at,…
- **update_a_recharge_subscription_by_id** — Update a Recharge subscription by id. Returns the updated subscription object including id, address_id, status, price, next_charge_scheduled_at, and updated_at. Updating interval parameters recalculates next_charge_scheduled_at, and charge_interval_frequency, order_interval_frequency, and order_interval_unit must be sent together. Required: id.
- **delete_a_recharge_subscription_by_id** — Delete a Recharge subscription by id. Returns an empty 204 response on success. Required: id.
- **recharge_subscriptions_cancel** — Cancel an active Recharge subscription. Returns the subscription object including id, status, cancellation_reason, cancellation_reason_comments, and cancelled_at. Required: subscription_id, cancellation_reason.
- **recharge_subscriptions_activate** — Activate a previously cancelled Recharge subscription. Returns the subscription object including id, status, next_charge_scheduled_at, order_interval_frequency, and order_interval_unit. Required: subscription_id.
- **recharge_subscriptions_set_next_charge_date** — Set the next charge date of a Recharge subscription. Returns the subscription object including id, status, next_charge_scheduled_at, order_interval_frequency, and updated_at. Required: subscription_id.
- **recharge_subscriptions_change_address** — Move a Recharge subscription to a different shipping address. Returns the subscription object including id, status, address_id, product_title, next_charge_scheduled_at, and updated_at. Required: subscription_id.
- **recharge_subscriptions_skip_gift** — Skip a gift subscription in Recharge for one or more subscription IDs. Returns the subscription object including id, status, product_title, price, and updated_at. Required: purchase_item_ids, recipient_address.
- **create_a_recharge_webhook** — Create a Recharge webhook that sends a POST request to your destination URI whenever the chosen event occurs. Returns: id, address, topic, included_objects, version. Requires address and topic.
- **list_all_recharge_webhooks** — List the Recharge webhooks of the store that the requesting client can access. Returns: id, address, topic, included_objects, version.
- **get_single_recharge_webhook_by_id** — Get a single Recharge webhook by id. Returns: id, address, topic, included_objects, version. Required: id.
- **update_a_recharge_webhook_by_id** — Update an existing Recharge webhook by id, sending any combination of address, included_objects, topic, and version. Returns: id, address, topic, included_objects, version. Required: id.
- **delete_a_recharge_webhook_by_id** — Delete a Recharge webhook by id. Returns an empty 204 response on success. Required: id.
- **list_all_recharge_events** — List events from Recharge that track changes made to store resources such as subscriptions, customers, and addresses. Returns: id, object_id, customer_id, created_at, object_type, verb, description, updated_attributes, source, custom_attributes. Filter by created_at_min, created_at_max, object_type, object_id, verbs, customer_id, or origin.
- **list_all_recharge_customer_entitlements** — List customer entitlements in Recharge. Returns each entitlement with id, customer_id, entitlement_feature_id, granted_by_id, granted_by_type, expires_at, created_at, updated_at, and deleted_at.
- **get_single_recharge_customer_entitlement_by_id** — Get a single customer entitlement in Recharge by id. Returns the entitlement object including id, customer_id, entitlement_feature_id, granted_by_id, granted_by_type, expires_at, created_at, updated_at, and deleted_at. Required: id.

## How it works

1. **Link your customer's Recharge account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Recharge.** The Proxy API is a 1-to-1 mapping of the Recharge API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Embed subscription management inside helpdesk platforms** — Support SaaS companies can let CX agents view, modify, skip, or cancel Recharge subscriptions directly from their ticketing UI, eliminating tab-switching and cutting ticket resolution time to seconds.
- **Power SMS and email upsells into upcoming charges** — Marketing automation platforms can inject one-time products into a subscriber's next scheduled charge based on customer replies, driving incremental AOV without a new checkout.
- **Automate churn-prevention and win-back offers** — Retention SaaS tools can intercept cancellations by issuing store credit, applying discounts, or adding free gifts to the next charge — then reactivate the subscription programmatically.
- **Sync subscription events into lifecycle marketing journeys** — Lifecycle platforms can subscribe to Recharge webhooks to trigger welcome flows, failed-payment recovery, and reactivation campaigns tied to real subscription state changes.
- **Gate digital access based on active subscriptions** — Membership and community platforms can check customer entitlements and listen for subscription status changes to grant or revoke access to gated content in real time.

## What you can build

- **Agent-facing subscription control panel** — Surface a customer's subscriptions, upcoming charges, and addresses with one-click actions to skip, cancel, activate, or reschedule the next charge date.
- **One-time upsell injector** — Add non-recurring products to a subscriber's next scheduled charge via a single API call, tied to the correct address and next_charge_scheduled_at.
- **Cancellation save flow with store credit** — Automatically create a credit account adjustment and reset a subscription's cancellation intent when a customer accepts a retention offer.
- **Discount and free-gift orchestration on upcoming charges** — Apply or remove discounts and attach free gifts to specific queued charges as part of loyalty milestones, appeasements, or promotional campaigns.
- **Real-time subscription event pipeline** — Register and manage Recharge webhooks programmatically to stream subscription, charge, and order events into your product's event bus.
- **Delivery schedule and entitlement lookup** — Fetch a customer's upcoming delivery schedule, credit summary, and active entitlements to power dashboards, gated features, or predictive churn scoring.

## FAQs

### How does authentication work for Recharge through Truto?

Truto handles the Recharge API token exchange and storage on behalf of your end users. Your users connect their Recharge store once through Truto's connection flow, and you receive a stable connection ID to make authenticated API calls without managing tokens directly.

### Which Recharge resources can I read and write?

Truto exposes tools across subscriptions, charges, orders, customers, addresses, onetimes, discounts, credit accounts, payment methods, plans, products, checkouts, bundle selections, metafields, notifications, webhooks, events, and customer entitlements — including specialized actions like skip, cancel, activate, apply discount, add free gift, and change address.

### Can I subscribe to real-time Recharge events?

Yes. You can programmatically create, list, update, and delete Recharge webhooks through Truto to receive events like subscription created/cancelled, charge failed, and order processed, which you can route into your own event handlers.

### How does Truto handle Recharge's rate limits and pagination?

Truto abstracts Recharge's API quirks including cursor-based pagination and rate limit backoff. List endpoints return normalized paginated responses, and retries on transient rate-limit errors are handled automatically so your integration code stays simple.

### Does Truto support Recharge metafields and custom data?

Yes. Full CRUD is available on Recharge metafields, so you can read and write custom attributes attached to customers, subscriptions, addresses, and other objects to support merchant-specific data models.

### Can I run bulk operations for large catalogs?

Yes. Truto exposes Recharge's async batch endpoints along with bulk update tools for plans, products, and store-level changes, so you can process large mutations without hitting per-request limits.

## Related reading

- [Connect Recharge to Claude: Automate Orders, Bundles, and Credits](https://truto.one/blog/connect-recharge-to-claude-automate-orders-bundles-and-credits/) — Learn how to connect Recharge to Claude using a managed MCP server. Automate subscription lifecycles, store credits, and order delays using natural language.
- [Connect Recharge to ChatGPT: Manage Recurring Billing and Customers](https://truto.one/blog/connect-recharge-to-chatgpt-manage-recurring-billing-and-customers/) — Learn how to connect Recharge to ChatGPT using a managed MCP server. Automate subscription lifecycles, manage recurring billing, and handle async batches.
- [Connect Recharge to AI Agents: Orchestrate Subscription Lifecycles](https://truto.one/blog/connect-recharge-to-ai-agents-orchestrate-subscription-lifecycles/) — Learn how to connect Recharge to ai agents using Truto. Step-by-step guide to tool calling, API quirks, and autonomous workflows.
