Skip to content

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 us
Loop Subscriptions

Use Cases

Why integrate with Loop Subscriptions

Common scenarios for SaaS companies building Loop Subscriptions integrations for their customers.

01

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.

02

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.

03

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.

04

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.

05

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.

05

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.

06

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.

01

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.

02

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.

03

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.

04

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.