API & Webhooks - FAQs
Does thanks.io have an API?
Yes. thanks.io provides a REST API (v2) for sending mailers, managing mailing lists and recipients, handling orders, configuring webhooks, and more. The full OpenAPI spec is at docs.thanks.io.
How do I authenticate API requests?
Personal access token (single-account scripts) or OAuth 2.0 (multi-tenant applications). Both use a Bearer token in the Authorization header.
Is there a sandbox?
Yes. API Testing Mode lets you submit orders without generating real mail or charges. Enable it in Account Settings → API Access tab, under API Settings → Test Mode. Turn it off before going live.
Make sure API Testing Mode is off before you want to send real mail.
What webhook events are available?
Order Status Change, Order Item Status Change, Order Item Delivered, and QR Code Scans.
Are webhooks guaranteed?
Webhooks are delivered at-least-once. Make your webhook consumer idempotent (safe to process the same event more than once) and deduplicate on event ID.
How do I test my webhooks?
Use the Test button in the dashboard webhook configuration screen, or use a tool like webhook.site to inspect payloads.
What is the thanks.io MCP server?
The thanks.io documentation MCP server at https://docs.thanks.io/mcp provides LLM-friendly access to the API documentation for AI assistants and developer tools that support the Model Context Protocol.