Most APIs are "agent-compatible": an agent can call them. Far fewer are agent-native: an agent can accomplish the whole job on its own, with no human un-sticking it halfway. We spent a few weeks turning Send16 (an email platform) from the first into the second, and the gap turned out to be smaller and weirder than expected. Here's the whole thing.

The wall: onboarding, not the API

Our send endpoint was fine. An agent could form a request. But it couldn't succeed, because like almost every email API we required domain verification — SPF, DKIM, DMARC — before we'd send a single message. That's a reasonable anti-abuse default for humans. For an unattended agent it's fatal: step one is "edit your DNS," which the agent can't do. So the first send always failed, and a failed first action is where agent workflows die.

The lesson: for an agent, onboarding is the API. The happy path has to include a first success that needs no out-of-band human step.

Fix 1 — a zero-DNS sandbox sender