An object describing the retention information applied to the message.
recipientInfo
Recipient Info Object
An object describing the recipient information applied to the message.
deliveredMessage
Delivered Message Object
If rewriting of this URL in emails is disabled.
spamInfo
spamInfo Object
An object describing the spam scoring information of the message.
id
String
The Mimecast ID of the message.
Retention Info Object
Field
Type
Description
retentionAdjustmentDays
Number
The number of days that a retention adjustment has been applied to the message.
litigationHoldInfo
Array
An array containing objects describing the expiry, description and Mimecast ID of any litigation hold policies applied to the message.
currentPurgeDate
Date String
The date that the message is scheduled to be purged from Mimecast.
purgeBasedOn
String
Describes what the message purge date is based on.
fbrExpireCheck
Array
An array of date strings describing when Granular Retention policies were checked, if applicable.
audits
Array
An array of objects describing the date, type, and information about any audits carried out on the message.
originalPurgeDate
Date String
The message's original purge date.
smartTags
Array
An array of smart tag objects that the message is assigned to.
fbrStamps
Array
An array of objects describing the email address, folder, recipient visibility, expiry, purge, and policy fields applied to the message as a result of a Granular retention policy action, if applicable.
Recipient Info Object
Field
Type
Description
messageInfo
Message Info Object
An object describing recipient message information.
recipientMetaInfo
Message Meta-data Object
An object describing the message meta-data
Delivered Message Object
Field
Type
Description
messageInfo
Message Info Object
An object describing recipient message information.
recipientMetaInfo
Message Meta-data Object
An object describing the message meta-data
spamInfo Object
Field
Type
Description
spamScore
Number
The spam score of the recieved message
detectionLevel
String
The spam scanning level applied to the message
spamProcessingDetail
spamProcessingDetail Object
An object containing the detailed spam scanning information
spamProcessingDetail Object
Field
Type
Description
greyEmail
Boolean
Identifies if message was found to be greymail or bulk
rbl
infoObject
An object containing information about RBL results of the message
spf
infoObject
An object containing information about SPF results of the message
dkim
infoObject
An object containing information about DKIM results of the message
dmarc
infoObject
An object containing information about DMARC results of the message
permittedSender
infoObject
An object to determine if the from address matched a Permitted Sender entry
managedSender
infoObject
An object to determine if the from address matched a Managed Sender entry
verdict
spamVerdict Object
An object containing category and risk info for the spam verdict
spamVerdict Object
Field
Type
Description
descision
String
Displays 'spam' if the message was considered to be spam
description
String
Any description for the reason for the message to be considered spam
risk
String
A risk rating of the message
categories
Array of categories Objects
An array containing categories that applied to the message
categories Object
Field
Type
Description
name
String
Name of the category
risk
String
A risk rating of the category
subcategories
Array of subcategories Objects
An array containing sub-categories that applied to the message
subcategories Object
Field
Type
Description
name
String
Name of the sub-category
risk
String
A risk rating of the sub-category
augmentations
Array of augmentations Objects
An array containing augmentations that applied to the sub-category
augmentations Object
Field
Type
Description
name
String
Name of the augmentation
risk
String
A risk rating of the augmentation
Sample Code
Sample code is provided to demonstrate how to use the API and is not representative of a production application. To use the sample code; complete the required variables as described, populate the desired values in the request body, and execute in your favorite IDE. Please see the Global Base URL's page to find the correct base URL to use for your account.
POST {base_url}/api/message-finder/get-message-info
Authorization: MC {accesskKey}:{Base64 encoded signed Data To Sign}
x-mc-date: {dateTime}
x-mc-req-id: {unique id}
x-mc-app-id: {applicationId}
Content-Type: application/json
Accept: application/json
{
"data":[
{
"id": "String"
}
]
}
import base64
import hashlib
import hmac
import uuid
import datetime
import requests
# Setup required variables
base_url = "https://xx-api.mimecast.com"
uri = "/api/message-finder/get-message-info"
url = base_url + uri
access_key = "YOUR ACCESS KEY"
secret_key = "YOUR SECRET KEY"
app_id = "YOUR APPLICATION ID"
app_key = "YOUR APPLICATION KEY"
# Generate request header values
request_id = str(uuid.uuid4())
hdr_date = datetime.datetime.utcnow().strftime("%a, %d %b %Y %H:%M:%S") + " UTC"
# DataToSign is used in hmac_sha1
dataToSign = ':'.join([hdr_date, request_id, uri, app_key])
# Create the HMAC SHA1 of the Base64 decoded secret key for the Authorization header
hmac_sha1 = hmac.new(base64.b64decode(secret_key), dataToSign.encode(), digestmod=hashlib.sha1).digest()
# Use the HMAC SHA1 value to sign the hdrDate + ":" requestId + ":" + URI + ":" + appkey
sig = base64.b64encode(hmac_sha1).rstrip()
# Create request headers
headers = {
'Authorization': 'MC ' + access_key + ':' + sig.decode(),
'x-mc-app-id': app_id,
'x-mc-date': hdr_date,
'x-mc-req-id': request_id,
'Content-Type': 'application/json'
}
payload = {
'data': [
{
'id': 'String'
}
]
}
r = requests.post(url=url, headers=headers, data=str(payload))
print(r.text)
static void Main(string[] args)
{
//Setup required variables
string baseUrl = "https://xx-api.mimecast.com";
string uri = "/api/message-finder/get-message-info";
string accessKey = "YOUR ACCESS KEY";
string secretKey = "YOUR SECRET KEY";
string appId = "YOUR APPLICATION ID";
string appKey = "YOUR APPLICATION KEY";
//Generate request header values
string hdrDate = System.DateTime.Now.ToUniversalTime().ToString("R");
string requestId = System.Guid.NewGuid().ToString();
//Create the HMAC SHA1 of the Base64 decoded secret key for the Authorization header
System.Security.Cryptography.HMAC h = new System.Security.Cryptography.HMACSHA1(System.Convert.FromBase64String(secretKey));
//Use the HMAC SHA1 value to sign the hdrDate + ":" requestId + ":" + URI + ":" + appkey
byte[] hash = h.ComputeHash(System.Text.Encoding.Default.GetBytes(hdrDate + ":" + requestId + ":" + uri + ":" + appKey));
//Build the signature to be included in the Authorization header in your request
string signature = "MC " + accessKey + ":" + System.Convert.ToBase64String(hash);
//Build Request
System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(baseUrl + uri);
request.Method = "POST";
request.ContentType = "application/json";
//Add Headers
request.Headers[System.Net.HttpRequestHeader.Authorization] = signature;
request.Headers.Add("x-mc-date", hdrDate);
request.Headers.Add("x-mc-req-id", requestId);
request.Headers.Add("x-mc-app-id", appId);
//Add request body
//Create and write data to stream
string postData = @"{
""data"": [
{
""id"": ""String""
}
]
}";
byte[] payload = System.Text.Encoding.UTF8.GetBytes(postData);
System.IO.Stream stream = request.GetRequestStream();
stream.Write(payload, 0, payload.Length);
stream.Close();
//Send Request
System.Net.HttpWebResponse response = (System.Net.HttpWebResponse)request.GetResponse();
//Output response to console
System.IO.StreamReader reader = new System.IO.StreamReader(response.GetResponseStream());
string responseBody = "";
string temp = null;
while ((temp = reader.ReadLine()) != null)
{
responseBody += temp;
};
System.Console.WriteLine(responseBody);
System.Console.ReadLine();
}