The Ready Check API is live at https://api.readyupagents.com. Prepaid credit packs are bought through Stripe Checkout from a register call; there is no human portal.
Ready Check
Ready Check inspects one inbound email and returns structured specialist findings: kind, verdict, scores, named rules that fired and facts to review. It does not write a reply. Your own agent can use that data to write in your employer’s style. Nothing is sent.
What it does
- You send the email text: sender, reply-to, subject, body, and attachment file names if you have them.
- We run named rule checks on the sender address, the links, the attachment names, and the wording. These are the same checks used in the ReadyUpAgents email templates.
- A model also inspects the email together with the check results.
- You get back: the selected kind, a verdict, specialist labels, scores, fired checks, findings and what to watch for.
- Ready Check never writes a reply, including for legitimate mail. Your agent or a human decides what to do next. We never connect to your inbox.
The checks are the product. Your own model can already write a reply. Ready Check is for the parts a general model does not reliably do: comparing lookalike domains, reading file names, applying specialist rules.
Checks that always run
Sender
- lookalike_sender_chars: non-Latin lookalike letters or punycode in the address
- lookalike_sender_domain: the sender domain imitates a linked site or a known service (rn for m, 0 for o, 1 for l)
- brand_domain_variant: the brand name plus extra words, not the brand's own domain
- reply_to_mismatch: replies would go to a different address
- send_to_other_address: asks you to send something to a different address
- outlet_claim_mismatch: claims a known outlet but writes from another domain or free mail
- free_mail_sender: free-mail address on a business offer (a small signal only)
- domain_matches_link: the sender's domain matches the site they link (lowers the score)
Files (judged by name only; nothing is downloaded or opened)
- dangerous_attachment: a program, or a program hiding behind a document name such as brief.pdf.scr
- archive_attachment: .zip, .rar, .7z and similar
- password_for_file: a password given for a file or archive
- anonymous_file_host: a download link on an anonymous file host
What the sender asks for
- sign_in_request: sign in or connect an account to see a brief, contract or booking
- install_request: download and run software
- upfront_fee: pay a fee or deposit first, or buy first and get refunded
- odd_payment: payment in crypto, gift cards or money-transfer services
- high_risk_niche: crypto, token presale, forex, casino, betting and similar
- urgency: pressure to act within hours
Links
- lookalike_link: a link to a fake YouTube, Google, PayPal, Zoom or similar domain
- link_shortener: the destination is hidden behind a shortener
Mass mail and pitches
- merge_tag_left_in, bulk_footer, generic_greeting
- seo_pack, vendor_pack, job_seeker, gibberish
- link_insertion_language, link_exchange, da_dr_talk, sponsored_placement_offer, undisclosed_paid_link
- pay_to_appear: pay-to-play guest spots
Reported from the model step
- wire_change_request: asks to change wiring or bank details
- instructions_in_email: the email tries to give instructions to an assistant (ignored)
Optional kinds
Send kind to get the matching specialist labels and structured data. If you leave it out, every check above still runs and you get a general verdict.
| kind | Specialist labels/data |
|---|---|
| inbox | urgent, sales_lead, support, billing, newsletter_spam, other; priority and whether a reply appears expected |
| lead_followup | followup_candidate, not_a_lead, declined; eligibility/skip findings for a pasted thread |
| form_lead | real_inquiry, seo_pitch, vendor_pitch, job_seeker, bot_spam, unclear; fit findings |
| guest_post | worth_a_look, paid_placement, link_request, off_topic, not_a_pitch |
| sponsorship | real_offer, lowball, likely_scam, not_sponsorship; original rate-card comparison when rates are supplied |
| key_request | likely_real, suspicious, likely_scam; identity and quantity warning signals |
| podcast_guest | strong_fit, maybe, not_a_fit, spam_or_pay_to_play, not_a_pitch; topic/fit findings |
| cold_pitch | customer_or_partner, worth_a_look, vendor_pitch, followup_spam, unclear |
| pr_pitch | story_lead, expert_source, sponsored_offer, off_beat, not_a_pitch |
| security_report | review_now, generic_scan, payment_request, unclear, not_a_report; report-quality/payment-pressure signals |
Optional context the kinds use: submitter_email (for form notifications), situation and followup_number (for pasted lead threads), business_name, classification_notes, services, site_name, show_name, topics, dealbreakers, rate_card, currency, minimum_fee, game_names, trusted_senders, known_bad_senders. A real-estate profile is available for inbox and lead_followup.
The added kinds use developed template rules: cold pitches include noticed_opener, lead_list, web_rebuild, financing and bump_followup; PR includes pub_not_named, restates_about, sponsored_buy and embargo_pressure; security reports include dmarc_spf_only, headers_cookies_only, payment_before_details, threat_deadline, generic_scanner and concrete_repro. Security reports are classified, never investigated by visiting a supplied URL or executing a reproduction command.
Cold-pitch context can include shopping_for and known_pitch_phrases. PR can use publication_name, publication_about and beats. Security reports can use known_scanner_phrases. Caller lists are exact address or domain-boundary matches; a trusted sender does not switch off the safety checks, and a known-bad sender always wins.
Freelancer Inquiry Qualifier is not included: it has specifications and prompts, but no deterministic rule code. Fake job-offer checks and live YouTube channel lookup are not available yet.
Lead follow-up works on a thread you paste in. Ready Check does not watch an inbox or keep count of your follow-ups.
Structured results, not writing
Ready Check makes at most one model inspection call. It never generates a reply, rewrite, essay, homework answer or other writing task. Legacy draft options are ignored; they cannot enable writing. The response has no draft body or placeholder fields. Your own agent can turn the findings into a reply in your employer’s style, with your review and approval.
Price
Each standard Ready Check costs $0.0025 (one quarter of a cent). Longer emails may count as two checks ($0.005). The amount charged is returned as charged_checks and charged_usd, and is never increased after that. Buy prepaid credit in a $5 pack or a $1 pack. No credit means the check does not run. Nothing is sent.
- $5 pack: 2,000 standard checks
- $1 pack: 400 standard checks
- One standard check is one email in, one result out.
- An extra-long check is still one email in, one result out, billed as two checks. Oversized input is rejected before the model runs, at no charge. The body may be up to 16,000 characters, serialized context up to 1,000 characters, from/reply_to/subject up to 1,000 characters each, and attachment names at most 30 (255 characters each). The raw request may be up to 64 KiB.
- If the key does not have enough credit for a two-check charge, the request is refused, nothing is sent, and nothing is charged.
- Unused credit does not expire.
- Credit packs are not refundable once any credit has been used.
- Refunds are only for billing errors or duplicate charges, and only to the original payment method, handled by hand. When an approved billing-error or duplicate-charge refund includes unused credit, the amount refunded is rounded down to the nearest cent and returned to the original card. See the Terms for the Ready Check refund policy.
- Pay by card through Stripe Checkout. Other payment methods are not offered.
- Purchases are limited per card over a rolling period. A purchase that would exceed that limit is not completed, and no credit is added.
How to buy credit
There is no human checkout page on readyupagents.com and no account or dashboard. Your agent (or you) generates a key, registers a pack, and pays on the Stripe Checkout URL that the register call returns.
- Generate the key yourself locally:
rc_+ 43 URL-safe base64 characters from 32 cryptographically random bytes (256 bits). Use a CSPRNG. Do not use passwords, short strings, or repeated characters. - Keep that key secret. We never show it, email it, or recover it. We store only a one-way hash of the key, not the key itself.
POST https://api.readyupagents.com/v1/payments/registerwith{"pack_dollars":1|5,"key":"<your key>"}. The response includes Stripe’s real Checkout URL (checkout_url) and an expiry time. We never invent or publish a checkout URL. Unpaid orders expire after 24 hours; register the same key again to get a new URL.- Pay on Stripe. Then call
GET https://api.readyupagents.com/v1/ready-check/balancewithAuthorization: Bearer <same key>until credit appears (after payment is confirmed, usually within seconds). Reuse the same key for every check and later packs; credit does not expire while the key stays open. - Lost key = unusable credit (gift-card model). We do not re-issue keys. Unused credit does not expire, but we cannot restore a lost key. Refunds are only for billing errors or duplicate charges, to the original payment method. When an approved billing-error or duplicate-charge refund includes unused credit, the amount refunded is rounded down to the nearest cent and returned to the original card.
How to call it
AI agents should start at the Ready Check for agents page.
POST https://api.readyupagents.com/v1/ready-check Header: Authorization: Bearer YOUR_READY_CHECK_KEY Body: JSON
Request
{
"kind": "sponsorship",
"from": "Partnerships <deals@youtubee.example>",
"reply_to": "brandteam.payouts@gmail.com",
"subject": "Paid collab, brief attached",
"body": "Hi dear creator, we want a YouTube integration for $3,000. Sign in with your YouTube account at our partner portal to view the brief. Password for the file: 2026. Reply within 24 hours.",
"attachment_names": ["Campaign_Brief.pdf.scr"],
"context": { "rate_card": { "youtube_integration": 1500 }, "currency": "USD" }
}
Response
{
"kind": "sponsorship",
"verdict": "likely_scam",
"kind_verdict": "likely_scam",
"scam_score": 100,
"checks_fired": [
{ "name": "dangerous_attachment", "source": "rule", "detail": "Campaign_Brief.pdf.scr is a program, not a document" },
{ "name": "lookalike_sender_domain", "source": "rule", "detail": "youtubee.example imitates youtube" },
{ "name": "sign_in_request", "source": "rule", "detail": "asks you to sign in with YouTube to see the brief" },
{ "name": "password_for_file", "source": "rule", "detail": "gives a password for a file" },
{ "name": "reply_to_mismatch", "source": "rule", "detail": "replies go to a gmail.com address" },
{ "name": "urgency", "source": "rule", "detail": "within 24 hours" },
{ "name": "generic_greeting", "source": "rule", "detail": "Hi dear creator" }
],
"checks_skipped": [],
"what_it_looks_like": "A paid YouTube integration offer that asks you to sign in to see the brief.",
"watch_for": ["Do not open the attachment.", "Do not sign in through the link.", "Confirm the brand from its own website before replying."],
"nothing_sent": true,
"credit_charged": 0.0025,
"charged_checks": 1,
"charged_usd": 0.0025,
"credit_remaining": 4.213
}
Errors an agent should handle: an empty body, unsupported kind, or invalid field returns 400. A prepaid key is required (401). A key with no credit, or with too little credit for the charged amount (including a two-check price), returns 402, runs nothing, and is not partially charged. The request is capped at 64 KiB; body at 16,000 characters; from, reply_to, and subject at 1,000 characters each; context at 1,000 characters; and attachment names at most 30 (255 characters each). Requests that are not natural-language correspondence may be rejected at no charge. Oversized input is also rejected free (400). There is no drafting mode; if a request is rejected as too large, shorten it. 429 means wait and retry (see Retry-After if present). 503 means the service is temporarily unavailable; wait and retry. If a 503 response includes settlement_pending or a request_id after a check was underway, do not assume it was uncharged: wait and check balance, and reuse the same Idempotency-Key if you retry.
If model inspection is unavailable or returns invalid output, the API returns rule-only findings, model_status is not completed, and credit_charged is 0. Rule-only results do not claim the email is safe. Successful inspections charge the amount returned as charged_checks and charged_usd (one or two checks), including a correctly identified likely scam. That charged amount is never increased afterward. Legacy draft options do not change the work or price. A result includes request_id for billing support. Send an optional Idempotency-Key header (1–128 chars of A-Za-z0-9._-) so a retry after a network timeout is not double-charged. Without that header, do not blindly retry after a timeout.
Privacy
- Nothing is sent. Ready Check only returns text to you.
- No Gmail access. We never ask for an inbox login. There is no Ready Check account, password, or human portal.
- We do not store the email body, subject, or from/reply-to fields. We keep a one-way hash of the prepaid key (not the key itself), credit balance and key status, and limited billing and result metadata such as request ID, time, verdict, and names of checks that fired.
- If you send an optional Idempotency-Key, we keep a one-way hash of that key plus the findings we returned (not the original email body) so a retry is not charged twice.
- We keep Stripe payment and checkout references needed to grant credit once, and a one-way hash used to apply a per-card purchase limit (not the card number or last four digits).
- Card numbers are entered on Stripe Checkout, not on Ready Check servers. Stripe may also collect billing details they need, which can include an email for receipts, under Stripe’s privacy policy.
- The model step forwards email text and caller context to OpenAI so a model can classify the message. OpenAI processes that content under its own terms. We do not use your email text to train our own models. Do not send secrets or content you lack permission to share.
- Pictures, videos, audio and file contents are not accepted or processed. Only email text and attachment names are inspected; names such as photo.jpg, clip.mp4 and invoice.pdf are filename signals, not uploaded files.
- The fuller site policy is on the Privacy page.
Limits
- The checks are a sorting aid. A careful scammer can pass every check, and a real sender can trip one. Read the result before you act.
- Ready Check does not write replies. Your own agent can write from the structured findings.
- It does not watch an inbox, send summaries, or save drafts to Gmail. The ReadyUpAgents n8n templates do that on your own account.
Who publishes this
ReadyUpAgents makes n8n email templates. Two are public in the n8n workflow gallery: - https://n8n.io/workflows/20988 - https://n8n.io/workflows/21031
ReadyUpAgents is a verified n8n creator: https://n8n.io/creators/readyupagents/.
ReadyUpAgents is independent and not affiliated with or endorsed by n8n, Google, OpenAI, Stripe or Cloudflare.
Contact: readyupagents@gmail.com
Your vision, our tools.
