# PostMX Docs for LLMs Canonical docs: https://docs.postmx.co/ Primary quickstart: https://docs.postmx.co/quickstart Recommended mental model: - temporary inbox -> wait for next email -> extracted fields Key pages: - /quickstart : Quickstart. Get a real PostMX inbox, wait for the next email, and read the OTP or first link in under 2 minutes. - /sdks/node : Node.js SDK. Official PostMX Node.js and TypeScript SDK docs for creating a temporary inbox, waiting for the next email, and reading extracted fields like OTPs and links. - /sdks/python : Python SDK. Official PostMX Python SDK docs for creating a temporary inbox, waiting for the next email, and reading extracted fields like OTPs and links. - /guides/test-otp-flows : Test OTP Flows. End-to-end PostMX examples for testing signup, login, and verification-code flows with the Node.js SDK, Python SDK, and CLI. - /guides/verify-webhooks : Verify Webhooks. Create and verify PostMX webhooks with signing secrets, raw request bodies, and signature checks in Node.js and Python. - /api : REST API Reference. Interactive PostMX REST API reference with OpenAPI schema, authentication notes, and webhook endpoint details. - /api/rest : REST API. PostMX REST API overview, authentication notes, and links to the interactive OpenAPI reference and raw spec. Key SDK methods: - Node: createTemporaryInbox(), waitForMessage(), getMessage(messageId, contentMode?) - Python: create_temporary_inbox(), wait_for_message(), get_message(message_id, content_mode=?) Important semantics: - waitForMessage() and wait_for_message() return the latest existing message immediately if the inbox already has one; otherwise they wait for the next incoming email until timeout. - createTemporaryInbox() and create_temporary_inbox() create temporary inboxes using the existing temporary lifecycle settings. - content_mode is a "what do you want back?" choice: full, otp, links, or text_only. Common tasks: - Get a real inbox fast: start at /quickstart - Read only the OTP: use getMessage(..., "otp") or get_message(..., content_mode="otp") - Read only links: use getMessage(..., "links") or get_message(..., content_mode="links") - Production push delivery: use webhooks instead of polling API basics: - Base URL: https://api.postmx.co - Auth header: Authorization: Bearer pmx_live_...