// use case
Expose your FastAPI dev server to Twilio for Twilio webhooks
Reserve a stable subdomain
On the lrok free plan you keep one reserved subdomain forever. Pick a name your Twilio dashboard can hold onto — webhook URLs that survive laptop restarts mean fewer dashboard re-pastes.
$ lrok reserve fas-twilio Reserved https://fas-twilio.lrok.ioRun your FastAPI app
Start the dev server on port 8000 (the FastAPI default).
$ uvicorn main:app --reloadTunnel localhost to the public URL
lrok forwards https://fas-twilio.lrok.io/webhook → http://127.0.0.1:8000/webhook. The flag --hint binds your reserved subdomain to this tunnel.
$ lrok http 8000 --hint fas-twilio Forwarding https://fas-twilio.lrok.io -> http://127.0.0.1:8000Paste the URL into Twilio
Phone Numbers → Active Numbers → Messaging webhook. Paste https://fas-twilio.lrok.io/webhook as the destination.
Watch deliveries land in the request inspector
Every webhook Twilio sends shows up at lrok.io/dashboard with full body, headers, status, and latency. Re-deliver any request to your FastAPI handler with one click. Twilio expects a TwiML response (XML). Return Content-Type: application/xml with <Response><Message>...</Message></Response>. The inspector shows what Twilio actually parsed.
// why lrok for this
lrok's reserved subdomain is free and lives forever, so your Twilio twilio webhooks URL never rotates. $9/mo flat for unlimited tunnels — no SSO tax, no enterprise-only signature verification, no bandwidth metering. The request inspector is built in.