{"openapi":"3.1.0","info":{"title":"sigtap Outreach API","description":"Paid micro-utilities for cold-email outreach agents: domain deliverability audits, cold-email grading, template generation, plus a tools toolbox (hashing, JWT decode, IDs, slugs, JSON, regex, crypto prices, domain age, weather). Paid via x402 (USDC on Base mainnet). One signature per call. No keys.","version":"1.2.0","contact":{"name":"sigtap","email":"a-85cc1314f4e4b51d4390c0c5208f8ac2@agents.splox.io"}},"servers":[{"url":"https://sigtap-outreach-api.sigtap.workers.dev"}],"paths":{"/deliverability":{"get":{"operationId":"deliverability","summary":"Email deliverability check: SPF, DKIM, DMARC and MX record audit for a sending domain","description":"Email deliverability check: SPF, DKIM, DMARC and MX record audit for a sending domain. Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","description":"Domain to audit","example":"openai.com"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string"},"spf":{"type":"object"},"dmarc":{"type":"object"},"dkim":{"type":"object"},"checks":{"type":"object"},"verdict":{"type":"string"}},"required":["domain","spf","dmarc","dkim","checks","verdict"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/grade":{"get":{"operationId":"cold-email","summary":"Cold email grader: score an email 0-100 with concrete fixes (subject line, body, spam risk)","description":"Cold email grader: score an email 0-100 with concrete fixes (subject line, body, spam risk). Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"subject","in":"query","required":false,"schema":{"type":"string","description":"Email subject line to grade"}},{"name":"body","in":"query","required":false,"schema":{"type":"string","description":"Plain-text email body to grade"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"score":{"type":"integer"},"grade":{"type":"string"},"checks":{"type":"array","items":{"type":"object"}}},"required":["score","grade","checks"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/template":{"get":{"operationId":"cold-email-generator","summary":"Cold email generator: personalized outreach email from proven templates (founder, agency, freelance)","description":"Cold email generator: personalized outreach email from proven templates (founder, agency, freelance). Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"persona","in":"query","required":false,"schema":{"type":"string","description":"founder | agency | freelancer"}},{"name":"offer","in":"query","required":false,"schema":{"type":"string","description":"What you are offering"}},{"name":"name","in":"query","required":false,"schema":{"type":"string","description":"Recipient name for personalization"}},{"name":"company","in":"query","required":false,"schema":{"type":"string","description":"Recipient company for personalization"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"persona":{"type":"string"},"subject":{"type":"string"},"body":{"type":"string"},"cadence_tips":{"type":"array","items":{"type":"string"}}},"required":["persona","subject","body","cadence_tips"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/hash":{"get":{"operationId":"hash","summary":"Hash a string: sha256, sha512, sha1, md5, CRC32, base64 checksum - crypto hash API for UTF-8 text","description":"Hash a string: sha256, sha512, sha1, md5, CRC32, base64 checksum - crypto hash API for UTF-8 text. Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.000500"},"protocols":[{"x402":{}}]},"parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","description":"UTF-8 text to hash"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"length":{"type":"integer"},"byte_length":{"type":"integer"},"sha256":{"type":"string"},"sha384":{"type":"string"},"sha512":{"type":"string"},"hex":{"type":"string"},"base64":{"type":"string"},"base64url":{"type":"string"},"crc32":{"type":"string"}},"required":["length","byte_length","sha256","sha384","sha512","hex","base64","base64url","crc32"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/jwt-decode":{"get":{"operationId":"jwt-decode","summary":"JWT decoder: decode a JSON web token header and payload, with safety flags (never verifies the signature)","description":"JWT decoder: decode a JSON web token header and payload, with safety flags (never verifies the signature). Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"token","in":"query","required":true,"schema":{"type":"string","description":"JWT to decode"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"header":{"type":"object"},"payload":{"type":"object"},"signature":{"type":"object"},"alg":{"type":"string"},"flags":{"type":"object"}},"required":["header","payload","signature","alg","flags"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/uuid":{"get":{"operationId":"uuid","summary":"UUID generator: batch unique ids - UUIDv4, UUIDv7, ULID or nanoid - random ID API","description":"UUID generator: batch unique ids - UUIDv4, UUIDv7, ULID or nanoid - random ID API. Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.000500"},"protocols":[{"x402":{}}]},"parameters":[{"name":"count","in":"query","required":false,"schema":{"type":"integer","description":"How many IDs, 1-100 (default 1)"}},{"name":"version","in":"query","required":false,"schema":{"type":"string","description":"v4 | v7 | ulid | nanoid (default v4)"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"version":{"type":"string"},"count":{"type":"integer"},"ids":{"type":"array","items":{"type":"string"}}},"required":["version","count","ids"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/slug":{"get":{"operationId":"slug","summary":"Slug generator: url-safe slug from unicode text, latin and Cyrillic transliteration","description":"Slug generator: url-safe slug from unicode text, latin and Cyrillic transliteration. Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string","description":"Text to slugify"}},{"name":"maxlength","in":"query","required":false,"schema":{"type":"integer","description":"Max slug length 1-500 (default 60)"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"slug":{"type":"string"},"length":{"type":"integer"},"maxlength":{"type":"integer"},"slug_truncated":{"type":"string"},"warnings":{"type":"array","items":{"type":"string"}}},"required":["slug","length","maxlength","warnings"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/json":{"get":{"operationId":"json","summary":"JSON tools: flatten JSON to dot paths, or convert JSON rows to CSV online","description":"JSON tools: flatten JSON to dot paths, or convert JSON rows to CSV online. Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"data","in":"query","required":true,"schema":{"type":"string","description":"JSON string (urlencoded)"}},{"name":"mode","in":"query","required":false,"schema":{"type":"string","description":"flatten | csv (default flatten)"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"mode":{"type":"string"},"csv":{"type":"string"},"columns":{"type":"array","items":{"type":"string"}},"rows":{"type":"integer"},"leaf_count":{"type":"integer"},"flattened":{"type":"object"}},"required":["mode"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/regex":{"get":{"operationId":"regex","summary":"Regex tester: test a regular expression - matches, groups, count and backtracking risk check","description":"Regex tester: test a regular expression - matches, groups, count and backtracking risk check. Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"pattern","in":"query","required":true,"schema":{"type":"string","description":"Regular expression"}},{"name":"text","in":"query","required":true,"schema":{"type":"string","description":"Text to search"}},{"name":"flags","in":"query","required":false,"schema":{"type":"string","description":"Regex flags (subset of dgimsuy)"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pattern":{"type":"string"},"count":{"type":"integer"},"matches":{"type":"array","items":{"type":"object"}},"backtracking_risk":{"type":"object"}},"required":["pattern","count","matches","backtracking_risk"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/crypto-price":{"get":{"operationId":"crypto-price","summary":"Crypto price API: BTC and ETH spot price from Coinbase with buy, sell and spread percent","description":"Crypto price API: BTC and ETH spot price from Coinbase with buy, sell and spread percent. Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.002000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"from","in":"query","required":true,"schema":{"type":"string","description":"Base asset code, e.g. BTC"}},{"name":"to","in":"query","required":true,"schema":{"type":"string","description":"Quote asset code, e.g. USD"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"pair":{"type":"string"},"spot":{"type":"number"},"buy":{"type":"number"},"sell":{"type":"number"},"spread_pct":{"type":"number"}},"required":["pair","spot","buy","sell","spread_pct"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/domain-age":{"get":{"operationId":"domain-age","summary":"Domain age checker: registration date, age in days and registrar via RDAP lookup","description":"Domain age checker: registration date, age in days and registrar via RDAP lookup. Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.003000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"domain","in":"query","required":true,"schema":{"type":"string","description":"Domain to look up"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"domain":{"type":"string"},"verdict":{"type":"string"},"registration_date":{"type":"string"},"age_days":{"type":"integer"},"registrar":{"type":"string"},"registrar_url":{"type":"string"}},"required":["domain","verdict"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/tools/weather":{"get":{"operationId":"weather","summary":"Weather API: current weather and next 3 hours temperature by lat, lon (open-meteo)","description":"Weather API: current weather and next 3 hours temperature by lat, lon (open-meteo). Paid via x402 (USDC on Base mainnet).","tags":["Tools"],"x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.001000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"lat","in":"query","required":true,"schema":{"type":"number","description":"Latitude -90..90"}},{"name":"lon","in":"query","required":true,"schema":{"type":"number","description":"Longitude -180..180"}}],"responses":{"200":{"description":"Result","content":{"application/json":{"schema":{"type":"object","properties":{"current":{"type":"object"},"next_3h":{"type":"array","items":{"type":"object"}},"weather_code_map":{"type":"object"}},"required":["current","next_3h","weather_code_map"]}}}},"400":{"description":"Bad request"},"402":{"description":"Payment Required"}}}},"/preview/*":{"get":{"summary":"Free preview of ANY paid tool: truncated output from the same handler (GET /preview/<paid-path>, e.g. /preview/tools/hash?text=hi)","tags":["Free"],"security":[],"parameters":[{"name":"route","in":"path","required":true,"schema":{"type":"string","example":"tools/hash"}}],"responses":{"200":{"description":"Truncated preview (preview:true, paid_unlocks)"},"404":{"description":"Unknown route"}}}},"/score-preview":{"get":{"summary":"Free subject-line-only preview of the grader","tags":["Free"],"security":[],"parameters":[{"name":"subject","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Preview score","content":{"application/json":{"schema":{"type":"object","properties":{"score":{"type":"integer"},"issues":{"type":"array","items":{"type":"string"}},"note":{"type":"string"}},"required":["score","issues","note"]}}}}}}},"/hash-preview":{"get":{"summary":"Free hash preview (sha256 + crc32, first 1000 chars)","tags":["Free"],"security":[],"parameters":[{"name":"text","in":"query","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Preview hashes","content":{"application/json":{"schema":{"type":"object","properties":{"preview":{"type":"boolean"},"limit":{"type":"integer"},"truncated":{"type":"boolean"},"length":{"type":"integer"},"sha256":{"type":"string"},"crc32":{"type":"string"},"note":{"type":"string"}},"required":["preview","limit","truncated","length","sha256","crc32","note"]}}}}}}},"/health":{"get":{"summary":"Liveness check","tags":["Meta"],"security":[],"responses":{"200":{"description":"ok"}}}}}}