Email Calendar
List my private email review queue
Requires email/calendar availability and the email intelligence v2 workspace rollout. Review and body operations are private to the current mailbox owner and current preview generation under the active privacy policy. Only approved/complete mailbox preview generations are eligible. Without classification, lists review disposition; a classification filter matches that class instead. Rows never include full body text.
GET
/
email-calendar
/
review
List my private email review queue
curl --request GET \
--url https://api.gratona.com/v1/email-calendar/review \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/email-calendar/review"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/email-calendar/review', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gratona.com/v1/email-calendar/review",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/email-calendar/review"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gratona.com/v1/email-calendar/review")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/email-calendar/review")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"account_id": 123,
"provider": "<string>",
"mail_source": "<string>",
"direction": "<string>",
"subject": "<string>",
"from": "<string>",
"occurred_at": "2023-11-07T05:31:56Z",
"has_attachments": true,
"status": "<string>",
"to": [
"<string>"
],
"cc": [
"<string>"
],
"classification": {
"class": "<string>",
"disposition": "<string>",
"reasons": [
"<string>"
],
"matched_donor_ids": [
123
],
"matched_donors": [
{
"id": 123,
"name": "<string>",
"email": "<string>"
}
]
},
"body": {
"status": "<string>",
"purge_after": "2023-11-07T05:31:56Z"
}
}
],
"pagination": {
"current_page": 123,
"last_page": 123,
"per_page": 123,
"total": 123
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Not Found",
"status": "error"
}Authorizations
bearerAuthapiKeyAuth
Passport bearer token authentication for legacy admin sessions.
Query Parameters
Page.
Required range:
x >= 1Per page.
Required range:
1 <= x <= 50Classification.
⌘I
List my private email review queue
curl --request GET \
--url https://api.gratona.com/v1/email-calendar/review \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.gratona.com/v1/email-calendar/review"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.gratona.com/v1/email-calendar/review', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.gratona.com/v1/email-calendar/review",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.gratona.com/v1/email-calendar/review"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.gratona.com/v1/email-calendar/review")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.gratona.com/v1/email-calendar/review")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"id": 123,
"account_id": 123,
"provider": "<string>",
"mail_source": "<string>",
"direction": "<string>",
"subject": "<string>",
"from": "<string>",
"occurred_at": "2023-11-07T05:31:56Z",
"has_attachments": true,
"status": "<string>",
"to": [
"<string>"
],
"cc": [
"<string>"
],
"classification": {
"class": "<string>",
"disposition": "<string>",
"reasons": [
"<string>"
],
"matched_donor_ids": [
123
],
"matched_donors": [
{
"id": 123,
"name": "<string>",
"email": "<string>"
}
]
},
"body": {
"status": "<string>",
"purge_after": "2023-11-07T05:31:56Z"
}
}
],
"pagination": {
"current_page": 123,
"last_page": 123,
"per_page": 123,
"total": 123
}
}{
"message": "Unauthorized",
"status": "error"
}{
"message": "Something went wrong. Please try again.",
"status": "error",
"error": "invalid_request",
"code": "DONOR_NOT_FOUND"
}{
"message": "Not Found",
"status": "error"
}