{"openapi":"3.1.0","info":{"title":"Scribe API","version":"1.0.0","description":"Lookups and conversions for AI agents, paid per request via x402 (requirements arrive in the PAYMENT-REQUIRED header AND the 402 JSON body). Every product is synchronous and stateless. Full reference: https://scribe.vimabrosta.com/llms-full.txt","x-guidance":"Scribe answers four questions an agent asks in loops. GET /v1/domain?name= ($0.005) for a domain's registration, DNS, TLS certificate, and HTTP front door; POST /v1/translate ($0.01) for a translation with the source detected; POST /v1/convert ($0.01) to read a page or a PDF as Markdown or text; POST /v1/render ($0.02) for a PDF or PNG of a page. Every paid route answers HTTP 402 with exact requirements; pay (USDC on Base or Solana) and retry the identical request; the answer is in that response, nothing to poll. POST /v1/validate is free and tells you whether a request would run before you pay.","contact":{"email":"contact@vimabrosta.com"}},"servers":[{"url":"https://scribe.vimabrosta.com"}],"paths":{"/v1/validate":{"post":{"summary":"Free pre-flight: would this request run (schema, URL policy)","security":[],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"product":{"enum":["domain","translate","convert","render"]},"request":{"type":"object"}},"required":["product","request"]},"example":{"product":"convert","request":{"from":"url","to":"markdown","input":"https://example.com/"}}}}},"responses":{"200":{"description":"offered, valid, problems; nothing runs, nothing charged"},"429":{"description":"rate limited (30/min/IP)"}}}},"/v1/domain":{"get":{"summary":"Domain intelligence: registration, DNS, TLS certificate, HTTP front door ($0.005)","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]},"parameters":[{"name":"name","in":"query","required":false,"schema":{"type":"string"},"description":"A hostname or a URL. Defaults to example.com when absent, and the response says so."}],"responses":{"200":{"description":"the answer, with a receipt and a resume_hint","content":{"application/json":{"schema":{"type":"object"},"example":{"name":"example.com","registration":{"registrar":"...","created":"...","expires":"...","status":["..."],"nameservers":["..."]},"dns":{"a":["..."],"mx":[],"ns":["..."],"txt":["..."]},"tls":{"issuer":"...","valid_to":"...","days_left":60},"http":{"status":200,"server":"..."},"receipt":{"product":"domain","price":"$0.005"}}}}},"402":{"description":"Payment Required ($0.005, x402). Requirements in the PAYMENT-REQUIRED header and the JSON body; retry with PAYMENT-SIGNATURE."},"422":{"description":"invalid request, URL policy, or unreachable target (not charged)"}}},"post":{"summary":"Domain intelligence: registration, DNS, TLS certificate, HTTP front door ($0.005)","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.005000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"A hostname, or a URL whose host is used."}}},"example":{"name":"example.com"}}}},"responses":{"200":{"description":"the answer, with a receipt and a resume_hint","content":{"application/json":{"schema":{"type":"object"},"example":{"name":"example.com","registration":{"registrar":"...","created":"...","expires":"...","status":["..."],"nameservers":["..."]},"dns":{"a":["..."],"mx":[],"ns":["..."],"txt":["..."]},"tls":{"issuer":"...","valid_to":"...","days_left":60},"http":{"status":200,"server":"..."},"receipt":{"product":"domain","price":"$0.005"}}}}},"402":{"description":"Payment Required ($0.005, x402). Requirements in the PAYMENT-REQUIRED header and the JSON body; retry with PAYMENT-SIGNATURE."},"422":{"description":"invalid request, URL policy, or unreachable target (not charged)"}}}},"/v1/translate":{"post":{"summary":"Translate text into a target language, source detected ($0.01)","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["text","target"],"properties":{"text":{"type":"string","maxLength":2000},"target":{"type":"string","description":"ISO 639-1 code (es, ja, de) or a language name."},"source":{"type":"string","description":"Optional; detected when omitted."}}},"example":{"text":"The shipment left the warehouse this morning and arrives Thursday.","target":"es"}}}},"responses":{"200":{"description":"the answer, with a receipt and a resume_hint","content":{"application/json":{"schema":{"type":"object"},"example":{"translation":"El envío salió del almacén esta mañana y llega el jueves.","source_language":"en","target_language":"es","characters":66,"receipt":{"product":"translate","price":"$0.01"}}}}},"402":{"description":"Payment Required ($0.01, x402). Requirements in the PAYMENT-REQUIRED header and the JSON body; retry with PAYMENT-SIGNATURE."},"422":{"description":"invalid request, URL policy, or unreachable target (not charged)"},"502":{"description":"provider_unavailable (not charged)"}}}},"/v1/convert":{"post":{"summary":"Convert HTML, Markdown, a URL, or a PDF into Markdown, HTML, or text ($0.01)","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.010000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["from","to","input"],"properties":{"from":{"type":"string","enum":["html","markdown","url","pdf"]},"to":{"type":"string","enum":["markdown","html","text"]},"input":{"type":"string","description":"The HTML or Markdown source, a public URL, or a PDF as base64 or a public URL."}}},"example":{"from":"url","to":"markdown","input":"https://example.com/"}}}},"responses":{"200":{"description":"the answer, with a receipt and a resume_hint","content":{"application/json":{"schema":{"type":"object"},"example":{"from":"url","to":"markdown","title":"Example Domain","output":"# Example Domain\n\nThis domain is for use in illustrative examples...","characters":180,"receipt":{"product":"convert","price":"$0.01"}}}}},"402":{"description":"Payment Required ($0.01, x402). Requirements in the PAYMENT-REQUIRED header and the JSON body; retry with PAYMENT-SIGNATURE."},"422":{"description":"invalid request, URL policy, or unreachable target (not charged)"}}}},"/v1/render":{"post":{"summary":"Render a URL or HTML into a PDF or a PNG ($0.02)","x-payment-info":{"price":{"mode":"fixed","currency":"USD","amount":"0.020000"},"protocols":[{"x402":{}}]},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["from","to","input"],"properties":{"from":{"type":"string","enum":["url","html"]},"to":{"type":"string","enum":["pdf","png"]},"input":{"type":"string","description":"A public URL, or your own HTML (256KB max)."},"full_page":{"type":"boolean","default":true},"viewport_width":{"type":"integer","default":1280},"viewport_height":{"type":"integer","default":800},"format":{"type":"string","enum":["binary","base64"],"default":"binary","description":"binary returns the file itself; base64 returns JSON."}}},"example":{"from":"url","to":"pdf","input":"https://example.com/"}}}},"responses":{"200":{"description":"the rendered file (application/pdf or image/png), or JSON with base64 when format is base64","content":{"application/pdf":{"schema":{"type":"string","format":"binary"}},"image/png":{"schema":{"type":"string","format":"binary"}},"application/json":{"schema":{"type":"object"},"example":{"content_type":"application/pdf","bytes":48213,"base64":"JVBERi0xLjQK...","receipt":{"product":"render","price":"$0.02"}}}}},"402":{"description":"Payment Required ($0.02, x402). Requirements in the PAYMENT-REQUIRED header and the JSON body; retry with PAYMENT-SIGNATURE."},"422":{"description":"invalid request, URL policy, or unreachable target (not charged)"},"502":{"description":"provider_unavailable (not charged)"}}}},"/v1/quote":{"get":{"summary":"Machine-readable pricing and limits (free)","security":[],"responses":{"200":{"description":"products, prices, limits, notes"}}}},"/healthz":{"get":{"summary":"Service health","security":[],"responses":{"200":{"description":"ok"}}}}}}