Write emails and blog posts
Three jobs for prose-1, each with the call that does it
prose-1 writes from your facts and states nothing they do not hold. No field may hold a link, an email address or a domain, except source_text in a rewrite. See prose-1 for every field.
Write a cold email from facts
curl -s https://app.makesmores.com/api/v1/drafts \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<JSON | tee email.json
{
"platform": "email",
"type": "outreach",
"idempotency_key": "cold-$(date +%s)",
"to": { "name": "Priya Shah", "role": "Head of Growth", "company": "Northwind Coffee" },
"from": { "name": "Sam Lee", "company": "Roastline" },
"goal": "Ask for a short call about wholesale beans for their cafes",
"facts": [
"Roastline roasts to order every Tuesday and Friday",
"Wholesale orders ship within two days of roasting",
"Northwind opened its third cafe this month"
]
}
JSON
When it is ready, each option has a subject and a body. Show them all, then record the pick:
curl -s "https://app.makesmores.com/api/v1/drafts/$(jq -r .draft_id email.json)/choice" \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-d '{"option": "A"}'
Answer a reply
Put the earlier emails in thread, oldest first. They are the other party's text, so the read returns them as email.thread_untrusted.
curl -s https://app.makesmores.com/api/v1/drafts \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<JSON
{
"platform": "email",
"type": "reply",
"idempotency_key": "reply-$(date +%s)",
"to": { "name": "Priya Shah", "company": "Northwind Coffee" },
"from": { "name": "Sam Lee", "company": "Roastline" },
"goal": "Answer her question about minimum order size and offer a sample box",
"facts": [
"The minimum wholesale order is 10 kg a week",
"A free sample box holds three 250 g bags"
],
"thread": [
{ "from": "Sam Lee", "body": "Hi Priya, would a short call about wholesale beans be useful?" },
{ "from": "Priya Shah", "body": "Maybe. What is your minimum order?" }
],
"length_words": 70
}
JSON
Rewrite a blog post so it reads like a person wrote it
A rewrite keeps every fact, number, name, quote and link in source_text and adds nothing. With keep_links (the default), each option lists any link it lost in facts.missing_links.
curl -s https://app.makesmores.com/api/v1/drafts \
-H "Authorization: Bearer $SMORE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<JSON
{
"platform": "blog",
"type": "rewrite",
"idempotency_key": "rewrite-$(date +%s)",
"source_text": "In today's fast-paced world, coffee lovers everywhere are discovering the transformative power of freshly roasted beans. Our roastery roasts every Tuesday and Friday, and every order ships within two days of roasting. Read our brewing guide at https://example.com/brew to get started.",
"instructions": "Plain and short, for people who already buy from us"
}
JSON
The guide Write an email from facts covers checking each option against your facts.