# Ryan Sproule Email API

> Ryan Sproule Email API is a paid API for AI agents from ryansproule.com, paid per call via x402, $1/call, status unknown (last checked 2026-09-13).

Sends an email message via a POST request and returns a confirmation with an email ID and delivery channel.

## Facts

- Endpoint: POST https://ryansproule.com/api/email
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-09-13
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ryan-sproule-email-api-18856a0a
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_C3IqpC4esGcYKP-198W9J

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability ryan-sproule-email-api-18856a0a -d '<json body>'
```

Example prompt: Send an email through the ryansproule.com email API to notify john@example.com that their order has shipped.

## When to prefer this

Use this endpoint when you need a simple, pay-per-call email sending capability without setting up a full email service provider account. Suitable for lightweight automation or one-off email notifications that require a minimal integration footprint.

## Known failure modes

- Invalid or missing recipient email address returns an error
- Malformed request body causes a 400 Bad Request
- Authentication or payment failure prevents the email from being sent
- Network timeout or server unavailability results in no delivery confirmation
- Recipient domain rejects the message, possibly returning ok: false

## How this service works

rfs stuff

## Output

Returns a JSON object containing a unique email ID (e.g. 'email-id'), a boolean 'ok' field indicating success, and a 'channel' field confirming delivery was via email.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "message": {
   "type": "string",
   "maxLength": 4000,
   "minLength": 1
  },
  "replyTo": {
   "type": "string",
   "format": "email",
   "pattern": "^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$"
  },
  "subject": {
   "type": "string",
   "maxLength": 120,
   "minLength": 1
  },
  "fromName": {
   "type": "string",
   "maxLength": 80,
   "minLength": 1
  },
  "ccReplyTo": {
   "type": "boolean"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "email-id",
  "ok": true,
  "channel": "email"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ryan-sproule-email-api-18856a0a/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from ryansproule.com](https://www.zero.xyz/host/ryansproule.com/llms.txt)
