Email API for coding agents and AI systems.

Use MCP when a coding agent is helping you build email. For an always-running AI system, your own worker makes direct send calls and handles signed email.received events. NoticeAPI provides the email API and delivery record. You own the model and decisions.

Agent implementationBounded
Task

Add a receipt email to the checkout application.

Project
checkout-app
Domain
mail.example.com
Capabilities
email:send · templates:write
Discovery
Hosted MCP · OpenAPI 3.1
Outside the key’s scopeBilling · members · other projects
Ready to implement inside checkout-app
Coding agent interfaceHosted + local MCP
Always-running agentSend + inbound events
Machine contractOpenAPI 3.1
Key boundaryCapability · project · domain

From task to working code

Three parts your team can see.

The human chooses the boundary and reviews the implementation. The agent gets a real contract instead of guessing endpoints.

Choose where the agent can work

Connect with interactive MCP authorization or issue a key limited to the project, capabilities, and sender domains the job needs.

Project + capability + domain scope

Let the agent read the real contract

MCP exposes structured tools. OpenAPI 3.1 describes the same REST resources, inputs, responses, and stable error codes.

Hosted MCP + OpenAPI 3.1

Review code and outcome

The agent implements the application path, uses a verified sender, and reads the recipient timeline or signed webhook after the request.

Code in your app + delivery record

Per-request authority

An API key allows specific capabilities, not unlimited access.

NoticeAPI evaluates the requested capability, project, and domain before the normal delivery and policy controls. A permission failure is a stop condition, not something the agent should work around.

Read the scoped-key guide

Capability

email:send · templates:write

The credential must carry the operation before the request reaches the resource.

Project

checkout-app

Project-local email, domains, templates, logs, webhooks, and suppressions stay in this boundary.

Sender domain

mail.example.com

A selected API key can use only the domains it names, and production senders must still verify.

Platform safety

always enforced

Suppression, unsubscribe, quota, sender, workspace, and acceptable-use checks still run on every request.
Stable stop codesproject_not_alloweddomain_not_allowedinsufficient_scoperecipient_suppressed

Before you connect an agent

Clear boundaries for humans and agents.

Does a coding agent need full workspace access?

No. Use sending-only access for a runtime integration or a custom API key limited to selected capabilities, projects, and domains. Full access is available for a trusted personal agent, but it is not the default requirement.

Can an agent create another API key?

Only when its own API key includes api-keys:write. Any credential it creates must be equal to or narrower than the credential making the request.

Can MCP bypass suppressions or plan limits?

No. The API key decides which operation may be attempted. Project boundaries, domain rules, suppressions, unsubscribe state, quotas, pauses, and acceptable-use controls are still enforced afterward.

Do we have to use MCP in production?

No. MCP can help the coding agent discover and implement the integration. Your application can run the finished workflow through REST, the Node SDK, or SMTP.

Does NoticeAPI run the AI agent?

No. MCP gives a coding client a scoped tool connection. For an always-running agent, run your own model and worker, then use NoticeAPI to send email and receive signed inbound events.

First implementation

Connect one project and choose the right agent interface.

Start with a scoped key. Use MCP in a compatible coding client, or give your own worker direct API access for an always-running agent.