# Ryan Sproule RFS Text API

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

Accepts text input via POST and returns a JSON response with an ID, status, and channel field

## Facts

- Endpoint: POST https://ryansproule.com/api/text?utm_source=zero.xyz
- Price: $1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-12
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/ryan-sproule-rfs-text-api-e176f4d4
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_3zF1L7GGGLPz2hZn4QNlZ

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-rfs-text-api-e176f4d4 -d '<json body>'
```

Example prompt: Send this text to the ryansproule rfs API and get back the response ID and channel: 'Hello, this is my test message.'

## When to prefer this

Choose this endpoint when you specifically need to submit text to the ryansproule.com rfs service and receive back a structured JSON acknowledgment with an ID and channel. It is an x402-monetized endpoint costing $1 USDC per call, so prefer it when you have payment capability and need this specific service.

## Known failure modes

- Payment not provided or invalid — x402 payment required at $1 USDC per call
- Malformed POST body — endpoint expects text content in the request
- Server-side error returns non-ok status
- Missing required text input results in error response
- Network timeout if the endpoint is temporarily unavailable

## How this service works

Send one paid direct message to Ryan Sproule.

## Output

A JSON object containing an id (string identifier for the submission), ok (boolean indicating success), and channel (string, typically 'direct_message') confirming the text was received and processed.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "message": {
   "type": "string",
   "maxLength": 500,
   "minLength": 1
  },
  "replyTo": {
   "type": "string",
   "maxLength": 120
  },
  "fromName": {
   "type": "string",
   "maxLength": 80,
   "minLength": 1
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "id": "123",
  "ok": true,
  "channel": "direct_message"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/ryan-sproule-rfs-text-api-e176f4d4/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)
