{"templateId":"markdown","sharedDataIds":{"sidebar":"sidebar-docs/email-api/sidebars.yaml"},"props":{"metadata":{"markdoc":{"tagList":[]},"type":"markdown"},"seo":{"title":"Overview","siteUrl":"https://dev.mailjet.com/","projectTitle":"Mailjet Developer Documentation","description":"Receive real-time HTTP POST event notifications via Mailjet Event API. Configure /eventcallbackurl with a backup URL and HTTPS for opens, clicks, and bounces.","image":"https://dev.mailjet.com/og-image.png","lang":"en-US","keywords":["Mailjet API","Email API","Content API","SMTP Relay","transactional email","email delivery","Send API","email templates","developer documentation"],"meta":[{"name":"og:type","content":"website"},{"name":"og:site_name","content":"Mailjet Developer Documentation"},{"name":"twitter:card","content":"summary_large_image"},{"name":"robots","content":"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1"},{"name":"googlebot","content":"index, follow, max-snippet:-1, max-image-preview:large"}],"jsonLd":{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://dev.mailjet.com/#organization","name":"Mailjet","alternateName":"Sinch Mailjet","url":"https://www.mailjet.com","logo":"https://assets.mailjet.com/lib/images/mailjetLogo/mj_logo_with_text_color.png","parentOrganization":{"@type":"Organization","name":"Sinch","url":"https://www.sinch.com"}},{"@type":"WebSite","@id":"https://dev.mailjet.com/#website","name":"Mailjet Developer Documentation","description":"Official developer documentation for the Mailjet Email API, Content API and SMTP Relay.","url":"https://dev.mailjet.com/","inLanguage":"en-US","publisher":{"@id":"https://dev.mailjet.com/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://dev.mailjet.com/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]},"llmstxt":{"hide":false,"title":"Mailjet Developer Documentation","description":"Developer documentation for the Mailjet Email API, Content API and SMTP Relay - guides, API references and code samples for sending, templating and tracking email at scale.","details":{"content":"Mailjet (part of Sinch) provides APIs for sending and managing email.\n\nThis documentation covers four main areas:\n\n- **Email API** - the Send API (v3 and v3.1) for transactional and marketing email,\n  plus contact management, segmentation, campaigns, statistics, webhooks, the Parse API\n  and the Mailjet Templating Language.\n- **Content API** - programmatic management of email templates, template contents,\n  images, labels and authentication tokens (v1).\n- **SMTP Relay** - sending through Mailjet's SMTP servers, including custom headers.\n- **API Reference** - the complete, generated reference for every endpoint, built directly\n  from the OpenAPI specifications.\n\nBase URL for all REST APIs: `https://api.mailjet.com`.\nAuthentication uses HTTP Basic auth with an API key and secret key.\n\n## Machine-readable entry points\n\nPrefer these when you need the API surface in as few requests as possible:\n\n- `/openapi/openapi-mailjet.md` - the **complete** Email API reference (every endpoint,\n  grouped by resource) as a single Markdown document.\n- `/openapi/openapi-passport.md` - the **complete** Content API reference as a single\n  Markdown document.\n- `/_bundle/openapi/openapi-mailjet.yaml` - the raw, fully bundled OpenAPI 3 description\n  of the Email API.\n- `/_bundle/openapi/openapi-passport.yaml` - the raw, fully bundled OpenAPI 3 description\n  of the Content API.\n- `/sitemap.xml` - every indexable URL on this site.\n\nEvery page on this site is also available as clean Markdown by appending `.md` to its URL."},"sections":[{"title":"Email API","description":"Sending, contacts, campaigns, statistics, webhooks and templating.","includeFiles":["docs/email-api/**/*.md"],"excludeFiles":[]},{"title":"Content API","description":"Manage templates, template contents, images, labels and tokens.","includeFiles":["docs/content-api/**/*.md","docs/content-api.md"],"excludeFiles":[]},{"title":"SMTP Relay","description":"Send email through Mailjet's SMTP servers.","includeFiles":["docs/smtp-relay/**/*.md"],"excludeFiles":[]},{"title":"API Reference","description":"Complete generated reference for every Mailjet API endpoint.","includeFiles":["openapi/openapi-mailjet.yaml","openapi/openapi-passport.yaml","docs/api-reference/**/*.md"],"excludeFiles":[]},{"title":"Migrating from Mandrill","description":"Guides for switching from Mandrill to Mailjet.","includeFiles":["docs/mandrill/**/*.md"],"excludeFiles":[]}],"excludeFiles":[]}},"dynamicMarkdocComponents":[],"compilationErrors":[],"ast":{"$$mdtype":"Tag","name":"article","attributes":{},"children":[{"$$mdtype":"Tag","name":"Heading","attributes":{"level":1,"id":"overview","__idx":0},"children":["Overview"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The Mailjet webhook resources allow you to receive real-time notification through HTTP requests on events linked to the messages you sent. This event notification works for both transactional and marketing emails. The supported events are open, click, bounce, spam, blocked, unsub and sent."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["This is a very efficient way to do specific actions on your side, like:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["logging the marketing messages sent to your customers"," ","generating your own statistics"," ","updating the unsubscribed contacts in a CRM system."," ","Instead of polling our API a few times a day, the Event API will push new data just as the events happen, almost instantly (\"don’t call me, I’ll call you if I have something new\")."]},{"$$mdtype":"Tag","name":"Heading","attributes":{"level":2,"id":"what-is-a-webhook-url","__idx":1},"children":["What is a webhook URL"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["A webhook URL is the HTTP address our server will call for each event as it occurs."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["You can use the API to set up a new webhook using the /eventcallbackurl resource. Alternatively, you can configure this in your account preferences, in the Event Tracking section."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["It must return a ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["200 OK"]}," HTTP code if all goes well. Any other HTTP code will result in our server retrying the request later. ",{"$$mdtype":"Tag","name":"b","attributes":{},"children":["Our system will retry every 30s and will stop after 24h, unless a new event is generated"]},"."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["The API also allows you to configure a backup endpoint URL with the property ",{"$$mdtype":"Tag","name":"code","attributes":{},"children":["isBackup"]}," - it will be used in case the primary URL is suspended. To reactivate a suspended endpoint URL, you need to update it with a new URL."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["To reactivate a suspended endpoint URL, you need to update the URL with a new URL."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":["We strongly recommend using a secure (HTTPS) URL in combination with a basic authentication to make sure data cannot be intercepted, and that only our servers can send you data:"]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://username:password@www.example.com/mailjet_triggers.php"]}," ","You can also specify a port in your webhook URL."]},{"$$mdtype":"Tag","name":"p","attributes":{},"children":[{"$$mdtype":"Tag","name":"code","attributes":{},"children":["https://www.example.com:123/mailjet_triggers.php"]}," ","The event data is sent in the POST request body using a JSON object. Its content depends on the event."]}]},"headings":[{"value":"Overview","id":"overview","depth":1},{"value":"What is a webhook URL","id":"what-is-a-webhook-url","depth":2}],"frontmatter":{"title":"Mailjet Send Webhooks","seo":{"description":"Receive real-time HTTP POST event notifications via Mailjet Event API. Configure /eventcallbackurl with a backup URL and HTTPS for opens, clicks, and bounces.","title":"Overview"}},"lastModified":"2026-08-26T10:53:57.000Z","pagePropGetterError":{"message":"","name":""}},"slug":"/docs/email-api/webhooks/webhooks-overview","userData":{"isAuthenticated":false,"teams":["anonymous"]},"isPublic":true}