REST API v1
ReplyBlade API
Generate strategic reply variants programmatically. Simple REST endpoint: send a message, get back crafted replies. No API key needed.
Endpoint
POST
/api/repliesAuthentication
The API is completely free and open. No API key required. Just send a POST request to the endpoint with a JSON body.
Request Body
All fields must be sent as JSON.
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| message | string | required | - | The incoming message you want replies for (1-8000 chars) |
| context | string | optional | "" | Context about the sender or situation (up to 1000 chars) |
| goal | string | optional | "" | Your desired outcome (up to 120 chars) |
| tone | number | optional | 50 | 0 (warm) to 100 (firm) |
| count | number | optional | 3 | Number of variants: 1, 3, or 5 |
| length | string | optional | "medium" | Reply length: 'short', 'medium', or 'long' |
| language | string | optional | "" | Language for replies (empty = auto-detect) |
Response
On success, returns a JSON object with a variants array.
{
"variants": [
{
"label": "Polite Decline",
"reply": "Hi [Name], thanks for the invite...",
"strategy": "Optimizes for maintaining...",
"tone": "Warm & polite",
"risks": "May come across as evasive if..."
}
]
}On error, returns { "error": "..." } with appropriate HTTP status code (400, 429, 500).
Examples
curl
curl -X POST https://replyblade.com/api/replies \
-H "Content-Type: application/json" \
-d '{
"message": "Can you join a call tomorrow at 2pm?",
"context": "From my boss",
"goal": "Politely decline",
"tone": 50,
"count": 3,
"length": "medium"
}'python
import requests
response = requests.post(
"https://replyblade.com/api/replies",
headers={"Content-Type": "application/json"},
json={
"message": "Can you join a call tomorrow at 2pm?",
"context": "From my boss",
"goal": "Politely decline",
"tone": 50,
"count": 3,
"length": "medium",
},
)
data = response.json()
for variant in data["variants"]:
print(f"[{variant['label']}] ({variant['tone']})")
print(variant["reply"])
print(f"Strategy: {variant['strategy']}")
print(f"Risks: {variant['risks']}")
print()javascript
const response = await fetch("https://replyblade.com/api/replies", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
message: "Can you join a call tomorrow at 2pm?",
context: "From my boss",
goal: "Politely decline",
tone: 50,
count: 3,
length: "medium",
}),
});
const data = await response.json();
data.variants.forEach((v) => {
console.log(`[${v.label}] (${v.tone})`);
console.log(v.reply);
console.log("Strategy:", v.strategy);
console.log("Risks:", v.risks);
});Try it yourself
Test the endpoint live. No API key needed.
Rate Limits
API requests are rate-limited to 3 requests per minute and 10 requests per hour per IP address. If you exceed either limit, you'll receive a 429 response. This is the same rate limit applied to the web UI (including screenshot reads).
Error Codes
| Code | Meaning |
|---|---|
| 400 | Invalid request body or validation failed |
| 405 | Method not allowed (use POST) |
| 429 | Rate limited (3/min, 10/hour per IP) |
| 500 | Internal server error |