A REST API for the system that never had one.
Old portals, ERPs, and intranet apps rarely ship an API - so nothing can talk to them. Writ records what a person does in that app and exposes it at /v1/{slug}/{path}, a REST endpoint and MCP tool your stack and your AI agents can call.
A screen behind a login becomes a clean JSON endpoint - on your own domain.
Everything integrates except the one app that matters.
A rewrite isn't on the roadmap, the vendor won't ship an API, and the system is often locked inside your network behind a login. Integration work stalls on the one app everything else depends on.
- A rewrite isn't on the roadmap, and the vendor won't ship an API.
- The portal only opens behind a login and 2FA.
- The system is locked inside your network, unreachable from the cloud.
Record it, expose it, run it on your network.
The controls you'd expect from a first-class API.
In front of a system that ships none of them.
- ✓Managed endpoints
- ✓MCP servers
- ✓Consumer keys (csk_)
- ✓HMAC-signed webhooks
- ✓Custom branded domains
- ✓Usage analytics
Call a legacy lookup.
The workflow logs in, clears 2FA, reads the record, and hands back JSON - on your own domain.
# Workflow "record-lookup": navigate (legacy app) -> fill (search) -> twofa -> extract (record)
GET https://api.yourco.com/v1/record-lookup?id=12345 # your custom domain
Authorization: Bearer wt_…
-> { "id": "12345", "status": "active", "owner": "…" } Reach what the cloud can't.
The system that has no API is usually the one the public internet can't see. Choose where the agent runs - the honest trade-off is reach versus zero setup.
Local / BYO agent
Run the agent next to the legacy system, on your own network. It reaches intranet, localhost, and VPN-only hosts the cloud can't. Local runs carry no compute charge, your credentials live in an encrypted vault, and with your own AI keys the AI is unbilled too.
See agents →Managed cloud
For internet-reachable systems, let Writ's cloud run it - nothing to host. Cloud running time and any managed AI are metered from a prepaid balance. Cloud-only systems still need a local agent to be reached.
Self-hosting the agent →Legacy integration questions.
Do I have to change the legacy app?
No - Writ records the actions a person takes in the existing UI and exposes them as an endpoint. The app never knows.
Can it reach an intranet-only system?
Yes - run a local/BYO agent on your own network and it reaches intranet, localhost, and VPN-only hosts the cloud can't.
What about the login and 2FA?
Writ signs in on your own accounts and clears TOTP or email OTP as part of the workflow. Credentials stay in an encrypted vault.
Can AI agents call it?
Yes - every workflow is also an MCP tool, so Claude, Cursor, or your own agent can call it like any other tool.
Give your legacy system an API.
Record a workflow on an internal app and call it as a REST endpoint or MCP tool - on your own network.