API digital twins, built for testing and training AI Agents.

Give your agents realistic APIs to practice on. Control the data, create real-world scenarios, and run repeatable tests and training in isolated environments, with the SDKs you already use.

Use cases

01

Test the paths that only fail in production

Trigger hard bounces, declined cards, 429s, and pagination. See how your agent responds as the twin updates records, expires rate limits, and carries cursors forward.

02

Reach state a test mode can't

A payment that came back failed, a token that expired, a rate limit already spent. Each is one directive away; no scripting job, no waiting on a shared account to reset.

03

Run CI in parallel without collisions

Every run gets its own hostname, records and request log. A dozen jobs write whatever they like at the same time and none of them can see, throttle or overwrite another.

Built for the APIs your agents call — early teams vote on which twin ships next

  • AttioLive
  • BILLLive
  • GitHubLive
  • HubSpotLive
  • KlaviyoLive
  • LinearLive
  • NetSuiteLive
  • QuickBooksLive
  • ResendLive
  • ShopifyLive
  • SlackLive
  • StripeLive
  • WebEDILive
  • XeroLive
  • ZendeskLive
  • Twiliosoon
  • Notionsoon

Environments

A working copy of someone else’s API, in about a minute. Pick a provider, start an environment, and you get a hostname of your own — records stay editable and every request is logged. Nothing to install, nothing to reset, nothing shared.

A private URL per run, shared with no one.

State steered by the twin's own directives.

Keys issued in the provider's own format.

Explore more
environment · what you get
  • A private URLresend-a1c93f.twinbay.run
  • State you can steerrecords · directives
  • Keys in the provider's formatre_twinbay_9f2a…
  • Editable recordsread · write · reset
  • A full request logmethod · status · ms

Connected twins

Attio

BILL

GitHub

HubSpot

Klaviyo

Linear

NetSuite

QuickBooks

Resend

Shopify

15twins live
179resources modelled

Twins

Not a mock: a twin reproduces the provider’s state machine, pagination, idempotency and error taxonomy.

Hand-built for the providers agents lean on hardest.

Verified against the vendor's own SDK in CI.

Never invents a response for a route it doesn't model.

Browse the catalog

Developers

Create an environment from your terminal. The Twinbay CLI provisions each twin and hands back the private URL and provider-shaped key your tests need.

  • One command to create an environment and every twin in it.
  • Credentials in the provider's own format, so key handling is exercised too.
  • Every request logged with its body, status and latency, readable from the CLI.

Install it with the one-line script or go install. Every command is listed in the CLI reference.

twinbay · cli
$ twinbay environments create --name=checkout-tests \
    --twins='[{"twin":"resend"}]'
✓ twin provisioned    resend · behavioural
✓ ready               https://resend-a1c93f.twinbay.run

$ twinbay environment-twins collect-credential --environment-id=$ENVIRONMENT \
    --environment-twin-id=$TWIN
✓ re_twinbay_9f2a…    readable while it runs

$ twinbay environment-logs list --environment-id=$ENVIRONMENT
POST /broadcasts          202   41ms
POST /broadcasts/:id/send 202   38ms
GET  /emails?page=2       200   12ms

Point the tests you already have at a twin. One line of config, seconds to a live URL.

of config to point your existing SDK at a twin
1 line
from picking a twin to a live URL your SDK can call
Seconds
state shared between environments, runs, or teams
0
of behavioural twins verified against the vendor's SDK in CI
100%

Frequently asked questions

Anything else, email hello@twinbay.ai and a human will answer.

Live · console.twinbay.ai

Start with one base URL.

Create an environment and point your existing SDK at the hostname it gives you. The environment logs each request your agent makes, and you can edit any record it holds.

Start building

An environment in under a minute, no card required. Twinbay is free for academic researchers.