seed ▸ legacy app opened 0

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.

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use.
Legacy screen → JSON
GET /v1/record-lookup?id=12345
-> { "id": "12345", "status": "active", "owner": "..." }

A screen behind a login becomes a clean JSON endpoint - on your own domain.

REST + MCP runs on your network no change to the app
obs ▸ the one app that won't integrate 1
01
The problem

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.
act ▸ record · expose · run 3
02
How Writ solves it

Record it, expose it, run it on your network.

Record the real actions Click through the legacy UI once - including login and TOTP or email OTP on your own accounts. Writ captures it as a workflow.
Expose it as REST + MCP Every workflow becomes a callable REST endpoint and an MCP tool: wt_ keys, consumer keys, HMAC-signed webhooks, and optional custom domains.
Run it on your own network A local/BYO agent runs next to the system and reaches intranet, localhost, and VPN-only hosts the cloud can't - for free.
api ▸ first-class controls 10
03
A real integration surface

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 ▸ legacy lookup 42
04
Example

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": "…" }
venue ▸ reach what the cloud can't 60
05
Runs where the system lives

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 →
ok ▸ authorized access 72
06
Authorized

Authorized access, not a bypass.

Writ runs on your own accounts, with your own credentials and data, on sites you are authorized to use. This is automation of authorized workflows, not bypassing access controls - Writ acts as a person would, on accounts you control.

faq ▸ answered 86
08
FAQ

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.

go ▸ endpoint live

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.