Skip to main content
Target vendor: Twilio REST API. Webhook signing: HMAC-SHA1 with the X-Twilio-Signature header. Payloads are form-encoded, matching Twilio’s exact format.

Mirror URL

Example: https://twilio-a7k2.mirra.run.

SDK compatibility

Official Twilio SDKs work against the mirror with zero code changes:

Supported surface

Resources

Send, retrieve, list. Status transitions (queued → sending → sent → delivered / failed / undelivered). Media attachments.
Start verification, check verification. Channels: sms, call, email. Code delivery tracking. Retry limits per Twilio’s exact policy.
Search available numbers, provision, list, release. Capabilities (SMS, MMS, voice). Incoming number configuration.
Create, update, retrieve. Sender pool management. Country and compliance configuration.

Status callbacks

Twilio fires status callbacks on message state changes. The mirror fires them with vendor-correct HMAC-SHA1 signatures and Twilio’s form-encoded payload shape:
  • queued — on create
  • sending — immediately after
  • sent — a few seconds later (configurable per fixture)
  • delivered — after that
  • failed / undelivered — if the fixture or simulate triggers it
Signing uses Twilio’s exact scheme:
Verify with Twilio’s SDK, no changes:

Built-in fixtures

No phone numbers, no messages. A blank Twilio account.
Two verified phone numbers for sending: +15555550123 and +15555550124. Good for testing your outbound flow without provisioning.
Configured messaging service with a sender pool of 5 numbers. Good for testing services that fan out across sender pools.
Verify service pre-configured with SMS channel and sensible retry limits. Good for testing OTP flows.
Account that returns 429 after 10 sends per minute, matching Twilio’s trial-account throttle. Good for testing rate-limit handling.
Load a fixture:

Coverage gaps

  • Voice / TwiML — not yet mirrored.
  • Conversations API — not yet mirrored.
  • Studio (workflow builder) — not yet mirrored.
  • Twilio SendGrid — use the SendGrid mirror (Months 3–6 roadmap).
  • Carrier-specific routing — simplified to a single delivery timeline per fixture; no real carrier-level behavior.
See status.mirra.run/twilio for the live list.

Simulating events

See API reference for the full event list.

Where to go next

Resend

The email mirror.

Stripe

The payments mirror.