Twilio SendGrid Statistics API
Twilio SendGrid Statistics APIv1.0.0
The Twilio SendGrid Statistics API allows you to retrieve the various statistics related to your email program. Tracking your emails is an important part of being a good sender and learning about how your users interact with your email. This includes everything from clicks and opens to looking at which browsers and mailbox providers your customers use. SendGrid has broken up statistics in specific ways so that you can get at-a-glance data, as well as the details of how your email is being used. Category statistics are available for the previous thirteen months only. See Statistics Overview…
- Endpoints
- 10 (10 GET)
- Base URL
https://api.sendgrid.com- Authentication
- Bearer token
- Spec format
- OpenAPI 3.1.0
- API version
- 1.0.0
- Source
- github.com/jentic/jentic-public-apis ★ 199
- Provider
- jentic
- License
- MIT
- Categories
- Developer Tools, Analytics, AI & ML, Documentation, Communication, Education
- Last updated
Use this API in Bruno:
- Download the Bruno collection above and unzip it.
- In Bruno, choose Open Collection and select the unzipped folder.
- Set the
baseUrlvariable (for examplehttps://api.sendgrid.com) and your Bearer token credentials, then send requests.
GET
Retrieve Email Statistics for Categories
{{baseUrl}}/v3/categories/stats
QUERY PARAMS
start_date
categories
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/categories/stats?start_date=&categories=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/categories/stats" {:query-params {:start_date ""
:categories ""}})
require "http/client"
url = "{{baseUrl}}/v3/categories/stats?start_date=&categories="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/categories/stats?start_date=&categories="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/categories/stats?start_date=&categories=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/categories/stats?start_date=&categories="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/categories/stats?start_date=&categories= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/categories/stats?start_date=&categories=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/categories/stats?start_date=&categories="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/categories/stats?start_date=&categories=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/categories/stats?start_date=&categories=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/categories/stats?start_date=&categories=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/categories/stats',
params: {start_date: '', categories: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/categories/stats?start_date=&categories=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/categories/stats?start_date=&categories=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/categories/stats?start_date=&categories=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/categories/stats?start_date=&categories=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/categories/stats',
qs: {start_date: '', categories: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/categories/stats');
req.query({
start_date: '',
categories: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/categories/stats',
params: {start_date: '', categories: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/categories/stats?start_date=&categories=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/categories/stats?start_date=&categories="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/categories/stats?start_date=&categories=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/categories/stats?start_date=&categories=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/categories/stats?start_date=&categories=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/categories/stats');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => '',
'categories' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/categories/stats');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => '',
'categories' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/categories/stats?start_date=&categories=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/categories/stats?start_date=&categories=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/categories/stats?start_date=&categories=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/categories/stats"
querystring = {"start_date":"","categories":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/categories/stats"
queryString <- list(
start_date = "",
categories = ""
)
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/categories/stats?start_date=&categories=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/categories/stats') do |req|
req.params['start_date'] = ''
req.params['categories'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/categories/stats";
let querystring = [
("start_date", ""),
("categories", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/categories/stats?start_date=&categories='
http GET '{{baseUrl}}/v3/categories/stats?start_date=&categories='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/categories/stats?start_date=&categories='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/categories/stats?start_date=&categories=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"date": "2015-10-01",
"stats": [
{
"type": "category",
"name": "docs",
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
},
{
"type": "category",
"name": "mattscategory",
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
},
{
"date": "2015-11-01",
"stats": [
{
"type": "category",
"name": "docs",
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
},
{
"type": "category",
"name": "mattscategory",
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
}
]
GET
Retrieve all categories
{{baseUrl}}/v3/categories
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/categories");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/categories")
require "http/client"
url = "{{baseUrl}}/v3/categories"
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/categories"),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/categories");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/categories"
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/categories HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/categories")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/categories"))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/categories")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/categories")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/categories');
xhr.send(data);
import axios from 'axios';
const options = {method: 'GET', url: '{{baseUrl}}/v3/categories'};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/categories';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/categories',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/categories")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/categories',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {method: 'GET', url: '{{baseUrl}}/v3/categories'};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/categories');
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {method: 'GET', url: '{{baseUrl}}/v3/categories'};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/categories';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/categories"]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/categories" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/categories",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/categories');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/categories');
$request->setMethod(HTTP_METH_GET);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/categories');
$request->setRequestMethod('GET');
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/categories' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/categories' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/categories")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/categories"
response = requests.get(url)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/categories"
response <- VERB("GET", url, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/categories")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/categories') do |req|
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/categories";
let client = reqwest::Client::new();
let response = client.get(url)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url {{baseUrl}}/v3/categories
http GET {{baseUrl}}/v3/categories
wget --quiet \
--method GET \
--output-document \
- {{baseUrl}}/v3/categories
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/categories")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"category": "category 1"
},
{
"category": "category 2"
}
]
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
{
"errors": [
{
"field": "sort_by",
"message": "invalid sort value"
}
]
}
GET
Retrieve sums of email stats for each category.
{{baseUrl}}/v3/categories/stats/sums
QUERY PARAMS
start_date
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/categories/stats/sums?start_date=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/categories/stats/sums" {:query-params {:start_date ""}})
require "http/client"
url = "{{baseUrl}}/v3/categories/stats/sums?start_date="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/categories/stats/sums?start_date="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/categories/stats/sums?start_date=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/categories/stats/sums?start_date="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/categories/stats/sums?start_date= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/categories/stats/sums?start_date=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/categories/stats/sums?start_date="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/categories/stats/sums?start_date=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/categories/stats/sums?start_date=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/categories/stats/sums?start_date=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/categories/stats/sums',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/categories/stats/sums?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/categories/stats/sums?start_date=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/categories/stats/sums?start_date=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/categories/stats/sums?start_date=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/categories/stats/sums',
qs: {start_date: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/categories/stats/sums');
req.query({
start_date: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/categories/stats/sums',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/categories/stats/sums?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/categories/stats/sums?start_date="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/categories/stats/sums?start_date=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/categories/stats/sums?start_date=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/categories/stats/sums?start_date=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/categories/stats/sums');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/categories/stats/sums');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/categories/stats/sums?start_date=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/categories/stats/sums?start_date=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/categories/stats/sums?start_date=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/categories/stats/sums"
querystring = {"start_date":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/categories/stats/sums"
queryString <- list(start_date = "")
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/categories/stats/sums?start_date=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/categories/stats/sums') do |req|
req.params['start_date'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/categories/stats/sums";
let querystring = [
("start_date", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/categories/stats/sums?start_date='
http GET '{{baseUrl}}/v3/categories/stats/sums?start_date='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/categories/stats/sums?start_date='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/categories/stats/sums?start_date=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
{
"date": "2015-01-01",
"stats": [
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 20,
"deferred": 0,
"delivered": 20,
"invalid_emails": 0,
"opens": 20,
"processed": 0,
"requests": 20,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 20,
"unique_opens": 20,
"unsubscribe_drops": 0,
"unsubscribes": 20
},
"name": "cat1",
"type": "category"
},
{
"metrics": {
"blocks": 1,
"bounce_drops": 0,
"bounces": 0,
"clicks": 19,
"deferred": 0,
"delivered": 19,
"invalid_emails": 0,
"opens": 19,
"processed": 0,
"requests": 20,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 19,
"unique_opens": 19,
"unsubscribe_drops": 0,
"unsubscribes": 19
},
"name": "cat2",
"type": "category"
},
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 5,
"deferred": 0,
"delivered": 5,
"invalid_emails": 0,
"opens": 5,
"processed": 0,
"requests": 5,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 5,
"unique_opens": 5,
"unsubscribe_drops": 0,
"unsubscribes": 5
},
"name": "cat3",
"type": "category"
},
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 6,
"deferred": 0,
"delivered": 5,
"invalid_emails": 0,
"opens": 6,
"processed": 0,
"requests": 5,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 5,
"unique_opens": 5,
"unsubscribe_drops": 0,
"unsubscribes": 6
},
"name": "cat4",
"type": "category"
},
{
"metrics": {
"blocks": 10,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 10,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
},
"name": "cat5",
"type": "category"
}
]
}
GET
Retrieve email statistics by browser.
{{baseUrl}}/v3/browsers/stats
QUERY PARAMS
start_date
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/browsers/stats?start_date=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/browsers/stats" {:query-params {:start_date ""}})
require "http/client"
url = "{{baseUrl}}/v3/browsers/stats?start_date="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/browsers/stats?start_date="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/browsers/stats?start_date=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/browsers/stats?start_date="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/browsers/stats?start_date= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/browsers/stats?start_date=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/browsers/stats?start_date="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/browsers/stats?start_date=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/browsers/stats?start_date=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/browsers/stats?start_date=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/browsers/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/browsers/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/browsers/stats?start_date=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/browsers/stats?start_date=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/browsers/stats?start_date=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/browsers/stats',
qs: {start_date: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/browsers/stats');
req.query({
start_date: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/browsers/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/browsers/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/browsers/stats?start_date="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/browsers/stats?start_date=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/browsers/stats?start_date=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/browsers/stats?start_date=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/browsers/stats');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/browsers/stats');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/browsers/stats?start_date=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/browsers/stats?start_date=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/browsers/stats?start_date=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/browsers/stats"
querystring = {"start_date":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/browsers/stats"
queryString <- list(start_date = "")
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/browsers/stats?start_date=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/browsers/stats') do |req|
req.params['start_date'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/browsers/stats";
let querystring = [
("start_date", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/browsers/stats?start_date='
http GET '{{baseUrl}}/v3/browsers/stats?start_date='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/browsers/stats?start_date='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/browsers/stats?start_date=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"date": "2014-10-01",
"stats": [
{
"metrics": {
"clicks": 0,
"unique_clicks": 0
},
"name": "Chrome",
"type": "browser"
},
{
"metrics": {
"clicks": 1,
"unique_clicks": 1
},
"name": "Firefox",
"type": "browser"
}
]
},
{
"date": "2014-10-02",
"stats": [
{
"metrics": {
"clicks": 0,
"unique_clicks": 0
},
"name": "Chrome",
"type": "browser"
},
{
"metrics": {
"clicks": 1,
"unique_clicks": 1
},
"name": "Firefox",
"type": "browser"
}
]
}
]
GET
Retrieve email statistics by client type.
{{baseUrl}}/v3/clients/stats
QUERY PARAMS
start_date
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/clients/stats?start_date=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/clients/stats" {:query-params {:start_date ""}})
require "http/client"
url = "{{baseUrl}}/v3/clients/stats?start_date="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/clients/stats?start_date="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/clients/stats?start_date=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/clients/stats?start_date="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/clients/stats?start_date= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/clients/stats?start_date=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/clients/stats?start_date="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/clients/stats?start_date=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/clients/stats?start_date=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/clients/stats?start_date=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/clients/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/clients/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/clients/stats?start_date=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/clients/stats?start_date=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/clients/stats?start_date=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/clients/stats',
qs: {start_date: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/clients/stats');
req.query({
start_date: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/clients/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/clients/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/clients/stats?start_date="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/clients/stats?start_date=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/clients/stats?start_date=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/clients/stats?start_date=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/clients/stats');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/clients/stats');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/clients/stats?start_date=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/clients/stats?start_date=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/clients/stats?start_date=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/clients/stats"
querystring = {"start_date":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/clients/stats"
queryString <- list(start_date = "")
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/clients/stats?start_date=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/clients/stats') do |req|
req.params['start_date'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/clients/stats";
let querystring = [
("start_date", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/clients/stats?start_date='
http GET '{{baseUrl}}/v3/clients/stats?start_date='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/clients/stats?start_date='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/clients/stats?start_date=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"date": "2014-10-01",
"stats": [
{
"metrics": {
"opens": 1,
"unique_opens": 1
},
"name": "Gmail",
"type": "client"
}
]
},
{
"date": "2014-10-02",
"stats": [
{
"metrics": {
"opens": 0,
"unique_opens": 0
},
"name": "Gmail",
"type": "client"
}
]
}
]
GET
Retrieve email statistics by country and state-province.
{{baseUrl}}/v3/geo/stats
QUERY PARAMS
start_date
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/geo/stats?start_date=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/geo/stats" {:query-params {:start_date ""}})
require "http/client"
url = "{{baseUrl}}/v3/geo/stats?start_date="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/geo/stats?start_date="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/geo/stats?start_date=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/geo/stats?start_date="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/geo/stats?start_date= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/geo/stats?start_date=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/geo/stats?start_date="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/geo/stats?start_date=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/geo/stats?start_date=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/geo/stats?start_date=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/geo/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/geo/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/geo/stats?start_date=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/geo/stats?start_date=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/geo/stats?start_date=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/geo/stats',
qs: {start_date: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/geo/stats');
req.query({
start_date: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/geo/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/geo/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/geo/stats?start_date="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/geo/stats?start_date=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/geo/stats?start_date=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/geo/stats?start_date=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/geo/stats');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/geo/stats');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/geo/stats?start_date=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/geo/stats?start_date=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/geo/stats?start_date=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/geo/stats"
querystring = {"start_date":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/geo/stats"
queryString <- list(start_date = "")
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/geo/stats?start_date=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/geo/stats') do |req|
req.params['start_date'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/geo/stats";
let querystring = [
("start_date", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/geo/stats?start_date='
http GET '{{baseUrl}}/v3/geo/stats?start_date='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/geo/stats?start_date='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/geo/stats?start_date=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"date": "2015-10-11",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-12",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-13",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-14",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-15",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-16",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-17",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-18",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-19",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-20",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-21",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 1,
"unique_clicks": 0,
"unique_opens": 1
}
}
]
},
{
"date": "2015-10-22",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-23",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-24",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-25",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-26",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-27",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-28",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-29",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-30",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-31",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-01",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-02",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-03",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-04",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-05",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-06",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-07",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-08",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-09",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-10",
"stats": [
{
"type": "province",
"name": "TX",
"metrics": {
"clicks": 0,
"opens": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
}
]
GET
Retrieve email statistics by device type.
{{baseUrl}}/v3/devices/stats
QUERY PARAMS
start_date
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/devices/stats?start_date=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/devices/stats" {:query-params {:start_date ""}})
require "http/client"
url = "{{baseUrl}}/v3/devices/stats?start_date="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/devices/stats?start_date="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/devices/stats?start_date=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/devices/stats?start_date="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/devices/stats?start_date= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/devices/stats?start_date=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/devices/stats?start_date="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/devices/stats?start_date=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/devices/stats?start_date=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/devices/stats?start_date=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/devices/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/devices/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/devices/stats?start_date=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/devices/stats?start_date=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/devices/stats?start_date=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/devices/stats',
qs: {start_date: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/devices/stats');
req.query({
start_date: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/devices/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/devices/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/devices/stats?start_date="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/devices/stats?start_date=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/devices/stats?start_date=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/devices/stats?start_date=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/devices/stats');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/devices/stats');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/devices/stats?start_date=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/devices/stats?start_date=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/devices/stats?start_date=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/devices/stats"
querystring = {"start_date":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/devices/stats"
queryString <- list(start_date = "")
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/devices/stats?start_date=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/devices/stats') do |req|
req.params['start_date'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/devices/stats";
let querystring = [
("start_date", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/devices/stats?start_date='
http GET '{{baseUrl}}/v3/devices/stats?start_date='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/devices/stats?start_date='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/devices/stats?start_date=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"date": "2015-10-11",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-12",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-13",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-14",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-15",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-16",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-17",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-18",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-19",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-20",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-21",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 1,
"unique_opens": 1
}
}
]
},
{
"date": "2015-10-22",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-23",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-24",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-25",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-26",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 2,
"unique_opens": 2
}
}
]
},
{
"date": "2015-10-27",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-28",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-29",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-30",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-31",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-01",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-02",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-03",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-04",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-05",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-06",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-07",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-08",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-09",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-10",
"stats": [
{
"type": "device",
"name": "Webmail",
"metrics": {
"opens": 0,
"unique_opens": 0
}
}
]
}
]
GET
Retrieve email statistics by mailbox provider.
{{baseUrl}}/v3/mailbox_providers/stats
QUERY PARAMS
start_date
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/mailbox_providers/stats?start_date=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/mailbox_providers/stats" {:query-params {:start_date ""}})
require "http/client"
url = "{{baseUrl}}/v3/mailbox_providers/stats?start_date="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/mailbox_providers/stats?start_date="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/mailbox_providers/stats?start_date=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/mailbox_providers/stats?start_date="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/mailbox_providers/stats?start_date= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/mailbox_providers/stats?start_date=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/mailbox_providers/stats?start_date="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/mailbox_providers/stats?start_date=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/mailbox_providers/stats?start_date=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/mailbox_providers/stats?start_date=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/mailbox_providers/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/mailbox_providers/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/mailbox_providers/stats?start_date=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/mailbox_providers/stats?start_date=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/mailbox_providers/stats?start_date=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/mailbox_providers/stats',
qs: {start_date: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/mailbox_providers/stats');
req.query({
start_date: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/mailbox_providers/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/mailbox_providers/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/mailbox_providers/stats?start_date="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/mailbox_providers/stats?start_date=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/mailbox_providers/stats?start_date=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/mailbox_providers/stats?start_date=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/mailbox_providers/stats');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/mailbox_providers/stats');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/mailbox_providers/stats?start_date=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/mailbox_providers/stats?start_date=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/mailbox_providers/stats?start_date=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/mailbox_providers/stats"
querystring = {"start_date":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/mailbox_providers/stats"
queryString <- list(start_date = "")
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/mailbox_providers/stats?start_date=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/mailbox_providers/stats') do |req|
req.params['start_date'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/mailbox_providers/stats";
let querystring = [
("start_date", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/mailbox_providers/stats?start_date='
http GET '{{baseUrl}}/v3/mailbox_providers/stats?start_date='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/mailbox_providers/stats?start_date='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/mailbox_providers/stats?start_date=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"date": "2015-10-11",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-12",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-13",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-14",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-15",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-16",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-17",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-18",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-19",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-20",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-21",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 1,
"drops": 0,
"opens": 1,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 1
}
}
]
},
{
"date": "2015-10-22",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-23",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-24",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-25",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-26",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 2,
"drops": 0,
"opens": 2,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 2
}
}
]
},
{
"date": "2015-10-27",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-28",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-29",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-30",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-10-31",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-01",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-02",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-03",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-04",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-05",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-06",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-07",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-08",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-09",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
},
{
"date": "2015-11-10",
"stats": [
{
"type": "mailbox_provider",
"name": "Gmail",
"metrics": {
"blocks": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"drops": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0
}
}
]
}
]
GET
Retrieve global email statistics
{{baseUrl}}/v3/stats
QUERY PARAMS
start_date
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/stats?start_date=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/stats" {:query-params {:start_date ""}})
require "http/client"
url = "{{baseUrl}}/v3/stats?start_date="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/stats?start_date="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/stats?start_date=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/stats?start_date="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/stats?start_date= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/stats?start_date=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/stats?start_date="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/stats?start_date=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/stats?start_date=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/stats?start_date=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/stats?start_date=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/stats?start_date=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/stats?start_date=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/stats',
qs: {start_date: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/stats');
req.query({
start_date: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/stats?start_date="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/stats?start_date=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/stats?start_date=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/stats?start_date=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/stats');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/stats');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/stats?start_date=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/stats?start_date=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/stats?start_date=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/stats"
querystring = {"start_date":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/stats"
queryString <- list(start_date = "")
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/stats?start_date=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/stats') do |req|
req.params['start_date'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/stats";
let querystring = [
("start_date", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/stats?start_date='
http GET '{{baseUrl}}/v3/stats?start_date='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/stats?start_date='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/stats?start_date=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"date": "2015-11-03",
"stats": [
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
},
{
"date": "2015-11-04",
"stats": [
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
},
{
"date": "2015-11-05",
"stats": [
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
},
{
"date": "2015-11-06",
"stats": [
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
},
{
"date": "2015-11-07",
"stats": [
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
},
{
"date": "2015-11-08",
"stats": [
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
},
{
"date": "2015-11-09",
"stats": [
{
"metrics": {
"blocks": 0,
"bounce_drops": 0,
"bounces": 0,
"clicks": 0,
"deferred": 0,
"delivered": 0,
"invalid_emails": 0,
"opens": 0,
"processed": 0,
"requests": 0,
"spam_report_drops": 0,
"spam_reports": 0,
"unique_clicks": 0,
"unique_opens": 0,
"unsubscribe_drops": 0,
"unsubscribes": 0
}
}
]
}
]
GET
Retrieve stats by a specific client type.
{{baseUrl}}/v3/clients/:client_type/stats
QUERY PARAMS
start_date
Examples
REQUEST
CURL *hnd = curl_easy_init();
curl_easy_setopt(hnd, CURLOPT_CUSTOMREQUEST, "GET");
curl_easy_setopt(hnd, CURLOPT_URL, "{{baseUrl}}/v3/clients/:client_type/stats?start_date=");
CURLcode ret = curl_easy_perform(hnd);
(require '[clj-http.client :as client])
(client/get "{{baseUrl}}/v3/clients/:client_type/stats" {:query-params {:start_date ""}})
require "http/client"
url = "{{baseUrl}}/v3/clients/:client_type/stats?start_date="
response = HTTP::Client.get url
puts response.body
using System.Net.Http.Headers;
var client = new HttpClient();
var request = new HttpRequestMessage
{
Method = HttpMethod.Get,
RequestUri = new Uri("{{baseUrl}}/v3/clients/:client_type/stats?start_date="),
};
using (var response = await client.SendAsync(request))
{
response.EnsureSuccessStatusCode();
var body = await response.Content.ReadAsStringAsync();
Console.WriteLine(body);
}
var client = new RestClient("{{baseUrl}}/v3/clients/:client_type/stats?start_date=");
var request = new RestRequest("", Method.Get);
var response = client.Execute(request);
package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "{{baseUrl}}/v3/clients/:client_type/stats?start_date="
req, _ := http.NewRequest("GET", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(res)
fmt.Println(string(body))
}
GET /baseUrl/v3/clients/:client_type/stats?start_date= HTTP/1.1
Host: example.com
AsyncHttpClient client = new DefaultAsyncHttpClient();
client.prepare("GET", "{{baseUrl}}/v3/clients/:client_type/stats?start_date=")
.execute()
.toCompletableFuture()
.thenAccept(System.out::println)
.join();
client.close();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("{{baseUrl}}/v3/clients/:client_type/stats?start_date="))
.method("GET", HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("{{baseUrl}}/v3/clients/:client_type/stats?start_date=")
.get()
.build();
Response response = client.newCall(request).execute();
HttpResponse response = Unirest.get("{{baseUrl}}/v3/clients/:client_type/stats?start_date=")
.asString();
const data = null;
const xhr = new XMLHttpRequest();
xhr.withCredentials = true;
xhr.addEventListener('readystatechange', function () {
if (this.readyState === this.DONE) {
console.log(this.responseText);
}
});
xhr.open('GET', '{{baseUrl}}/v3/clients/:client_type/stats?start_date=');
xhr.send(data);
import axios from 'axios';
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/clients/:client_type/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const url = '{{baseUrl}}/v3/clients/:client_type/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
const settings = {
async: true,
crossDomain: true,
url: '{{baseUrl}}/v3/clients/:client_type/stats?start_date=',
method: 'GET',
headers: {}
};
$.ajax(settings).done(function (response) {
console.log(response);
});
val client = OkHttpClient()
val request = Request.Builder()
.url("{{baseUrl}}/v3/clients/:client_type/stats?start_date=")
.get()
.build()
val response = client.newCall(request).execute()
const http = require('https');
const options = {
method: 'GET',
hostname: 'example.com',
port: null,
path: '/baseUrl/v3/clients/:client_type/stats?start_date=',
headers: {}
};
const req = http.request(options, function (res) {
const chunks = [];
res.on('data', function (chunk) {
chunks.push(chunk);
});
res.on('end', function () {
const body = Buffer.concat(chunks);
console.log(body.toString());
});
});
req.end();
const request = require('request');
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/clients/:client_type/stats',
qs: {start_date: ''}
};
request(options, function (error, response, body) {
if (error) throw new Error(error);
console.log(body);
});
const unirest = require('unirest');
const req = unirest('GET', '{{baseUrl}}/v3/clients/:client_type/stats');
req.query({
start_date: ''
});
req.end(function (res) {
if (res.error) throw new Error(res.error);
console.log(res.body);
});
const axios = require('axios').default;
const options = {
method: 'GET',
url: '{{baseUrl}}/v3/clients/:client_type/stats',
params: {start_date: ''}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
const fetch = require('node-fetch');
const url = '{{baseUrl}}/v3/clients/:client_type/stats?start_date=';
const options = {method: 'GET'};
try {
const response = await fetch(url, options);
const data = await response.json();
console.log(data);
} catch (error) {
console.error(error);
}
#import
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:@"{{baseUrl}}/v3/clients/:client_type/stats?start_date="]
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:10.0];
[request setHTTPMethod:@"GET"];
NSURLSession *session = [NSURLSession sharedSession];
NSURLSessionDataTask *dataTask = [session dataTaskWithRequest:request
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error) {
if (error) {
NSLog(@"%@", error);
} else {
NSHTTPURLResponse *httpResponse = (NSHTTPURLResponse *) response;
NSLog(@"%@", httpResponse);
}
}];
[dataTask resume];
open Cohttp_lwt_unix
open Cohttp
open Lwt
let uri = Uri.of_string "{{baseUrl}}/v3/clients/:client_type/stats?start_date=" in
Client.call `GET uri
>>= fun (res, body_stream) ->
(* Do stuff with the result *)
"{{baseUrl}}/v3/clients/:client_type/stats?start_date=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
request('GET', '{{baseUrl}}/v3/clients/:client_type/stats?start_date=');
echo $response->getBody();
setUrl('{{baseUrl}}/v3/clients/:client_type/stats');
$request->setMethod(HTTP_METH_GET);
$request->setQueryData([
'start_date' => ''
]);
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
setRequestUrl('{{baseUrl}}/v3/clients/:client_type/stats');
$request->setRequestMethod('GET');
$request->setQuery(new http\QueryString([
'start_date' => ''
]));
$client->enqueue($request)->send();
$response = $client->getResponse();
echo $response->getBody();
$response = Invoke-WebRequest -Uri '{{baseUrl}}/v3/clients/:client_type/stats?start_date=' -Method GET
$response = Invoke-RestMethod -Uri '{{baseUrl}}/v3/clients/:client_type/stats?start_date=' -Method GET
import http.client
conn = http.client.HTTPSConnection("example.com")
conn.request("GET", "/baseUrl/v3/clients/:client_type/stats?start_date=")
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
import requests
url = "{{baseUrl}}/v3/clients/:client_type/stats"
querystring = {"start_date":""}
response = requests.get(url, params=querystring)
print(response.json())
library(httr)
url <- "{{baseUrl}}/v3/clients/:client_type/stats"
queryString <- list(start_date = "")
response <- VERB("GET", url, query = queryString, content_type("application/octet-stream"))
content(response, "text")
require 'uri'
require 'net/http'
url = URI("{{baseUrl}}/v3/clients/:client_type/stats?start_date=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
response = http.request(request)
puts response.read_body
require 'faraday'
conn = Faraday.new(
url: 'https://example.com',
)
response = conn.get('/baseUrl/v3/clients/:client_type/stats') do |req|
req.params['start_date'] = ''
end
puts response.status
puts response.body
use reqwest;
#[tokio::main]
pub async fn main() {
let url = "{{baseUrl}}/v3/clients/:client_type/stats";
let querystring = [
("start_date", ""),
];
let client = reqwest::Client::new();
let response = client.get(url)
.query(&querystring)
.send()
.await;
let results = response.unwrap()
.json::()
.await
.unwrap();
dbg!(results);
}
curl --request GET \
--url '{{baseUrl}}/v3/clients/:client_type/stats?start_date='
http GET '{{baseUrl}}/v3/clients/:client_type/stats?start_date='
wget --quiet \
--method GET \
--output-document \
- '{{baseUrl}}/v3/clients/:client_type/stats?start_date='
import Foundation
let request = NSMutableURLRequest(url: NSURL(string: "{{baseUrl}}/v3/clients/:client_type/stats?start_date=")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "GET"
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()
RESPONSE HEADERS
Content-Type
application/json
RESPONSE BODY json
[
{
"date": "2014-10-01",
"stats": [
{
"metrics": {
"opens": 1,
"unique_opens": 1
},
"name": "Gmail",
"type": "client"
}
]
},
{
"date": "2014-10-02",
"stats": [
{
"metrics": {
"opens": 0,
"unique_opens": 0
},
"name": "Gmail",
"type": "client"
}
]
}
]