API Documentation

Communication to and from our API is done through HTTP(S) GET and POST queries.

Caution: This documentation refers to a deprecated version of the Mailjet API.

For the last version, please check the API v3 documentation.

Mailjet Web API

Communication to and from our API is done through HTTP(S) GET and POST queries. We support different formats to choose from depending on your affinities : JSON, XML, serialized PHP, and CSV for some export functions. You can access our API from almost any programming language, and in just a few minutes with our plug and play libraries.



v0.1 Public Api class (.php)
v0.1 Event Api class (.php)


1. Edit your Api Keys in the Mailjet's API Class.
2. Make a quick call to confirm that everything's fine!

// Include Mailjet's API Class
// Create a new Object
$mj = new Mailjet();
// Get some of your account informations
$me = $mj->userInfos();
// Display your firstname
echo $me->infos->firstname;


The can send or get data via our API functions via two types of requests: GET and POST. Each request made match a method of the API on our servers.
To make the best use of the public API (the one you may have downloaded and installed on your own server), you should understand the difference between GET and POST methods, in which cases and how to use them.

Our public API has been developed to help you formatting queries and interpreting the results (or errors) with the least effort possible.
Still, this documentation will be even more necessary if you want to use your own scripts.

GET Requests

Data recovery is done via GET requests. This means you can specify all the information and options directly into the url.
Your need to specify the method and the function and if needed options necessary for your request.
The URL looks like this :


For example, if your want to get the statistics of your message with the ID 123, The final built URL must be :


POST Requests

Inserting, updating, or deleting data works via the POST methods. These more sensitive methods require authentication via HTTP_AUTH.
POST requests work much like the GET request, the only difference being that the variables passed as parameters must be submitted via a POST request, and will not be visible in the url.

Status code

500 Internal Server Error
Description: Status returned when an unknow error occurs
200 OK
Description: All gone well. Congrats!
201 Created
Description: A new insertion was done.
204 No Content
Description: No content found or expected to return.
304 Not Modified
Description: Nothing was modified.
400 Bad Request
Description: One or more arguments are missing or maybe mispelling.
401 Unauthorized
Description: You have specified an incorrect ApiKey or username/password couple
404 Not Found
Description: The method your are trying to reach don't exists.
405 Method Not Allowed
Description: You made a POST request instead of GET, or the reverse.