Let your agent install Boundry.
Point Claude Code, Cursor, Codex or Copilot at one prompt. It reads the same reference published at boundry.dev/llms.txt, installs the SDK, sets your API key, verifies a sending domain and sends the first email.
- llms.txt · machine-readable
- Sydney · ap-southeast-2
- 5 languages · TS, Python, Go, Ruby, PHP
Install the Boundry SDK for this project.
Read https://boundry.dev/llms.txt for the API, SDK and agent reference before writing code.
Create a project API key in the Boundry dashboard and set BOUNDRY_API_KEY on the server.
Verify a sending domain, then send one test email from it using the SDK.
Add a webhook route that verifies Boundry's signed events before processing them.What the agent will do.
Every step below comes from Boundry's own public guides. An agent that follows the prompt above works through them in this order.
01
Install the SDK.
Every client is generated from the same OpenAPI contract and published under its own name. Pick the language this project uses.
npm install boundry-sdk- Command
- npm install boundry-sdk
- Package
- boundry-sdk
- Result
- Added 1 package
Published on npm, PyPI, pkg.go.dev and Packagist. The Ruby gem is a release preview.
02
Create a project and a key.
Create a project in the Boundry dashboard, then create a project API key there. Keep it on the server as BOUNDRY_API_KEY — never ship it to browser code.
- Project
- acme-production · Sydney
- API key
- Created in the dashboard
- Env var
- BOUNDRY_API_KEY
Keep the key on the server. It only reaches its own project and region.
03
Verify a sending domain.
A from address must belong to a domain verified in the same project. Create the domain with sending enabled, publish the DKIM record Boundry returns, then verify it.
{
"name": "mail.acme.com",
"capabilities": { "sending": true, "receiving": false }
}- Domain
- mail.acme.com
- DKIM record
- Published
- Status
- Verified
A from address must belong to a domain verified in this same project.
04
Send the first message.
Send from the verified domain with the SDK. The response carries a message id you can look up in the dashboard.
import Boundry from 'boundry-sdk';
const client = new Boundry({
apiKey: process.env['BOUNDRY_API_KEY'],
});
const email = await client.emails.send({
from: 'Acme <hello@acme.com>',
to: 'ava@northwind.com.au',
subject: 'Welcome to Acme',
html: '<p>It works.</p>',
});
console.log(email.id);- POST
- /emails
- Response
- 200 · msg_02
- Idempotency-Key
- Reused on retry
The returned id is the same message you'll find in the dashboard.
05
Handle webhooks.
Create a webhook endpoint, then verify Boundry's signature before trusting a payload. Boundry signs the exact raw request bytes.
import { webhooks } from "boundry-sdk";
export async function POST(request: Request) {
const event = await webhooks.verify(
await request.arrayBuffer(),
request.headers,
process.env.BOUNDRY_WEBHOOK_SECRET!,
);
await queueEvent(event);
return new Response("ok");
}- Endpoint
- /api/webhooks/boundry
- Signature
- Verified
- Event
- email.delivered
Boundry signs the raw request body; verify it before you parse the event.
Give the agent the docs.
Point a chat-based agent at these directly. A coding agent following the prompt above will already reach most of them from llms.txt.
llms.txt
A plain-text index of Boundry's regions, SDKs, endpoints and agent guide, meant for an agent to read first.
Documentation
The quickstart, SDK guides, domain verification, webhooks and platform architecture.
API reference
Every endpoint, parameter, error code and response shape in the regional API.
OpenAPI contract
The generated contract every official SDK is built from.
MCP server
A hosted Model Context Protocol server in Sydney at api.boundry.dev/mcp, authorised through OAuth.
Give your agent the prompt.
Copy it once, paste it into your coding agent, and Boundry does the rest — from install to a verified send.
npm install boundry-sdk