Skip to main content

Overview

Arlo is pay-per-use: the patient is charged per visit, and there are no recurring subscriptions. The payment flow has two independent pieces:
  1. A card on file — saved once via create_payment_setup (never charges the patient)
  2. The per-visit hold — placed only when the patient explicitly confirms via confirm_provider_connection
Arlo never auto-charges. confirm_provider_connection is the patient’s confirmation step — only call it once the user has agreed to proceed.

get_payment_status

Get the user’s current payment status.

Use this to

  • Check whether the user already has a payment method on file
  • Poll until paymentStatus is ACTIVE after the user completes create_payment_setup
  • Show the per-visit price

Parameters

None required.

Returns

Payment Statuses

Billing Modes


create_payment_setup

Create a Stripe card-setup session to save a payment method for pay-per-use.
This just puts a card on file — it does not charge the patient.

Parameters

How It Works

  1. Call this tool to get a Stripe-hosted card-setup URL
  2. Direct the user to open paymentUrl in their browser
  3. User saves their card on Stripe’s secure checkout page
  4. Poll get_payment_status (every ~15–30 seconds, or when the user says they’re done) until paymentStatus is ACTIVE
Once paymentStatus is ACTIVE, a conversation that was waiting at a payment gate can proceed — call confirm_provider_connection to place the hold.

Returns

Security

  • Card details never pass through Arlo or your agent
  • All payment data is handled by Stripe (PCI compliance maintained by Stripe)

confirm_provider_connection

Confirm connecting with a healthcare provider. This tool is the patient’s payment confirmation: calling it places the per-visit payment hold on the card on file and queues the patient for provider matching.
Only call this once the user has explicitly agreed to proceed. Arlo never auto-charges.

Preconditions

  • Conversation is in PAYMENT_REQUIRED status (check via get_conversation)
  • A payment method is on file (get_payment_status shows ACTIVE)

Parameters

Returns

If there’s no card on file

The payment gate reports PAYMENT_SETUP_REQUIRED. Recover with:
1

Call create_payment_setup

Get a Stripe card-setup URL and send it to the user
2

Poll get_payment_status

Wait until paymentStatus is ACTIVE
3

Call confirm_provider_connection again

Places the per-visit hold and moves the conversation to MATCHING

If the hold fails

payment_hold_failed means the card was declined. Call create_payment_setup so the user can add a different card, poll get_payment_status until ACTIVE, then call confirm_provider_connection again.

If the user declines

Call cancel_request to dismiss the payment gate — the conversation returns to AI-only chat and can be re-engaged anytime.

What happened to subscriptions?

Earlier versions of this API exposed subscribe and cancel_subscription tools. Arlo is now pay-per-use only, and those tools are no longer part of the MCP surface. Grandfathered accounts on legacy plans (billingMode: SUBSCRIPTION or LEGACY) keep their access; the REST API retains deprecated endpoints for legacy clients.