{"openapi":"3.0.3","info":{"title":"Probe API","version":"1.0.0","description":"Open source form builder. Type-safe tRPC API. Self-hosted."},"servers":[{"url":"https://probe.riftfi.com"}],"paths":{"/health":{"get":{"summary":"Service health probe.","responses":{"200":{"description":"OK"}}}},"/trpc/public.getForm":{"get":{"summary":"Fetch a published form by slug for the public renderer.","parameters":[{"name":"input","in":"query","required":true,"schema":{"type":"string"},"description":"JSON-encoded tRPC input, e.g. {\"slug\":\"my-form-abc123\"}"}],"responses":{"200":{"description":"OK"},"404":{"description":"Not found"}}}},"/trpc/public.listPublicForms":{"get":{"summary":"Paginated list of public + published forms (explore page)."}},"/trpc/public.submitResponse":{"post":{"summary":"Submit a response to a published form. Rate-limited per IP/form.","responses":{"200":{"description":"OK"},"429":{"description":"Too many requests"}}}},"/submit":{"post":{"summary":"Endpoint-form submission. Public, cross-origin, layered abuse mitigations (honeypot, captcha, origin allowlist, rate limit).","responses":{"200":{"description":"Submission received"},"303":{"description":"Redirect when `redirect` provided + allowed"},"401":{"description":"Invalid access key"},"403":{"description":"Origin not allowed or recipient unverified"},"413":{"description":"Payload too large"},"422":{"description":"Spam rejected"},"429":{"description":"Rate limited"}}}},"/api/auth/sign-in/email":{"post":{"summary":"Email/password sign-in (Better Auth)."}},"/api/auth/sign-up/email":{"post":{"summary":"Email/password registration (Better Auth)."}}}}