> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://mailchimp.com/developer/transactional/api/rejects/list/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://mailchimp.com/_mcp/server. # List rejection blacklist entries POST https://mandrillapp.com/api/1.4/rejects/list Content-Type: application/json Retrieves your email rejection denylist. You can provide an email address to limit the results. Returns up to 1000 results. By default, entries that have expired are excluded from the results; set include_expired to true to include them. Reference: https://mailchimp.com/developer/transactional/api/rejects/list ## Request ### Body (application/json) This endpoint expects a RejectsListRequest. - `key` (string, required) — A valid Mandrill API key - `email` (string, optional) — An optional email address to search by - `include_expired` (boolean, optional) — Whether to include rejections that have already expired - `subaccount` (string, optional) — An optional unique identifier for the subaccount to limit the blacklist ## Response ### 200 Success - `list of RejectsListResponseItems` ## Errors ### 401 Unauthorized Error Invalid or missing API key. - `status` (string, required) — Status of the response, typically "error" - `code` (enum, required) — Numeric error code - Allowed values: `401` - `name` (enum, required) — Machine-friendly error name - Allowed values: `Invalid_Key` - `message` (string, required) — Human-readable error message ### 404 Not Found Error Unknown subaccount - `status` (string, required) — Status of the response, typically "error" - `code` (integer, required) — Numeric error code - `name` (string, required) — Machine-friendly error name - `message` (string, required) — Human-readable error message ### 429 Too Many Requests Error Request rate limit exceeded. Retry after a brief delay. - `status` (string, required) — Status of the response, typically "error" - `code` (enum, required) — Numeric error code - Allowed values: `429` - `name` (enum, required) — Machine-friendly error name - Allowed values: `RequestLimitExceeded` - `message` (string, required) — Human-readable error message ### 500 Internal Server Error An unexpected internal server error occurred. - `status` (string, required) — Status of the response, typically "error" - `code` (integer, required) — Numeric error code - `name` (string, required) — Machine-friendly error name - `message` (string, required) — Human-readable error message ## Types ### RejectsListResponseItems - `email` (string, required) — The email that is blocked - `reason` (enum, required) — The type of event that caused this rejection - Allowed values: `hard-bounce`, `soft-bounce`, `spam`, `unsub`, `custom` - `detail` (string, required, nullable) — Extended details about the event, such as the SMTP diagnostic for bounces or the comment for manually-created rejections, or null if none was recorded - `created_at` (string, required) — When the email was added to the blocklist - `last_event_at` (string, required) — The timestamp of the most recent event that either created or renewed this rejection - `expires_at` (string, required, nullable) — When the blocklist entry will expire (this may be in the past) - `expired` (boolean, required) — Whether the blocklist entry has expired - `sender` (RejectsListResponseItemsSender, optional, nullable) — The sender that this blocklist entry applies to, or null if none - `subaccount` (string, optional, nullable) — The subaccount that this denylist entry applies to, or null if none ### RejectsListResponseItemsSender The sender that this blocklist entry applies to, or null if none - `address` (string, optional) — The sender's email address - `created_at` (string, optional) — The date and time that the sender was first seen by Mandrill as a UTC date string in YYYY-MM-DD HH:MM:SS format - `sent` (integer, optional) — The total number of messages sent by this sender - `hard_bounces` (integer, optional) — The total number of hard bounces by messages by this sender - `soft_bounces` (integer, optional) — The total number of soft bounces by messages by this sender - `rejects` (integer, optional) — The total number of rejected messages by this sender - `complaints` (integer, optional) — The total number of spam complaints received for messages by this sender - `unsubs` (integer, optional) — The total number of unsubscribe requests received for messages by this sender ## Examples **Request** ```json { "key": "ONzNrsmbtNXoIKyfPmjnig", "email": "user@example.com", "include_expired": false, "subaccount": "cust-123" } ``` **Response** ```json [ { "email": "user1@example.com", "reason": "hard-bounce", "detail": "550 5.1.1 User unknown", "created_at": "2023-01-15 10:30:00", "last_event_at": "2023-01-15 10:30:00", "expires_at": "2023-02-15 10:30:00", "expired": false, "sender": null, "subaccount": null }, { "email": "user2@example.com", "reason": "spam", "detail": "Manually blocked due to spam complaints", "created_at": "2023-01-10 14:20:00", "last_event_at": "2023-01-10 14:20:00", "expires_at": "2023-02-10 14:20:00", "expired": false, "sender": { "address": "sender@example.com", "created_at": "2023-01-01 00:00:00", "sent": 100, "hard_bounces": 5, "soft_bounces": 2, "rejects": 7, "complaints": 1, "unsubs": 3 }, "subaccount": "subaccount-123" } ] ``` **SDK Code** ```python import requests url = "https://mandrillapp.com/api/1.4/rejects/list" payload = { "key": "ONzNrsmbtNXoIKyfPmjnig", "email": "user@example.com", "include_expired": False, "subaccount": "cust-123" } headers = {"Content-Type": "application/json"} response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript const url = 'https://mandrillapp.com/api/1.4/rejects/list'; const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"key":"ONzNrsmbtNXoIKyfPmjnig","email":"user@example.com","include_expired":false,"subaccount":"cust-123"}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://mandrillapp.com/api/1.4/rejects/list" payload := strings.NewReader("{\n \"key\": \"ONzNrsmbtNXoIKyfPmjnig\",\n \"email\": \"user@example.com\",\n \"include_expired\": false,\n \"subaccount\": \"cust-123\"\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://mandrillapp.com/api/1.4/rejects/list") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Content-Type"] = 'application/json' request.body = "{\n \"key\": \"ONzNrsmbtNXoIKyfPmjnig\",\n \"email\": \"user@example.com\",\n \"include_expired\": false,\n \"subaccount\": \"cust-123\"\n}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://mandrillapp.com/api/1.4/rejects/list") .header("Content-Type", "application/json") .body("{\n \"key\": \"ONzNrsmbtNXoIKyfPmjnig\",\n \"email\": \"user@example.com\",\n \"include_expired\": false,\n \"subaccount\": \"cust-123\"\n}") .asString(); ``` ```php request('POST', 'https://mandrillapp.com/api/1.4/rejects/list', [ 'body' => '{ "key": "ONzNrsmbtNXoIKyfPmjnig", "email": "user@example.com", "include_expired": false, "subaccount": "cust-123" }', 'headers' => [ 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://mandrillapp.com/api/1.4/rejects/list"); var request = new RestRequest(Method.POST); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"key\": \"ONzNrsmbtNXoIKyfPmjnig\",\n \"email\": \"user@example.com\",\n \"include_expired\": false,\n \"subaccount\": \"cust-123\"\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Content-Type": "application/json"] let parameters = [ "key": "ONzNrsmbtNXoIKyfPmjnig", "email": "user@example.com", "include_expired": false, "subaccount": "cust-123" ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://mandrillapp.com/api/1.4/rejects/list")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` > Find all the Mailchimp API documentation and tools developers need to send marketing and transactional emails.