E-Commerce · Beta
Loop Subscriptions
API integration
Ship E-Commerce features without building the integration. Full Loop Subscriptions API access via Proxy and 70+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Loop Subscriptions
Common scenarios for SaaS companies building Loop Subscriptions integrations for their customers.
Embed subscription management inside helpdesks
CX platforms can let support agents view, pause, skip, or cancel a customer's Loop subscriptions directly from the ticket view — cutting resolution time and preventing avoidable churn without agents leaving the helpdesk.
Power conversational SMS and email commerce
Marketing automation and SMS tools can trigger one-time add-ons, swaps, or reschedules on upcoming subscription orders based on customer replies or campaign engagement, unlocking new upsell revenue on recurring boxes.
Automate dunning and payment recovery
Retention and email platforms can listen for failed charges and trigger secure card update emails through Loop, recovering revenue that would otherwise be lost to passive churn.
Unify churn and LTV analytics
BI and retention analytics tools can ingest subscription summaries, order history, and cancellation reason logs to give merchants unified reporting on subscriber LTV, MRR, and why customers are leaving.
Sync loyalty programs with recurring revenue
Loyalty and rewards SaaS can credit or redeem Loop loyalty points on subscription renewals, letting subscribers earn rewards on every recurring order or burn points to discount their next box.
What You Can Build
Ship these features with Truto + Loop Subscriptions
Concrete product features your team can ship faster by leveraging Truto’s Loop Subscriptions integration instead of building from scratch.
Agent-facing subscription action panel
Render a customer's active subscriptions with one-click actions to pause, resume, cancel, reactivate, skip the next order, or reschedule the next billing date.
One-time upsell injector for upcoming orders
Append a one-time product to a subscriber's next recurring order via subscription line create-once, powering post-purchase upsells and SMS 'reply-to-add' flows.
Product swap and plan change flows
Let customers or agents swap subscription variants, change plans, update frequencies, or apply pre-configured upgrade profiles from your own UI.
Payment recovery automation
Detect failed payments and trigger Loop's secure card update email, add or remove backup payment methods, or migrate payment methods programmatically.
Churn intelligence dashboard
Pull cancellation flow logs and export subscription and subscriber summaries to visualize churn reasons, retention offer performance, and cohort LTV for merchants.
Loyalty wallet integration
Credit points on subscription renewals and redeem points against future orders by hooking directly into Loop's customer loyalty point endpoints.
SuperAI
Loop Subscriptions AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
get_single_loop_subscriptions_subscription_by_id
Get a single loopwork subscription by id, including billing, delivery, products, and status details. Returns: id, shopifyId, originOrderShopifyId, createdAt, updatedAt, orderNote, totalLineItemPrice, totalLineItemDiscountedPrice, deliveryPrice, currencyCode, status, cancellationReason, cancellationComment, completedOrdersCount, pausedAt, cancelledAt, expiredAt, attributes, isPrepaid,…
list_all_loop_subscriptions_subscriptions
List all loopwork subscriptions. Returns each subscription with id, status, currencyCode, nextBillingDateEpoch, billingPolicy, deliveryPolicy, lines, and customer. Results are returned in descending order of id.
create_a_loop_subscriptions_subscription
Create a loopwork subscription. Returns the created subscription record with fields such as id, shopifyId, status, currencyCode, billingPolicy, deliveryPolicy, shippingAddress, lines, and customer. Required: customerShopifyId, nextBillingDateEpoch, currencyCode, billingPolicy, deliveryPolicy, lines, and shippingAddress. The next billing date must be at least 24 hours in the future.
loop_subscriptions_subscriptions_reschedule
Reschedule the next billing date of a loopwork subscription's upcoming order. Returns a success confirmation with no data payload. Required: subscription_id and newBillingDateEpoch.
loop_subscriptions_subscriptions_pause
Pause an active loopwork subscription, halting future billing and deliveries until it is resumed. Returns a success confirmation with no data payload. Required: subscription_id.
loop_subscriptions_subscriptions_resume
Resume a paused loopwork subscription by id, reactivating billing and deliveries based on the original schedule. Returns an empty response on success (no subscription data is returned). Required: subscription_id.
loop_subscriptions_subscriptions_cancel
Cancel an active or paused loopwork subscription by id, permanently stopping future billing and deliveries until reactivated. Returns an empty response on success (no subscription data is returned). Required: subscription_id.
loop_subscriptions_subscriptions_reactivate
Reactivate a cancelled loopwork subscription by id, allowing billing and deliveries to resume based on the original subscription schedule. Returns an empty response on success (no subscription data is returned). Required: subscription_id.
loop_subscriptions_subscriptions_expire
Expire a loopwork subscription contract by id. Returns an empty response on success (no subscription data is returned). Required: subscription_id.
loop_subscriptions_subscriptions_edit_charge_offset
Update the charge offset of an existing loopwork subscription contract, shifting the charge a number of days from the scheduled delivery date. Returns no response data on success. Required: subscription_id, chargeOffset.
loop_subscriptions_subscriptions_update_anchor
Update the billing anchor on an existing subscription contract in loopwork. Returns: success, message, data, code, pageInfo. Required: subscription_id, anchorType, anchorDay, anchorMonth. anchorType must match the subscription's current billing frequency (WEEKDAY, MONTHDAY, or YEARDAY, case-sensitive).
loop_subscriptions_subscriptions_adjust_prepaid_credits
Adjust the prepaid credit balance of a subscription in loopwork by adding, deducting, or setting a final balance. Returns: success, message, data, code, pageInfo. Required: subscription_id, amountType, amount, reason.
loop_subscriptions_subscriptions_change_plan
Update the subscription plan (selling plan frequency) for a subscription contract in loopwork. Returns: success, message, data, code. Required: subscription_id, sellingPlanShopifyId, nextBillingDateEpoch.
loop_subscriptions_subscriptions_update_address
Update the shipping address on a subscription contract in loopwork. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, firstName, lastName, address1, city, countryCode.
loop_subscriptions_subscriptions_update_shipping_method
Update the shipping method on a subscription contract in loopwork, including its delivery price, title, and code. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, deliveryPrice. Shipping method cannot be updated when 'Auto update shipping price' is enabled in Loop.
loop_subscriptions_subscriptions_change_payment_method
Change the payment method on a Loop subscription to a different saved payment method. Returns a success envelope with success, message, code, and a null data payload. Required: subscription_id and paymentMethodId.
loop_subscriptions_subscriptions_add_backup_payment_method
Add a backup payment method to a Loop subscription for use when the primary payment method fails. Returns a success envelope with success, message, code, and a null data payload. Required: subscription_id and paymentMethodId.
loop_subscriptions_subscriptions_remove_backup_payment_method
Remove the backup payment method mapped to a Loop subscription. Returns a success envelope with success, message, code, and a null data payload. Required: subscription_id.
loop_subscriptions_subscriptions_bulk_update
Set the contract note on a Loop subscription. Returns a success envelope with success, message, code, and a null data payload. Required: subscription_id and note.
create_a_loop_subscriptions_subscription_line
Add a new subscription line item to a loopwork subscription contract. Returns: success, message, data, code. Required: subscription_id, variantShopifyId.
loop_subscriptions_subscription_lines_create_once
Add a one-time line item to a loopwork subscription contract that is added only to the next order without affecting future recurring orders. Returns: success, message, data, code, pageInfo. Required: subscription_id, variantShopifyId, quantity, discountType, discountValue.
loop_subscriptions_subscription_lines_swap
Swap an existing line in a loopwork subscription contract with a new variant. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, line_id, variantShopifyId, quantity, pricingType.
delete_a_loop_subscriptions_subscription_line_by_id
Remove an existing line from a loopwork subscription contract. Returns: success, message, data, code, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, id.
loop_subscriptions_subscription_lines_bulk_update
Bulk add, update, and remove line items in a loopwork subscription contract in a single request. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, linesToAdd, linesToUpdate, linesToRemove.
loop_subscriptions_subscription_lines_delete_once
Remove a line once from a loopwork subscription's upcoming order so it is skipped for a single order. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, line_id. An optional orderId body field targets specific orders and is limited access.
loop_subscriptions_subscription_lines_edit
Update the quantity, pricing type, selling plan, or custom discount of a subscription line item in loopwork. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, line_id, quantity.
loop_subscriptions_subscription_lines_edit_schedule
Edit the schedule of a subscription line in loopwork, such as its next order id or order interval. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, line_id, nextOrderId; at least one body parameter must be passed.
loop_subscriptions_subscription_orders_list_order_schedule
List the scheduled (upcoming) orders of a subscription contract in Loopwork. Returns: id, shopifyId, status, billingDate, fulfillmentStatus, financialStatus, note, noteAttributes, shopifyCreatedAt, shopifyProcessedAt, shopifyUpdatedAt, currencyCode, totalPriceUsd, totalDiscount, totalLineItemsPrice, totalShippingPrice, shopifyOrderNumber, lines, shippingAddress. Required: subscription_id.
loop_subscriptions_subscription_orders_list_order_history
List the past orders of a subscription contract in Loopwork, including line items, totals, and shipping address. Returns: id, shopifyId, status, billingDate, fulfillmentStatus, financialStatus, note, noteAttributes, shopifyCreatedAt, shopifyProcessedAt, shopifyUpdatedAt, currencyCode, totalPriceUsd, totalDiscount, totalLineItemsPrice, totalShippingPrice, shopifyOrderNumber, lines,…
loop_subscriptions_subscription_orders_place
Place an order for a subscription contract in Loopwork, billing it ahead of its scheduled date. Returns no order payload on success. Gift subscriptions are not supported. Required: subscription_id, preponeFutureOrder.
loop_subscriptions_subscription_orders_skip_next
Skip the next scheduled order of a subscription contract in Loopwork, leaving later scheduled orders unchanged. Returns no order payload on success. Required: subscription_id.
loop_subscriptions_subscription_orders_reschedule_future
Reschedule a future order of a subscription contract in Loopwork to a new billing date. Returns no response body on success. Beta feature, not available on all stores. Required: subscription_id, order_id, newBillingDateEpoch.
loop_subscriptions_subscription_orders_update_note
Update the order note on a specific order of a loopwork subscription. Requires subscription_id, order_id, and the note body field; the store must have the 'Override subscription notes' preference enabled under Loop > Settings > General. Returns an empty 200 response on success.
loop_subscriptions_subscription_frequencies_list_available
List the available billing and delivery frequencies for a Loopwork subscription contract. Returns each frequency option with its billingPolicy and deliveryPolicy, including interval and intervalCount. Required: subscription_id (accepts the Loop internal id, loop-{id}, or shopify-{id} format).
loop_subscriptions_subscription_frequencies_bulk_update
Update the billing frequency of a Loopwork subscription contract. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, billingPolicy (interval, intervalCount), and discountType. If nextBillingDateEpoch is not passed, the next order date for the subscription remains the same.
create_a_loop_subscriptions_subscription_discount
Add a discount code or manual discount to a Loop subscription contract. Returns the applied discount's shopifyId and code. Required: subscription_id.
update_a_loop_subscriptions_subscription_discount_by_id
Update the manual discount on a Loop subscription contract by id (the discount's Shopify ID). Returns: shopifyId, code, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, id, manualDiscount.
delete_a_loop_subscriptions_subscription_discount_by_id
Remove a discount code from a Loop subscription contract by id (the discount's Shopify ID). Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, id.
loop_subscriptions_subscription_discounts_delete_all
Remove all discount codes from a Loop subscription contract. Returns the removed discount codes in code. Required: subscription_id.
create_a_loop_subscriptions_subscription_checkout
Create a checkout for a loopwork subscription contract so customers can complete payment for prorated charges resulting from subscription changes. Returns success, message, code, and data containing the created checkout's id and status. Required: subscription_id, lines (each item requires variantShopifyId, quantity, price, type), and manualDiscounts.
loop_subscriptions_subscription_checkouts_reactivate
Trigger the checkout and reactivate operation for a loopwork subscription contract, combining payment for prorated charges with reactivation. Returns success, message, code, and data containing the triggered checkout's id and status. Required: subscription_id and lines (each item requires variantShopifyId, quantity, storePrice, type); manualDiscounts and discounts are optional.
list_all_loop_subscriptions_subscription_activity_logs
List activity logs for a specific subscription in loopwork. Returns each log's id, subscriptionId, key, entity, source, createdAt, and an event-specific data payload such as emailName or errorMessage. Required: subscription_id. Paginated, 50 logs per page by default.
loop_subscriptions_subscription_attributes_patch_attributes
Patch custom attributes on an existing Loop subscription. Returns: success, message, data, code, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, customAttributes.
loop_subscriptions_subscription_attributes_bulk_update
Update the custom attributes on an existing Loop subscription. Returns: success, message, data, code, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, customAttributes.
loop_subscriptions_subscription_upgrades_list_profiles
List all active upgrade profiles applicable to a subscription contract in loopwork. Returns: id, name, priority, shortDescription, bannerTexts, drawerTexts, existingProductInformation, newProductInformation, newProductsInformation, membershipUpgradeInformation. Required: subscription_id.
loop_subscriptions_subscription_upgrades_apply_profile
Apply an upgrade profile to a subscription contract in loopwork. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, profileId. The subscription_id path parameter accepts the Loop internal id, loop-{id}, or shopify-{id}.
loop_subscriptions_subscription_upgrades_log_action
Log a customer interaction with an upgrade profile in loopwork — banner views, detailed views, or dismissals — for upgrade offer performance tracking. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: subscription_id, profileId, viewType.
get_single_loop_subscriptions_customer_by_id
Get a Loopwork customer's full details by id (the customer's Shopify Customer ID). Returns: id, customerShopifyId, firstName, lastName, email, activeSubscriptions, pausedSubscriptions, cancelledSubscriptions, expiredSubscriptions, fullName, loyaltyPointsBalance, loyaltyCreditBalance, loyaltyCouponBalance, loyaltyCoupons, milestoneJourney, referralLink, paymentMethods, addresses. Required: id.
list_all_loop_subscriptions_customers
List all Loopwork customers in descending id order, each with its subscription counts. Returns: id, firstName, lastName, email, shopifyId, phone, activeSubscriptionsCount, pausedSubscriptionsCount, cancelledSubscriptionsCount, expiredSubscriptionsCount, allSubscriptionsCount. Filterable by email, type, and update-time range.
loop_subscriptions_customers_list_subscriptions
List all subscriptions associated with a specific Loopwork customer. Returns: id, shopifyId, totalLineItemPrice, totalLineItemDiscountedPrice, deliveryPrice, currencyCode, nextBillingDateEpoch, status, billingAttemptSuccessCount, lastPaymentStatus, paymentMethodId, createdAt, updatedAt, customer, cancellationReason, cancellationComment, isPrepaid, billingPolicy, deliveryPolicy, deliveryMethod,…
loop_subscriptions_customers_create_session_token
Generate a secure session token for a Loopwork customer, used to authenticate Storefront API requests and obtain access and refresh tokens. Returns: success, message, data, code, pageInfo. Required: customer_shopify_id.
loop_subscriptions_customers_send_login_link
Email a Loopwork customer portal login link to the customer's email for instant access to their subscriber account. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: customer_shopify_id.
loop_subscriptions_customers_list_order_history
List a loopwork customer's complete order history. Returns each order's id, status, orderType, totalPrice, currencyCode, lines, shippingAddress, and subscription. Required: customer_id.
loop_subscriptions_orders_get_by_shopify_order_id
Get Loop subscription details for an order by its Shopify order id. Returns: orderShopifyId, shopifyCreatedAt, shopifyUpdatedAt, shopifyProcessedAt, shopifyCancelledAt, storeTotalPrice, storeTotalDiscounts, note, customAttributes, subscription. Required: order_shopify_id.
loop_subscriptions_orders_list_scheduled
List Loop subscription orders scheduled within a billing date range, useful for fulfillment planning, reporting, or external synchronization. Returns: id, billingDateEpoch, customer, subscription, status, updatedAt, lines. Required: billingDateStartEpoch, billingDateEndEpoch. The range between them can span at most 7 days.
list_all_loop_subscriptions_orders
List Loop subscription orders across all subscriptions. Filter by Shopify created-at epoch range, billing date epoch range, or updatedAt. Returns: id, shopifyId, status, billingDateEpoch, fulfillmentStatus, financialStatus, shopifyCreatedAt, shopifyProcessedAt, shopifyUpdatedAt, currencyCode, totalPriceUsd, totalDiscount, totalLineItemsPrice, totalShippingPrice, shopifyOrderNumber, totalPrice,…
loop_subscriptions_orders_get_status
Get the current processing status of a Loop order by its Loop internal order id. Returns: id, status. Required: statu_id.
loop_subscriptions_report_exports_export_subscriptions
Trigger an asynchronous export of the Subscriptions analytics report in loopwork. Returns: success, message, data, code, pageInfo. The CSV report is delivered via the analytics_report/export_completed webhook once processing completes. Filters (status, createdAt) are optional — omit them to export all subscriptions.
loop_subscriptions_report_exports_export_subscribers
Trigger an asynchronous export of the Subscribers analytics report in loopwork. Returns: success, message, data, code, pageInfo. The CSV report is delivered via the analytics_report/export_completed webhook once processing completes. Filters (status, createdAt) are optional — omit them to export all subscribers.
loop_subscriptions_report_exports_export_subscriptions_summary
Trigger an asynchronous export of the Subscriptions Summary analytics report in loopwork. Returns: success, message, data, code, pageInfo. The CSV report is delivered via the analytics_report/export_completed webhook once processing completes. Requires filters with dateRange (start, end) and groupBy (daily, weekly, or monthly).
loop_subscriptions_report_exports_export_subscriber_summary
Trigger an asynchronous export of the Subscriber Summary analytics report in loopwork. Returns: success, message, data, code, pageInfo. The CSV report is delivered via the analytics_report/export_completed webhook once processing completes. Requires filters with dateRange (start, end) and groupBy (daily, weekly, or monthly).
loop_subscriptions_report_exports_get_status
Track the status of a previously initiated loopwork report export. Returns: exportId, storeId, myshopifyDomain, reportKey, reportLabel, status, s3Url, filtersApplied, createdAt, completedAt. status is QUEUED, PROCESSING, COMPLETED, or FAILED; s3Url is returned once COMPLETED and is valid for 24 hours. Required: reportexport_id.
loop_subscriptions_customer_loyalty_points_credit_points
Credit loyalty points to a Loopwork customer identified by their Shopify customer id. Returns: success, message, data, code, pageInfo. Required: customer_shopify_id, points, pointsExpiring.
loop_subscriptions_customer_loyalty_points_redeem_points
Redeem loyalty points from a Loopwork customer by their Shopify customer id, deducting points from their balance for rewards or discounts. Returns: success, message, data, code, pageInfo. Required: customer_shopify_id, points.
loop_subscriptions_line_attributes_patch_attributes
Partially update a loopwork line item's attributes — only the keys included in the request are changed, leaving all other attributes untouched. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: line_id, attributes. Reserved internal tracking keys (e.g. _bundleId, is_one_time) cannot be updated or removed.
loop_subscriptions_line_attributes_bulk_update
Completely update a loopwork line item's attributes — the full attribute list sent replaces all existing attribute data. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: line_id, attributes. Reserved internal tracking keys (e.g. _bundleId, is_one_time) cannot be updated or removed.
create_a_loop_subscriptions_address
Create a customer address in loopwork for a Shopify customer. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Requires customerShopifyId, lastName, address1, and countryCode.
update_a_loop_subscriptions_address_by_id
Update an existing customer address in loopwork by id. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: id and address.
loop_subscriptions_payment_methods_send_update_mail
Send the customer an email to update their payment method in loopwork. Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: paymentmethod_id.
loop_subscriptions_payment_methods_migrate
Migrate a customer's payment method into loopwork from an external payment aggregator (Stripe, Authorize.net, Braintree, or PayPal). Returns: success, message, data, code, pageInfo, openapi, info, servers, components, security, paths, x-readme, x-readme-fauxas. Required: email, firstName, lastName. Supply exactly one aggregator object (stripe, authorizeNet, braintree, or paypal).
loop_subscriptions_cancellation_flows_list_reasons
List the cancellation reasons configured for the subscription cancellation flow in loopwork. Returns each reason with its id, reason text, position, and customer-facing display flags such as showComment, showDelay, showSkipNext, showPause, and showSwap.
loop_subscriptions_cancellation_flows_list_logs
List cancellation flow logs in loopwork, returned in descending order of id. Returns: id, createdAt, cancellationAction, subscriptionContractShopifyId, benefitPageViewed, cancellationReason, treatementOpted, offerViewed. Max 100 records per page.
list_all_loop_subscriptions_selling_plan_groups
List the selling plan groups available on a loopwork store, each with nested selling plans and their pricing, billing, and delivery policies. Returns: id, name, position, merchantCode, options, summary, createdAt, updatedAt, sellingPlans.
loop_subscriptions_selling_plan_groups_list_product_variants
List the product variants mapped to a selling plan group in loopwork. Returns: variantShopifyId, productShopifyId, variantTitle, productTitle. Required: selling_plan_group_id.
list_all_loop_subscriptions_products
List all loopwork products with their selling-plan mapping status, returned in descending order of id. Returns each product's shopifyId, title, and productVariants including variant title, shopifyId, price, and hasSellingPlan.
Why Truto
Why use Truto’s MCP server for Loop Subscriptions
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Loop Subscriptions in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Loop Subscriptions account
Use Truto’s frontend SDK to connect your customer’s Loop Subscriptions account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Loop Subscriptions
Truto’s Proxy API is a 1-to-1 mapping of the Loop Subscriptions API. You call us, we call Loop Subscriptions, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Loop Subscriptions’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Loop Subscriptions on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
What authentication does Loop Subscriptions use?
Loop uses API key authentication issued per merchant store. Truto handles secure key storage, injection, and rotation so your end users only complete a simple credential form once during connection.
Which subscription lifecycle actions are supported?
The full lifecycle is covered: create, pause, resume, cancel, reactivate, expire, reschedule, change plan, update anchor date, adjust prepaid credits, edit charge offset, and bulk update across many subscriptions at once.
Can we modify a subscriber's next order without a full plan change?
Yes. You can skip the next order, reschedule future orders, place an order immediately, add a one-time line item, swap a line, edit line schedules, or update order notes — all without altering the underlying subscription contract.
How do we access historical churn and cancellation data?
Use the cancellation flow logs endpoint to retrieve why subscribers canceled and whether they viewed a retention offer, and use the report export endpoints (with status polling) to pull subscription and subscriber summaries in bulk.
Does the integration support custom subscription and line attributes?
Yes. Truto exposes patch and bulk update endpoints for both subscription-level and line-level custom attributes, so you can read and write metadata your product depends on.
How fresh is the data we get from Loop?
All reads are fetched on-demand from Loop's API at request time, so data reflects the current state of the merchant's store. For bulk analytics use cases, use the report export endpoints and poll export status until completion.
Loop Subscriptions
Get Loop Subscriptions integrated into your app
Our team understands what it takes to make a Loop Subscriptions integration successful. A short, crisp 30 minute call with folks who understand the problem.