tags. If you need to include a complete, arbitrary HTML document, we recommend uploading that as an attached file.\n\nSee the “body_type” parameter."
},
"body_text" : {
"type" : "string",
"description" : "Optional. Only used when body_type=”html”.\n\nIf supplied, this plain text content will be used as the “alternative” message content for the HTML message body provided in “body”.\n\nI.e., for people with HTML email content viewing disabled in their email or WebMail interfaces, this plain text version of your content will be displayed instead.\n\nIf omitted, a plain text alternate version of your HTML message content will not be included in your message."
},
"body_type" : {
"type" : "string",
"description" : "Optional. If included, this must be “text” or “html”. If omitted, it takes on the value “text”. The body_type parameter indicates what content is being passed in the “body” field."
},
"cc" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “Cc” of the message.",
"items" : {
"type" : "string"
}
},
"from_address" : {
"type" : "string",
"description" : "Optional. Email address to use as the “From address” for this message. If omitted, the sending user’s login email address will be used.\n\nNote that it is against the terms of service to use an address here that does not belong to you or for which you do not otherwise have permission to send from."
},
"from_name" : {
"type" : "string",
"description" : "Optional. The plain text name of the sender. If omitted, the sending user’s “contact” name (from his/her profile) will be used. If that is empty, then the “from_address” will be used.\n\nThe from name can be a maximum of 100 characters long."
},
"headers" : {
"type" : "array",
"description" : "Optional. If included, the value must be an array specifying data for up to 10 custom headers that will be added to the outbound email message. This is usually used in combination with the custom header tracking and reporting features of LuxSci outbound emailing. E.g., you can set headers here that will be tracked (if you have enabled tracking of them in your outbound email settings in the LuxSci web site), and which can be used for reporting.\n\nEach element of the headers array must itself be an array of two elements. The 1st element is the custom header name; the 2nd element is the custom header value. Some of the basic validation restrictions include:\n- You cannot override standard email headers (like To, Subject, Date, etc.) using custom headers. \n- Header names cannot contain spaces, tabs, linefeeds, or colons\n- Header values cannot contain tabs or linefeeds and must be non-empty.\n- Each added header line must be less than 997 characters in length\n- The total length of add added header lines must be less than 5000 characters in length.'",
"items" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"priority" : {
"type" : "integer",
"description" : "Optional. Valid values are integers from 0 to 9. This setting sets the relative queue priority of the message in the system. Higher-priority messages can be processed and delivered before lower priority messages that may already have been sent and queued for processing and delivery. This setting is useful when sending large numbers of messages of differing priorities at roughly the same time. 0 is the lowest priority. 9 is the highest prority. 4 is the default priority. Note that the default priority can be changed on a per-API-configuration basis in the API configuration user interface. "
},
"receipt" : {
"type" : "integer",
"description" : "Optional. If set to “1”, a read receipt will be requested.\n\nFor SecureLine Escrow, these read receipts will always be sent back on the 1st time the message is viewed by each recipient … the recipient has no say in the matter and no indication of if this is happening."
},
"reply_address" : {
"type" : "string",
"description" : "Optional. Email address to use as the “Reply-To address” for this message. If omitted, the from address will be used. Note that it is against the terms of service to use an address here that does not belong to you or for which you do not otherwise have permission to send from."
},
"secline_a_ [email]" : {
"type" : "string",
"description" : "Optional. For email messages sent via SecureLine Escrow where Question/Answer pairs are being used for authentication, this answer will be used for the recipient whose email address is “[email]”. This overrides any other answer that may have otherwise been used."
},
"secline_keep_ [email]" : {
"type" : "integer",
"description" : "Optional. (Days) For ALL email messages sent via SecureLine Escrow and SecureText, this this will be used as the integer number of days before the message accessible for recipient [email] expires from access. Note that you can have different expirations for different recipients of the same message. Once the message has expired for all recipients, the encrypted message data itself is deleted from the system."
},
"secline_q_ [email]" : {
"type" : "string",
"description" : "Optional. For email messages sent via SecureLine Escrow where Question/Answer pairs are being used for authentication, this question will be used for the recipient whose email address is “[email]”. E.g., use “secline_q_ bob@domain.com” as the key for the question for recipient “bob@domain.com”. This overrides any other question that may have otherwise been used. If you set this question value to just an asterisk, “*”, then SecureSend portal login will be used for recipient authentication instead of an explicit question and answer. It does not matter what you specify for “secline_a_...” in this case."
},
"subject" : {
"type" : "string",
"description" : "Required. Subject of this message. This can be a maximum of 1000 characters long. Leading and training spaces are automatically trimmed from this subject."
},
"template" : {
"type" : "string",
"description" : "Optional. If provided, this must be the “Template ID” or template “Code Word” corresponding to an “SMTP or API Email Template” in the sender’s account. This template will be used to set the subject and body of the message (overriding any other subject and body data sent in your API call). Note, any attachments that you include in the API call will still be attached to the templated email message. Note that the templates “flags” may affect how the message isencrypted and delivered."
},
"template_data" : {
"type" : "object",
"description" : "If you specify a “template” which has dynamic place holders, you can specify the keywords and respective values to substitute into the template in this field. The value of the “template_data” field is an associated array (object) with the fields/keywords being the template place holder keywords and the values of those keywords beingthe values to be substituted."
},
"template_data_raw" : {
"type" : "integer",
"description" : "Optional. If passed with a value of “1” then the contents of template_data will be substituted into the template place holders “as is” exactly as passed. This is appropriate for passing content marked up with HTML and inserting that into and HTML-formatted email. The default, “0”, assumes the template_data is plain text content. In this context, the data will be appropriately quoted when being substituted into HTML-formatted email. E.g., special HTML characters like “<” will be converted into HTML entitles like “<” and web links will be converted into clickable links."
},
"template_format" : {
"type" : "string",
"description" : "Optional. If passed, the value must be \"html\" or \"text\". If the template referred by the template parameter has both text and html content, then this parameter is used to select one of those content formats to include in the message, rather than both."
},
"to" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “To” of the message.",
"items" : {
"type" : "string"
}
},
"unsubscribe" : {
"type" : "integer",
"description" : "Optional. Set to a true value (i.e., 1) to enable use of Unsubscribe Links with this email message."
}
},
"description" : "If you are sending a single message through this API call, you can include the message data object as the value of the “message” parameter."
};
defs["oauth_body"] = {
"required" : [ "client_id", "client_secret", "grant_type" ],
"type" : "object",
"properties" : {
"grant_type" : {
"type" : "string",
"description" : "The type of OAuth 2.0 grant to use. Use `client_credentials` for account-scope API configurations Use `password` for user-scope API configurations to authenticate a user with their username and password.\t\t\t\t \n",
"enum" : [ "client_credentials", "password" ]
},
"client_id" : {
"type" : "string",
"description" : "Your Public API Token"
},
"client_secret" : {
"type" : "string",
"description" : "Your API Secret"
},
"username" : {
"type" : "string",
"description" : "If you are authenticating into \"user\" scope with an explicit username and password, include the login email address of the user in question. E.g.\"joe@domain.com\""
},
"password" : {
"type" : "string",
"description" : "If you are authenticating into \"user\" scope with an explicit username and password, include the plain text password for the user."
}
}
};
defs["ReportResponse"] = {
"type" : "object",
"properties" : {
"first" : {
"type" : "integer",
"description" : "The index of the first row that was returned. E.g. this should match the “first_row” parameter specified in the request."
},
"header" : {
"type" : "array",
"description" : "Array that includes the column headings for all of the matches returned.",
"items" : {
"type" : "string"
}
},
"matches_returned" : {
"type" : "integer",
"description" : "The number of matching rows returned in the “rows” array."
},
"matches_total" : {
"type" : "integer",
"description" : "The number of rows matching your request. Note that this can be larger than the number of rows returned."
},
"rows" : {
"type" : "array",
"description" : "Array of data for all matches returned. This array contains one element for each returned match. Each element is itself an array. Each field in the match arrays corresponds to the respective field in the “header” array. E.g. if the 1st element in the “header” array is “user_id”, then the 1st element in a match data array will be the integer user ID number, etc.",
"items" : {
"type" : "array",
"items" : {
"oneOf" : [ {
"type" : "string"
}, {
"type" : "integer"
} ]
}
}
},
"job_id" : {
"type" : "integer",
"description" : "For asynchronous report requests only, this is the ID of the background job generated."
},
"filename" : {
"type" : "string",
"description" : "For asynchronous report requests only, this is the name of the file that will be uploaded."
},
"max_jobs" : {
"type" : "integer",
"description" : "For asynchronous report requests only, this is the maximum number of asynchronous jobs that can be running concurrently for the customer account."
},
"current_jobs" : {
"type" : "integer",
"description" : "For asynchronous report requests only, this is the current number of running asynchronous jobs for the customer account. This number will always be at least 1, as it includes the new job requested by this API call itself."
}
}
};
defs["SM3CSVResponse"] = {
"type" : "object",
"properties" : {
"first" : {
"type" : "integer",
"description" : "The index of the first row that was returned. E.g. this should match the “first_row” parameter specified in the request."
},
"header" : {
"type" : "array",
"description" : "Array that includes the column headings for all of the matches returned.",
"items" : {
"type" : "string"
}
},
"matches_returned" : {
"type" : "integer",
"description" : "The number of matching rows returned in the “rows” array."
},
"matches_total" : {
"type" : "integer",
"description" : "The number of rows matching your request. Note that this can be larger than the number of rows returned."
},
"rows" : {
"type" : "array",
"description" : "Array of data for all matches returned. This array contains one element for each returned match. Each element is itself an array. Each field in the match arrays corresponds to the respective field in the “header” array. E.g. if the 1st element in the “header” array is “user_id”, then the 1st element in a match data array will be the integer user ID number, etc.",
"items" : {
"type" : "array",
"items" : {
"anyOf" : [ {
"type" : "integer"
}, {
"type" : "string"
} ]
}
}
},
"job_id" : {
"type" : "integer",
"description" : "For asynchronous report requests only, this is the ID of the background job generated."
},
"filename" : {
"type" : "string",
"description" : "For asynchronous report requests only, this is the name of the file that will be uploaded."
},
"max_jobs" : {
"type" : "integer",
"description" : "For asynchronous report requests only, this is the maximum number of asynchronous jobs that can be running concurrently for the customer account."
},
"current_jobs" : {
"type" : "integer",
"description" : "For asynchronous report requests only, this is the current number of running asynchronous jobs for the customer account. This number will always be at least 1, as it includes the new job requested by this API call itself."
}
}
};
defs["SM3_Campaign"] = {
"required" : [ "campaign_id" ],
"type" : "object",
"properties" : {
"api_id" : {
"type" : "string",
"description" : "The Id of the api being used."
},
"campaign_id" : {
"type" : "integer",
"description" : "Unique ID for the Campaign."
},
"created" : {
"type" : "string",
"description" : "When the camppaign was created."
},
"deduplicate" : {
"type" : "integer",
"description" : "If true, avoid sending multiple messages to the same contact."
},
"hourly_rate_limit" : {
"type" : "integer",
"description" : "Maximum number of emails to send per hour."
},
"last_send_block_size" : {
"type" : "integer",
"description" : "How many contacts were sent in the last batch."
},
"last_send_date" : {
"type" : "string",
"description" : "Datetime of the last sent message."
},
"type" : {
"type" : "string",
"description" : "The contact source type code for this Campaign. E.g., list or segment."
},
"list_ids" : {
"type" : "string",
"description" : "Comma separated list of List IDs attached to this campaign."
},
"segment_ids" : {
"type" : "string",
"description" : "Comma separated list of Segment IDs attached to this campaign."
},
"modified" : {
"type" : "string",
"description" : "When the campaign was last modified."
},
"n_clicked_total" : {
"type" : "integer",
"description" : "Total Number of opened messages recieving a click."
},
"n_clicked_unique" : {
"type" : "integer",
"description" : "Number of unique opened messages recieving a click."
},
"n_delivered" : {
"type" : "integer",
"description" : "Number of messages that have been successfully delivered."
},
"n_hard_bounce" : {
"type" : "integer",
"description" : "Number of messages that experienced a hard bounce."
},
"n_lost" : {
"type" : "integer",
"description" : "Number of messages that have been lost."
},
"n_opened_total" : {
"type" : "integer",
"description" : "Total Number of messages that have been opened."
},
"n_opened_unique" : {
"type" : "integer",
"description" : "Number of unique messages that have been opened."
},
"n_queued" : {
"type" : "integer",
"description" : "Number of messages that have been queued for delivery."
},
"n_sent" : {
"type" : "integer",
"description" : "Number of messages that have been sent."
},
"n_soft_bounce" : {
"type" : "integer",
"description" : "Number of messages that experienced a soft bounce."
},
"n_spam" : {
"type" : "integer",
"description" : "Number of messages marked as spam."
},
"n_staged" : {
"type" : "integer",
"description" : "Number of messages that have been staged for delivery."
},
"n_suppressed" : {
"type" : "integer",
"description" : "Number of email addresses that have been suppressed."
},
"queue_priority" : {
"type" : "integer",
"description" : "Priority relative to other concurrent campaigns."
},
"retries" : {
"type" : "integer",
"description" : "Total number of retries attempted on this campaign."
},
"retry_after_date" : {
"type" : "string",
"description" : "Datetime when the next retry will be attempted."
},
"seconds_to_last_fail" : {
"type" : "integer",
"description" : "Seconds from start to the last time a message delivery failed."
},
"seconds_to_last_success" : {
"type" : "integer",
"description" : "Seconds from start to the last successful delivery."
},
"seconds_to_send" : {
"type" : "integer",
"description" : "Seconds to send all messages."
},
"seconds_to_stage" : {
"type" : "integer",
"description" : "Seconds to stage all messages."
},
"send_at" : {
"type" : "string",
"description" : "Datetime when campaign starts."
},
"send_started_at" : {
"type" : "string",
"description" : "Datetime when campaign actually started."
},
"stats_last_updated" : {
"type" : "string",
"description" : "Datetime when statistics were last updated."
},
"status" : {
"type" : "string",
"description" : "Current campaign status. [\"scheduled\",\"paused\",\"staging\",\"sending\",\"queued\",\"complete\",\"running\",\"failed\"]"
},
"status_detail" : {
"type" : "string",
"description" : "Current campaign status detail."
},
"status_prepause" : {
"type" : "string",
"description" : "Status of the call before it was paused."
},
"template_id" : {
"type" : "integer",
"description" : "Unique ID for template assigned to this campaign."
},
"title" : {
"type" : "string",
"description" : "Human readable title of the campaign."
},
"trigger_id" : {
"type" : "string",
"description" : "Trigger id if applicable"
},
"user_id" : {
"type" : "integer",
"description" : "User Id of user who created this campaign."
},
"underlying_data_updated" : {
"type" : "string",
"description" : "Datetime when underlying data was last updated."
}
}
};
defs["SM3_Campaign_POST_Body"] = {
"required" : [ "send_at", "template_id", "title" ],
"type" : "object",
"properties" : {
"title" : {
"type" : "string",
"description" : "Title of this campaign."
},
"type" : {
"type" : "string",
"description" : "Contact source type for the Campaign. Must be 'list' or 'segment'. If omitted, a value of 'list' is assumed."
},
"list_ids" : {
"type" : "string",
"description" : "Comma separated list of List ID's to include in this campaign. Must be provided when 'type' is 'list'."
},
"segment_ids" : {
"type" : "string",
"description" : "Comma separated list of Segment ID's to include in this campaign. Must be provided when 'type' is 'segment'."
},
"template_id" : {
"type" : "integer",
"description" : "Template ID to use for this campaign."
},
"use_from_name" : {
"type" : "string",
"description" : "From Name override: If not empty, this value will be used to override the From Name for all sent messages. If empty or omitted, the From Name appropriate for each Contact will be used."
},
"use_subject" : {
"type" : "string",
"description" : "Subject override: If not empty, this value will be used to override the subject present in the selected Template for all sent messages. If empty or omitted, the subject from the Template will be used."
},
"hourly_rate_limit" : {
"type" : "integer",
"description" : "Maximum number of messages to send per hour. 0 means no limit.",
"default" : 0
},
"queue_priority" : {
"type" : "integer",
"description" : "Queue priority from 0 to 9. 9 is highest priority. 4 is the default priority.",
"default" : 0
},
"deduplicate" : {
"type" : "integer",
"description" : "For multiple Lists o Segments with overlapping e-mail addresses, only send one copy to each unique email address. Defaults to 0.",
"default" : 0
},
"send_at" : {
"type" : "string",
"description" : "DATETIME for when this campaign should begin sending."
}
}
};
defs["SM3_Campaign_PUT_Body"] = {
"required" : [ "send_at", "template_id", "title" ],
"type" : "object",
"properties" : {
"title" : {
"type" : "string",
"description" : "Title of this campaign"
},
"type" : {
"type" : "string",
"description" : "Contact source type for the Campaign. Must be 'list' or 'segment' or 'trigger'. If omitted, a value of 'list' is assumed."
},
"list_ids" : {
"type" : "string",
"description" : "Comma separated list of List ID's to include in this campaign. Must be provided when 'type' is 'list'."
},
"segment_ids" : {
"type" : "string",
"description" : "Comma separated list of Segment ID's to include in this campaign. Must be provided when 'type' is 'segment'."
},
"template_id" : {
"type" : "integer",
"description" : "Template ID to use for this campaign."
},
"use_from_name" : {
"type" : "string",
"description" : "From Name override: If not empty, this value will be used to override the From Name for all sent messages. If empty or omitted, the From Name appropriate for each Contact will be used."
},
"use_subject" : {
"type" : "string",
"description" : "Subject override: If not empty, this value will be used to override the subject present in the selected Template for all sent messages. If empty or omitted, the subject from the Template will be used."
},
"hourly_rate_limit" : {
"type" : "integer",
"description" : "Maximum number of messages to send per hour. 0 means no limit.",
"default" : 0
},
"queue_priority" : {
"type" : "integer",
"description" : "Queue priority from 0 to 9. 9 is highest priority. 4 is the default.",
"default" : 0
},
"deduplicate" : {
"type" : "integer",
"description" : "For multiple lists with overlapping e-mail addresses, only send one copy. Defaults to 0.",
"default" : 0
},
"send_at" : {
"type" : "string",
"description" : "DATETIME for when this campaign should begin sending. This is ignored for Trigger Campaigns."
}
}
};
defs["SM3_Contact"] = {
"required" : [ "email", "list_id" ],
"type" : "object",
"properties" : {
"contact_id" : {
"type" : "integer",
"description" : "Contact ID."
},
"email" : {
"type" : "string",
"description" : "Contact E-mail address"
},
"domain" : {
"type" : "string",
"description" : "Domain of E-mail address"
},
"is_active" : {
"type" : "integer",
"description" : "0 = inactive, 1 = active"
},
"format" : {
"type" : "string",
"description" : "E-mail format. html|text|both"
},
"list_id" : {
"type" : "integer",
"description" : "List ID this contact belongs to"
},
"user_id" : {
"type" : "integer",
"description" : "ID of the user who owns this list"
},
"added_via" : {
"type" : "string",
"description" : "manual|import|webform|api"
},
"created" : {
"type" : "string",
"description" : "DATETIME When the list was created, in GMT. Format \"YYYY-MM-DD HH:MM:SS\"."
},
"updated" : {
"type" : "string",
"description" : "DATETIME When the list was updated, in GMT. Format \"YYYY-MM-DD HH:MM:SS\"."
},
"xxxx" : {
"type" : "string",
"description" : "xxxx represents any custom field name [using the code_word] associated with the containing list. For example, things like last_name, first_name, etc. The field “response” is reserved. For any date-based custom fields, the format needs to be \"ISO 8601\" which is: YYYY-MM-DD."
}
},
"additionalProperties" : {
"type" : "string",
"description" : "Custom Fields"
}
};
defs["SM3_Contact_POST_Body"] = {
"required" : [ "email", "list_id" ],
"type" : "object",
"properties" : {
"email" : {
"type" : "string",
"description" : "Contact E-mail address"
},
"list_id" : {
"type" : "integer",
"description" : "List ID this contact belongs to"
},
"is_active" : {
"type" : "integer",
"description" : "0 = inactive, 1 = active",
"default" : 1
},
"format" : {
"type" : "string",
"description" : "E-mail format. html|text|both",
"default" : "html"
},
"xxxx" : {
"type" : "string",
"description" : "xxxx represents any custom field name [using the code_word] associated with the containing list. For example, things like last_name, first_name, etc. The field “response” is reserved. For any date-based custom fields, the format needs to be \"ISO 8601\" which is: YYYY-MM-DD."
}
},
"additionalProperties" : {
"type" : "string",
"description" : "Custom Fields",
"example" : "first_name,last_name"
}
};
defs["SM3_Contact_PUT_Body"] = {
"required" : [ "email" ],
"type" : "object",
"properties" : {
"email" : {
"type" : "string",
"description" : "Contact E-mail address"
},
"is_active" : {
"type" : "integer",
"description" : "0 = inactive, 1 = active",
"default" : 1
},
"format" : {
"type" : "string",
"description" : "E-mail format. html|text|both",
"default" : "html"
},
"xxxx" : {
"type" : "string",
"description" : "xxxx represents any custom field name [using the code_word] associated with the containing list. For example, things like last_name, first_name, etc. The field “response” is reserved. For any date-based custom fields, the format needs to be \"ISO 8601\" which is: YYYY-MM-DD."
}
},
"additionalProperties" : {
"type" : "string",
"description" : "Custom Fields",
"example" : "first_name,last_name"
}
};
defs["SM3_Contacts_PUT_Body"] = {
"required" : [ "contact_id", "email" ],
"type" : "object",
"properties" : {
"contact_id" : {
"type" : "integer",
"description" : "ID of this Contact"
},
"email" : {
"type" : "string",
"description" : "Contact E-mail address"
},
"is_active" : {
"type" : "integer",
"description" : "0 = inactive, 1 = active",
"default" : 1
},
"format" : {
"type" : "string",
"description" : "E-mail format. html|text|both",
"default" : "html"
},
"xxxx" : {
"type" : "string",
"description" : "xxxx represents any custom field name [using the code_word] associated with the containing list. For example, things like last_name, first_name, etc. The field “resp\\ onse” is reserved. For any date-based custom fields, the format needs to be \"ISO 8601\" which is: YYYY-MM-DD."
}
},
"additionalProperties" : {
"type" : "string",
"description" : "Custom Fields",
"example" : "first_name,last_name"
}
};
defs["SM3_List"] = {
"allOf" : [ {
"$ref" : "#/components/schemas/SM3_List_Base"
}, {
"type" : "object",
"properties" : {
"fields" : {
"type" : "string",
"description" : "Comma separated string of field code names. The field name response is reserved, so do not use that! This can be undefined/null if there are none."
}
}
} ]
};
defs["SM3_List_Base"] = {
"type" : "object",
"properties" : {
"list_id" : {
"type" : "integer",
"description" : "List ID."
},
"name" : {
"type" : "string",
"description" : "List Name"
},
"from_name" : {
"type" : "string",
"description" : "From name for messages sent using this list"
},
"from_email" : {
"type" : "string",
"description" : "From email for messages sent using this list"
},
"reply_email" : {
"type" : "string",
"description" : "Reply-To email for messages sent using this list"
},
"user_id" : {
"type" : "integer",
"description" : "ID of the user who owns this list"
},
"list_group_id" : {
"type" : "integer",
"description" : "ID of the group in which this list resides"
},
"total_subscribers" : {
"type" : "integer",
"description" : "Number of subscribers in the list"
},
"created" : {
"type" : "string",
"description" : "DATETIME When the list was created, in GMT. Format \"YYYY-MM-DD HH:MM:SS\"."
},
"updated" : {
"type" : "string",
"description" : "DATETIME When the list was updated, in GMT. Format \"YYYY-MM-DD HH:MM:SS\"."
}
}
};
defs["SM3_List_Body"] = {
"required" : [ "from_email", "from_name", "name", "reply_email" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "List Name"
},
"from_name" : {
"type" : "string",
"description" : "From name for messages sent using this list"
},
"from_email" : {
"type" : "string",
"description" : "From email for messages sent using this list"
},
"reply_email" : {
"type" : "string",
"description" : "Reply-To email for messages sent using this list"
},
"list_group_id" : {
"type" : "integer",
"description" : "ID of the group in which this list resides. A missing value or a value of 0 means Unassigned."
},
"fields" : {
"type" : "string",
"description" : "Assign additional fields to this list. The field name “response” is reserved, so don’t use that!\nAdd the custom fields assigned to a contact list. The format is a comma-delimited list of field code names. I.e., “income_level,gender”. These field names must already be defined in the user interface.\nThe format for custom fields is always in all lower case and you should replace spaces with underscore characters."
}
}
};
defs["SM3_Segment"] = {
"required" : [ "name", "segment_id" ],
"type" : "object",
"properties" : {
"segment_id" : {
"type" : "integer",
"description" : "Segment ID."
},
"name" : {
"type" : "string",
"description" : "Name of the segment"
},
"type" : {
"type" : "string",
"description" : "Segment type. This can only be drip currently for API use."
},
"n_contacts" : {
"type" : "integer",
"description" : "The number of contacts included in this segment"
},
"created" : {
"type" : "string",
"description" : "DATETIME When the segment was created, in GMT. Format \"YYYY-MM-DD HH:MM:SS\"."
},
"updated" : {
"type" : "string",
"description" : "DATETIME When the segment was updated, in GMT. Format \"YYYY-MM-DD HH:MM:SS\"."
}
}
};
defs["SecureForm"] = {
"type" : "object",
"properties" : {
"action" : {
"type" : "string",
"description" : "Set. What will be done with posted data? This is a comma-delimited list of actions:\n- archive – Save to a WebAide\n- email_data – Send via email\n- email_notice – Send a notification email\n- ftp – Save to an SFTP site\n- mysql – Save to a hosted database\n- schat – Send to SecureChat'"
},
"archive_content" : {
"type" : "string",
"description" : "Set What will be saved to a WebAide? This is a comma-delimited list of data types (posted files are always saved):\n- 2col – Two-column HTML view of keywords and values\n- csv – CSV file\n- html – Custom re-filled HTML template\n- pdf – Custom re-filled PDF template\n- text – Plain text view of keywords and values\n- xfdf – Posted FDF file from a PDF form\n- xml – XML version of keyword and value data\n- xpdf – Posted full PDF from a PDF form'"
},
"db_host" : {
"type" : "string",
"description" : "Text For configurations saving to a database, this is the hostname of the database"
},
"db_name" : {
"type" : "string",
"description" : "Text For configurations saving to a database, this is the name of the database"
},
"db_table" : {
"type" : "string",
"description" : "Text For configurations saving to a database, this is the base table name for the table(s) that will conatin the post data"
},
"email_content" : {
"type" : "string",
"description" : "Set What will be sent via email? This is a comma-delimited list of data types (posted files are always sent):\n- 2col – Two-column HTML view of keywords and values\n- csv – CSV file\n- html – Custom re-filled HTML template\n- pdf – Custom re-filled PDF template\n- text – Plain text view of keywords and values\n- xfdf – Posted FDF file from a PDF form\n- xml – XML version of keyword and value data\n- xpdf – Posted full PDF from a PDF form'"
},
"ftp_content" : {
"type" : "string",
"description" : "Set What will be uploaded to SFTP? This is a comma-delimited list of data types (posted files are always uploaded):\n- 2col – Two-column HTML view of keywords and values\n- csv – CSV file\n- html – Custom re-filled HTML template\n- pdf – Custom re-filled PDF template\n- text – Plain text view of keywords and values\n- xfdf – Posted FDF file from a PDF form\n- xml – XML version of keyword and value data\n- xpdf – Posted full PDF from a PDF form'"
},
"id" : {
"type" : "integer",
"description" : "Integer, SecureForm configuration unique ID. This is used in API function calls that operate on a specific SecureForm configuration."
},
"last_post" : {
"type" : "string",
"description" : "DATETIME. Date and time of the last post to this SecureForm configuration. Same format as “modified”. This will be undefined if there has not yet been any posts to this SecureForm configuration."
},
"modified" : {
"type" : "string",
"description" : "DATETIME. Date and time this configuration was last modified in GMT. Format (YYYY-MM-DD HH:MM:SS)"
},
"mysql_encrypt" : {
"type" : "integer",
"description" : "Integer.\n- 0 – Data saved to a database will not be encrypted at rest\n- 1 – Data saved to a database will be encrypted at rest notes Text Your internal plain text notes for this SecureForm configuration.'",
"enum" : [ 0, 1 ]
},
"secure" : {
"type" : "integer",
"description" : "Integer.\n- 0 – Configuration does not have “secure” connections and options required.\n- 1 – Configuration has “secure” connections and options required.'",
"enum" : [ 0, 1 ]
},
"status" : {
"type" : "integer",
"description" : "Integer.\n- 0 – Configuration disabled\n- 1 – Configuration active'",
"enum" : [ 0, 1 ]
},
"title" : {
"type" : "string",
"description" : "Text Title of this SecureForm configuration"
},
"type" : {
"type" : "string",
"description" : "Enum Source of the form data is:\n- web – A web site form\n- pdf – A PDF form'",
"enum" : [ "web", "pdf" ]
}
}
};
defs["SecureFormDbRow"] = {
"type" : "object",
"properties" : {
"__encrypt__" : {
"type" : "integer",
"description" : "Integer Value of 1 if the row is encrypted at rest in the database; 0 if not."
},
"__files__" : {
"type" : "array",
"description" : "Array An array of file information that can be used to manipulate the files associated with this post/row. Each item in this array is an object representing one of the associated files. The keywords in these objects are:\n- file_id – Unique (integer) ID for this file\n- size – Size in bytes of this file\n- name – Filename for this file'",
"items" : {
"$ref" : "#/components/schemas/SecureFormDbRow___files__"
}
},
"__index__" : {
"type" : "integer",
"description" : "Integer Unique index for this form post / database row."
},
"__ip_address__" : {
"type" : "string",
"description" : "IP Address of the computer used by the end user who submitted this form post."
},
"__n_files__" : {
"type" : "integer",
"description" : "The number of files associated with this post/row that are currently saved in the database."
},
"__posted__" : {
"type" : "string",
"description" : "DATETIME Date and time the data was saved to this database table in GMT (format “YYYY-MM-DD HH:MM:SS”)"
},
"__referrer__" : {
"type" : "string",
"description" : "HTTP Referer passed by the end user’s web client."
}
}
};
defs["SecureFormDbRow___files__"] = {
"type" : "object",
"properties" : {
"file_id" : {
"type" : "string"
},
"size" : {
"type" : "number"
},
"name" : {
"type" : "string"
}
}
};
defs["SecureForm_Builder"] = {
"type" : "object",
"properties" : {
"css_external_use" : {
"type" : "boolean",
"description" : "Boolean 0|1. If True, use css_external_url in lieue of internal CSS."
},
"css_external_url" : {
"type" : "string",
"description" : "URL to externally hosted CSS."
},
"success_external_use" : {
"type" : "boolean",
"description" : "Boolean 0|1. If True, redirect to success_external_url on successful form submission."
},
"success_external_url" : {
"type" : "string",
"description" : "URL to externally hosted success page."
},
"failure_external_use" : {
"type" : "boolean",
"description" : "Boolean 0|1. If True, redirect to failure_external_url on failed form submission."
},
"failure_external_url" : {
"type" : "string",
"description" : "URL to externally hosted failure page."
},
"use_mobile_form" : {
"type" : "boolean",
"description" : "Boolean 0|1. If True, use a mobile version of the form page."
},
"use_mobile_ok" : {
"type" : "boolean",
"description" : "Boolean 0|1. If True, use mobile version of the form submission success page."
},
"use_mobile_error" : {
"type" : "boolean",
"description" : "Boolean 0|1. If True, use mobile version of the form submission failure page."
},
"bootstrap" : {
"type" : "boolean",
"description" : "Boolean 0|[1]. If True, include bootstrap in form pages."
},
"jqueryui" : {
"type" : "boolean",
"description" : "Boolean 0|[1]. If True, include jqueryui in form pages."
},
"block_spam" : {
"type" : "boolean",
"description" : "Boolean 0|1. If True, use spam blocking."
},
"css_hosted" : {
"type" : "string",
"description" : "String of CSS code to be included in every page, web or mobile"
},
"meta_lang" : {
"type" : "string",
"description" : "HTML meta tag for lang."
},
"meta_title" : {
"type" : "string",
"description" : "HTML meta tag for title."
},
"mobile_max_width" : {
"type" : "integer",
"description" : "Use mobile version when display is less than this number in pixels."
},
"pages" : {
"$ref" : "#/components/schemas/BuilderPages"
},
"css" : {
"$ref" : "#/components/schemas/BuilderCSS"
}
}
};
defs["secureline_recipients_body"] = {
"required" : [ "recipients" ],
"type" : "object",
"properties" : {
"no_tls_only" : {
"type" : "integer",
"description" : "Optional. If this is passed and is true (1), then no recipients will be allowed to be sent using “TLS Only” – other encryption methods will have to be considered. Note that TLS Only would only be used, anyway, if enabled in the user / domain / account settings."
},
"recipients" : {
"type" : "array",
"description" : "Required. An array of recipient email addresses. There is a maximum of 100 addresses that can be submitted in each request.",
"items" : {
"type" : "string"
}
}
}
};
defs["secureline_send_body"] = {
"required" : [ "body", "subject" ],
"type" : "object",
"properties" : {
"attachments" : {
"type" : "array",
"description" : "Optional. If included, this is an array of JSON objects, one for each uploaded file. See the General API Usage Guide for how to upload files with your request. The individual JSON objects will have the following keywords and values: `name` – The exact filename of the uploaded file. `hash` – The SHA256 hex-encoded hash of the content of this file.",
"items" : {
"type" : "object"
}
},
"bcc" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “Bcc” of the message.",
"items" : {
"type" : "string"
}
},
"body" : {
"type" : "string",
"description" : "Required. The body content of this message. This can be either a block of plain text (\\n or \\r\\n – UNIX or Windows style linefeeds are recommended) or a block of HTML content. For best results, HTML content should NOT be a completed HTML Document, but what you would put inside
…
tags. If you need to include a complete, arbitrary HTML document, we recommend uploading that as an attached file. See the “body_type” parameter."
},
"body_type" : {
"type" : "string",
"description" : "Optional. If included, this must be “text” or “html”. If omitted, it takes on the value “text”. The body_type parameter indicates what content is being passed in the “body” field."
},
"cc" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “Cc” of the message.",
"items" : {
"type" : "string"
}
},
"from_address" : {
"type" : "string",
"description" : "Optional. Email address to use as the “From address” for this message. If omitted, the sending user’s login email address will be used. Note that it is against the terms of service to use an address here that does not belong to you or for which you do not otherwise have permission to send from."
},
"from_name" : {
"type" : "string",
"description" : "Optional. The plain text name of the sender. If omitted, the sending user’s “contact” name (from his/her profile) will be used. If that is empty, then the “from_address” will be used. The from name can be a maximum of 100 characters long."
},
"no_tls_only" : {
"type" : "integer",
"description" : "Optional. If this is passed and is true (1), then no email messages to recipients will be allowed to be sent using “TLS Only” – other encryption methods (e.g. Escrow) will be used. SecureText messages are never sent via TLS only."
},
"receipt" : {
"type" : "integer",
"description" : "Optional. If set to “1”, a read receipt will be requested. For SecureLine Escrow and SecureText, these read receipts will always be sent back on the 1st time the message is viewed by each recipient … the recipient has no say in the matter and no indication of if this is happening."
},
"reply_address" : {
"type" : "string",
"description" : "Optional. Email address to use as the “Reply-To address” for this message. If omitted, the from address will be used. Note that it is against the terms of service to use an address here that does not belong to you or for which you do not otherwise have permission to send from."
},
"secline_a_[email]" : {
"type" : "string",
"description" : "Optional. For email messages sent via SecureLine Escrow where Question/Answer pairs are being used for authentication, this answer will be used for the recipient whose email address is “[email]”. This overrides any other answer that may have otherwise been used."
},
"secline_keep_[email]" : {
"type" : "integer",
"description" : "Optional. (Days) For ALL email messages sent via SecureLine Escrow and SecureText, this this will be used as the integer number of days before the message accessible for recipient [email] expires from access. Note that you can have different expirations for different recipients of the same message. Once the message has expired for all recipients, the encrypted message data itself is deleted from the system."
},
"secline_q_[email]" : {
"type" : "string",
"description" : "Optional. For email messages sent via SecureLine Escrow where Question/Answer pairs are being used for authentication, this question will be used for the recipient whose email address is “[email]”. E.g. use “secline_q_bob@domain.com” as the key for the question for recipient “bob@domain.com”. This overrides any other question that may have otherwise been used. If you set this question value to just an asterisk, “*”, then SecureSend portal login will be used for recipient authentication instead of an explicit question and answer. It does not matter what you specify for “secline_a_...” in this case."
},
"subject" : {
"type" : "string",
"description" : "Required. Subject of this message. This can be a maximum of 1000 characters long. Leading and training spaces are automatically trimmed from this subject."
},
"template" : {
"type" : "string",
"description" : "Optional. If provided, this must be the “Template ID” or template “Code Word” corresponding to an “SMTP or API Email Template” in the sender’s account. This template will be used to set the subject and body of the message (overriding any other subject and body data sent in your API call). Note, any attachments that you include in the API call will still be attached to the templated email message. Note that the templates “flags” may affect how the message is encrypted and delivered. Note also that this API call does not support the “Both HTML and Plain Text” template option to specify separate custom values for the alternative text and HTML parts of a message. If you use such a template, the HTML part will be used and the plain text versions will be auto-converted from that HTML. This is consistent with the way this API call works in general. If you really need different plain text and HTML parts, use the “/email/send” API call."
},
"template_data" : {
"type" : "object",
"description" : "If you specify a “template” which has dynamic place holders, you can specify the keywords and respective values to substitute into the template in this field. The value of the “template_data” field is an associated array (object) with the fields/keywords being the template place holder keywords and the values of those keywords being the values to be substituted."
},
"template_data_raw" : {
"type" : "integer",
"description" : "Optional. If passed with a value of “1” then the contents of template_data will be substituted into the template place holders “as is” exactly as passed. This is appropriate for passing content marked up with HTML and inserting that into and HTML-formatted email. The default, “0”, assumes the template_data is plain text content. In this context, the data will be appropriately quoted when being substituted into HTML-formatted email. E.g., special HTML characters like “<” will be converted into HTML entitles like “<” and web links will be converted into clickable links"
},
"to" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “To” of the message.",
"items" : {
"type" : "string"
}
}
}
};
defs["segment_id_add_contacts_body"] = {
"required" : [ "contact_ids" ],
"type" : "object",
"properties" : {
"contact_ids" : {
"type" : "array",
"description" : "Required. Array of integer contact IDs.",
"items" : {
"type" : "integer"
}
}
}
};
defs["segment_id_remove_contacts_body"] = {
"required" : [ "contact_ids" ],
"type" : "object",
"properties" : {
"contact_ids" : {
"type" : "array",
"description" : "Required. Array of integer contact IDs.",
"items" : {
"type" : "integer"
}
}
}
};
defs["Server"] = {
"type" : "object",
"properties" : {
"server_id" : {
"type" : "string",
"description" : "Unique server ID number."
},
"host" : {
"type" : "string",
"description" : "Short name for your server. E.g., “rs999”."
},
"hostname" : {
"type" : "string",
"description" : "Fully qualified name for your server. E.g., “rs999.luxsci.com”."
},
"cpu_cores" : {
"type" : "integer",
"description" : "Number of CPU Cores."
},
"ram_gb" : {
"type" : "integer",
"description" : "Number of GB of Physical Ram."
},
"premium_sla" : {
"type" : "string",
"description" : "Boolean. If true (1), this server is flagged as obeying the Premium SLA."
},
"load_balanced" : {
"type" : "string",
"description" : "Boolean. If true (1), this server is flagged as being part of a hardware load balanced group of servers."
},
"public_ip" : {
"type" : "string",
"description" : "The main public IP address for this server. "
},
"server_type_code" : {
"type" : "string",
"description" : "This is a code of the format A-B.extra that uniquely identifies the kind of server that this is. A = CPU Cores; B = GB Ram; extra is used for AWS servers to indetify their flavor. X is one of:\n- o - Oracle Cloud Infrastructure\n- a AWS Public Cloud\n- p Physical Server\n- g General / other.'"
}
}
};
defs["serverId_sending_rate_body"] = {
"required" : [ "mail_queue_processing_paused", "mail_queue_warmup_on", "mail_queue_warmup_rate_hr" ],
"type" : "object",
"properties" : {
"mail_queue_processing_paused" : {
"type" : "integer",
"description" : "Values 1 or 0. When 1, processing of additional messages (the ones indicated in the mail_queue_unprocessed parameter is suspended. This does not impact messages that have been processed and are merely trying to be delivered."
},
"mail_queue_warmup_on" : {
"type" : "integer",
"description" : "Values 1 or 0. When 1, automatic progression of the email processing rate limit is enabled based on sending volume. When 0, the mail_queue_warmup_rate_hr not automatically change."
},
"mail_queue_warmup_rate_hr" : {
"type" : "integer",
"description" : "Integer value -1 or 20+. This is the maximum number of messages that will be processed for delivery per hour for IP Warmup reasons. This value is divided into parts which determine the actual per-5-minute processing rate. A value of -1 indicates that the processing rate is not limited."
}
}
};
defs["StringOrNumber"] = {};
defs["Suppression"] = {
"type" : "object",
"properties" : {
"emails" : {
"type" : "string",
"description" : "A comma-delimited list of email addresses to suppress. You can include between 1 and 1000 addresses in this parameter.."
},
"expires" : {
"type" : "integer",
"description" : "A positive integer. If included, the suppressions created will expire after this many days. If omitted, the suppressions will not expire."
}
}
};
defs["Template"] = {
"required" : [ "format", "subject", "title" ],
"type" : "object",
"properties" : {
"code_word" : {
"type" : "string",
"description" : "Textual unique template reference. Can contain only letters, numbers, and underscore characters. Cannot be a number. Must be unique across your templates. Optional."
},
"title" : {
"type" : "string",
"description" : "Internal title for this template."
},
"subject" : {
"type" : "string",
"description" : "Required. Email message subject to be used. This field can contain dynamic place holders."
},
"editor_type" : {
"type" : "string",
"description" : "Which editor is assigned for editing this template. Options: advanced, visual, source, legacy."
},
"body_html" : {
"type" : "string",
"description" : "Email body content for HTML viewing. Required for formats of “html” and “both”. This field can contain dynamic place holders."
},
"body_text" : {
"type" : "string",
"description" : "Email body content for plain text viewing. Required for formats of “text” and “both”. This field can contain dynamic place holders."
},
"is_private" : {
"type" : "integer",
"description" : "When set to 1, the template is private and will not be shared with other users. When set to 0, the default, the template may be shared."
},
"preheader" : {
"type" : "string",
"description" : "Preheader (message preview) plain text content for messages that use format=html. The maximum length for this value is 128 characters. All HTML tags will be automatically removed from this content."
},
"format" : {
"type" : "string",
"description" : "Required. What body formats to include when sending? One of these values must be supplied: (html|text|both)."
},
"sl_opt_in" : {
"type" : "boolean",
"description" : "Definitely use email encryption for this message (for users who are not required to use it anyway)."
},
"sl_opt_out" : {
"type" : "boolean",
"description" : "Opt OUT of encryption as this message will NOT include PHI, PII, or sensitive data. Can not be true when sl_opt_in is true or when sl_no_tls is true."
},
"sl_no_tls" : {
"type" : "boolean",
"description" : "Do not use TLS Only as an email encryption method. Use something STRONGER such as Escrow, PGP, or S/MIME."
},
"template_group_id" : {
"type" : "integer",
"description" : "Unique ID of the Template Group this Template is in. A value of zero means Unassigned."
}
}
};
defs["template_group_template_group_id_body"] = {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Required. New Template Group name."
}
}
};
defs["template_group_template_group_id_body_1"] = {
"required" : [ "name" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Required. New Template Group name."
}
}
};
defs["UpdateContactRequestBody"] = {
"type" : "object",
"properties" : {
"email" : {
"type" : "string",
"description" : "Change email address of the contact"
},
"format" : {
"type" : "string",
"description" : "Which format this contact should receive the email\n\nHTML = Will receive HTML version of the email \nTEXT = WIll receive simple text version'\n",
"default" : "HTML",
"enum" : [ "HTML", "TEXT" ]
},
"is_confirmed" : {
"type" : "integer",
"description" : "Confirmation status of the contact\n\n0 = Add this contact as unconfirmed \n1 = Add this contact as confirmed'",
"default" : 1
},
"is_active" : {
"type" : "integer",
"description" : "Status of the contact\n\n0 = Mark as inactive (will not receive emails) \n1 = Mark as active'",
"default" : 1
},
"bounced" : {
"type" : "integer",
"description" : "Bounced status of the contact\n\n0 = Add as not bounced \n1 = Add as soft bounced \n2 = Add as hard bounced'",
"default" : 0
},
"is_unsubscribed" : {
"type" : "integer",
"description" : "Subscription status of the contact\n\n0 = Mark as subscribed \n1 = Mark as unsubscribed'",
"default" : 0
},
"is_spam" : {
"type" : "integer",
"description" : "If this contact has produced a spam complaint\n\n0 = Mark as spam \n1 = Don't mark as spam\"",
"default" : 0
},
"additional_field" : {
"type" : "string",
"description" : "Add or update details to additional fields.\n\n*Note that you cannot currently update only custom fields in 1 API call – at least one “normal” field must also be included.*\n\nFor any date-based fields custom fields, the format needs to be \"ISO 8601\" which is: YYYY-MM-DD.'"
}
}
};
defs["user_username_body"] = {
"type" : "object",
"properties" : {
"city" : {
"type" : "string",
"description" : "City"
},
"company" : {
"type" : "string",
"description" : "Company / organization"
},
"contact" : {
"type" : "string",
"description" : "Full name. E.g. “John Smith”. Must be a non-empty string."
},
"country" : {
"type" : "string",
"description" : "Country"
},
"custom1" : {
"type" : "string",
"description" : "Custom field #1"
},
"custom2" : {
"type" : "string",
"description" : "Custom field #2"
},
"custom3" : {
"type" : "string",
"description" : "Custom field #3"
},
"email1" : {
"type" : "string",
"description" : "Primary email address. Must be a valid email."
},
"email2" : {
"type" : "string",
"description" : "Alternate email address. Must be a valid email."
},
"fax" : {
"type" : "string",
"description" : "FAX number"
},
"phone1" : {
"type" : "string",
"description" : "Primary contact phone number"
},
"phone2" : {
"type" : "string",
"description" : "Alternate contact phone number"
},
"secret_a" : {
"type" : "string",
"description" : "Answer to secret security question"
},
"secret_q" : {
"type" : "string",
"description" : "Secret security question. If you provide one of the 2 security fields, you must supply both."
},
"state" : {
"type" : "string",
"description" : "State/Province"
},
"street1" : {
"type" : "string",
"description" : "Street address (line 1)"
},
"street2" : {
"type" : "string",
"description" : "Street address (line 2)"
},
"zip" : {
"type" : "string",
"description" : "Zip / postal code"
}
}
};
defs["username_fields_body"] = {
"required" : [ "code_word", "name", "type" ],
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Frieldly, readable name for this field."
},
"code_word" : {
"type" : "string",
"description" : "Code Word for the field. This must be unique across all fields owned by all Teams in your account. Code Word can only contain letters, numbers, - and _ characters and can not be the words \"email\", \"is_active\" or \"format\"."
},
"field_order" : {
"type" : "integer",
"description" : "Default sort order for this custom field. Default value is 1."
},
"is_required" : {
"type" : "integer",
"description" : "Indicates if this field is required to be filled in on contact updates/creations in lists that include this field. Default is 0 (false). Specify 1 for true."
},
"type" : {
"type" : "string",
"description" : "The type of data to be stored in this field. This impacts data validation. Choose \"text\" or \"textarea\" for arbitrary data. The possible types include: (text, number, email, textarea, checkbox, select, radio, date, json)."
},
"options" : {
"type" : "string",
"description" : "For option-selection data types (checkbox, select, and radio), this is a newline-delimited list of the possible values. Commas are not permitted in options."
},
"example" : {
"type" : "string",
"description" : "Plain text example value for this field. An example is required for all data types other than (checkbox, select, radio, json). Examples for data data types must be in the format \"YYYY-MM-DD\"."
},
"lists" : {
"type" : "string",
"description" : "Comma-delimited list of \"list_ids\" for the Lists to which this new field should be immediately associated. If lists are specified, all list_ids must be valid."
}
}
};
defs["username_password_body"] = {
"required" : [ "password" ],
"type" : "object",
"properties" : {
"password" : {
"type" : "string",
"description" : "Plain text new password for this user. \nAlternately, you can send an “SHA512 hash” of the password in the format:\n- $6$16charsalt$86-character-hash \n\nIf you would like to update the password without ever telling revealing what it is."
}
}
};
defs["username_password_body_1"] = {
"required" : [ "password" ],
"type" : "object",
"properties" : {
"password" : {
"type" : "string",
"description" : "Password for this user to the SecureSend Portal. The password strength restrictions imposed by your Pribate Labeling settings will be applied here. You can optionally send the password value as a SHA512 salted hash of the form \"$6$16charsalt$86-character-hash\"; passwords sent in this way are not validated."
}
}
};
defs["username_profile_body"] = {
"type" : "object",
"properties" : {
"city" : {
"type" : "string",
"description" : "City"
},
"company" : {
"type" : "string",
"description" : "Company / organization"
},
"contact" : {
"type" : "string",
"description" : "Full name. E.g. “John Smith”. Must be a non-empty string."
},
"country" : {
"type" : "string",
"description" : "Country"
},
"custom1" : {
"type" : "string",
"description" : "Custom field #1"
},
"custom2" : {
"type" : "string",
"description" : "Custom field #2"
},
"custom3" : {
"type" : "string",
"description" : "Custom field #3"
},
"email1" : {
"type" : "string",
"description" : "Primary email address. Must be a valid email."
},
"email2" : {
"type" : "string",
"description" : "Alternate email address. Must be a valid email."
},
"fax" : {
"type" : "string",
"description" : "FAX number"
},
"phone1" : {
"type" : "string",
"description" : "Primary contact phone number"
},
"phone2" : {
"type" : "string",
"description" : "Alternate contact phone number"
},
"secret_a" : {
"type" : "string",
"description" : "Answer to secret security question"
},
"secret_q" : {
"type" : "string",
"description" : "Secret security question. If you provide one of the 2 security fields, you must supply both."
},
"state" : {
"type" : "string",
"description" : "State/Province"
},
"street1" : {
"type" : "string",
"description" : "Street address (line 1)"
},
"street2" : {
"type" : "string",
"description" : "Street address (line 2)"
},
"zip" : {
"type" : "string",
"description" : "Zip / postal code"
}
}
};
defs["username_rename_body"] = {
"required" : [ "new_address" ],
"type" : "object",
"properties" : {
"new_address" : {
"type" : "string",
"description" : "Required. The new login username (email address) for this user."
}
}
};
defs["users_username_body"] = {
"type" : "object",
"properties" : {
"add_service" : {
"type" : "string",
"description" : "Enable the specified service for the user.Valid service names include:\n- “pop” – POP3 access to email\n- “imap” – IMAP4 access to email\n- “smtp” – SMTP for sending email\n- “spam” – Basic Spam and Virus Filtering\n- “ftp” – SFTP access\n- “website” – permission to login to the Web Interface\n\nSFTP service can only be added to users in accounts with web server access.\n\nIf your account does not have enough licenses to add the requested service to the user, then the request will error out unless you have “Permit auto-upgrades as needed to fulfill request” enabled in your API Interface access control settings; in that case, your account will be upgraded and charged for the added licenses."
},
"copy_preferences_from" : {
"type" : "string",
"description" : "Pass the user name of another user in this account (e.g. “john@domain.com”). Web Interface preferences will be copied from that user into the API target user (items like time zone, language, date and time formatting preferences, some WebMail interface preferences, etc.)."
},
"disable" : {
"type" : "integer",
"description" : "If a “1” is passed, then the user will be disabled. Disabling a user simply prevents the user from logging into any services. It does not affect the user’s data and it does not block incoming email. This action is performed by temporarily changing the user’s password to a random string.\n\nOnly currently-enabled users can be disabled.
Access control required to execute this endpoint: Account: Enable/Disable/Delete users
"
},
"disk_quota" : {
"type" : "number",
"description" : "Set a new hard total disk quota for this user. The value passed should be in Gigabytes. E.g. a value of 0.5 would set the limit to 500 MB. A value of zero is not permitted. A negative value will clear the disk quota ... resulting in the user no longer having a disk space limit (which is the default for all users).\n\nDisk space is measured hourly. If the user’s individual disk usage (the sum of all disk space used by email, web, ftp, WebAides, etc.) exceeds his/her disk space quota, then many services will be explicitly disabled and incoming email will bounce. Since the disk usage is only checked hourly, it is possible that the user’s disk space usage will exceed the quota before the user’s account is suspended."
},
"enable" : {
"type" : "integer",
"description" : "If a “1” is passed, then the user will be re-enabled. Only currently-disabled users can be enabled.
Access control required to execute this endpoint: Account: Enable/Disable/Delete users
"
},
"remove_flag" : {
"type" : "string",
"description" : "flag_name type. Remove the specified flag from the user."
},
"remove_service" : {
"type" : "string",
"description" : "service_name type. Remove the specified service from the user."
},
"set_flag" : {
"type" : "string",
"description" : "flag_name type. Enable the specified flag on this user. Valid flags include:\n- “poor_password” – User must change his/her password on the next login to the Web Interface\n- “can_autodelete” – User account can be auto-deleted if the user has not logged in in a long time'"
}
}
};
defs["users_username_body_1"] = {
"type" : "object",
"properties" : {
"name" : {
"type" : "string",
"description" : "Real name of the user. E.g., “John Sample”. This is required for user creation and optional for user update."
},
"password" : {
"type" : "string",
"description" : "Password for this user to the SecureSend Portal. This is required for user creation and optional for user update. The password strength restrictions imposed by your Pribate Labeling settings will be applied here. You can optionally send the password value as a SHA512 salted hash of the form \"$6$16charsalt$86-character-hash\"; passwords sent in this way are not validated."
},
"timezone" : {
"type" : "string",
"description" : "Valid time zone code. E.g. “EST5EDT”. Optional. If omitted on user creation, a time zone of “GMT” will be used."
}
}
};
defs["userusernameemailsend_json"] = {
"type" : "object",
"properties" : {
"message" : {
"$ref" : "#/components/schemas/userusernameemailsend_json_message"
},
"messages" : {
"type" : "array",
"description" : "If you are sending one or more messages through this API call, you can include an array of message objects (see below) as the value of the “messages” parameter. You should not use both message and messages in the same API call. If you do, the “message” parameter will be used, and the “messages” parameter ignored. ",
"items" : {
"$ref" : "#/components/schemas/userusernameemailsend_json_messages"
}
},
"smtp_server" : {
"type" : "string",
"description" : "Optional. Specify a comma-delimited list of the SMTP server hostnames that this message should be delivered through. These hostnames are the canonical server names for your SMTP servers, as provided by your LuxSci support team. E.g., such names are typically of the form “rs999.luxsci.com” or “rs1099.yourdomain.com”. Other possibly valid-forSMTP, names like “email999.luxsci.com,” will be rejected. If you omit this field, then all of the outbound SMTP servers assigned to your account will be selected (no matter if that is 1 or 20) for you."
},
"smtp_server_method" : {
"type" : "string",
"description" : "Optional. If you have multiple SMTP servers implicitly or explicitly selected for the “smtp_server” parameter, this parameter determines in what order they are tried. I.e., the “first” server is tried first and if the API cannot connect to that SMTP server (because it is down or too busy), it will try the next one, and so on. The possible values are “1” and “2”. 1: Try the email servers in the exact order provided. In this case, the servers in smtp_server are given in order of preference and we always try to send through the 1st one in the list when possible, falling back to the others if needed. 2: Randomize the list and then try them in the random order. This option, which is the default, is ideal for distributing the sending of your messages evenly across your selected SMTP servers. "
}
},
"description" : "Must use filenam file.js"
};
defs["userusernameemailsend_json_message"] = {
"required" : [ "body", "subject" ],
"type" : "object",
"properties" : {
"attachments" : {
"type" : "array",
"description" : "Optional. If included, this is an array of JSON objects, one for each uploaded file. See the General API Usage Guide for how to upload files with your request. The individual JSON objects will have the following keywords and values: • name – The exact filename of the uploaded file • hash – The SHA256 hex-encoded hash of the content of this file.",
"items" : {
"type" : "object"
}
},
"bcc" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “Bcc” of the message.",
"items" : {
"type" : "string"
}
},
"body" : {
"type" : "string",
"description" : "Required. The body content of this message. This can be either a block of plain text (\\n or \\r\\n – UNIX or Windows style linefeeds are recommended) or a block of HTML content. For best results, HTML content should NOT be a completed HTML Document, but what you would put inside
…
tags. If you need to include a complete, arbitrary HTML document, we recommend uploading that as an attached file. See the “body_type” parameter."
},
"body_text" : {
"type" : "string",
"description" : "Optional. Only used when body_type=”html”. If supplied, this plain text content will be used as the “alternative” message content for the HTML message body provided in “body”. I.e., for people with HTML email content viewing disabled in their email or WebMail interfaces, this plain text version of your content will be displayed instead. If omitted, a plain text alternate version of your HTML message content will not be included in your message."
},
"body_type" : {
"type" : "string",
"description" : "Optional. If included, this must be “text” or “html”. If omitted, it takes on the value “text”. The body_type parameter indicates what content is being passed in the “body” field."
},
"cc" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “Cc” of the message.",
"items" : {
"type" : "string"
}
},
"from_address" : {
"type" : "string",
"description" : "Optional. Email address to use as the “From address” for this message. If omitted, the sending user’s login email address will be used. Note that it is against the terms of service to use an address here that does not belong to you or for which you do not otherwise have permission to send from."
},
"from_name" : {
"type" : "string",
"description" : "Optional. The plain text name of the sender. If omitted, the sending user’s “contact” name (from his/her profile) will be used. If that is empty, then the “from_address” will be used. The from name can be a maximum of 100 characters long."
},
"headers" : {
"type" : "array",
"description" : "Optional. If included, the value must be an array specifying data for up to 10 custom headers that will be added to the outbound email message. This is usually used in combination with the custom header tracking and reporting features of LuxSci outbound emailing. E.g., you can set headers here that will be tracked (if you have enabled tracking of them in your outbound email settings in the LuxSci web site), and which can be used for reporting. Each element of the headers array must itself be an array of two elements. The 1st element is the custom header name; the 2nd element is the custom header value. Some of the basic validation restrictions include: • You cannot override standard email headers (like To, Subject, Date, etc.) using custom headers. • Header names cannot contain spaces, tabs, linefeeds, or colons • Header values cannot contain tabs or linefeeds and must be non-empty. • Each added header line must be less than 997 characters in length • The total length of add added header lines must be less than 5000 characters in length.",
"items" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"receipt" : {
"type" : "integer",
"description" : "Optional. If set to 1, a read receipt will be requested. For SecureLine Escrow, these read receipts will always be sent back on the 1st time the message is viewed by each recipient … the recipient has no say in the matter and no indication of if this is happening."
},
"reply_address" : {
"type" : "string",
"description" : "Optional. Email address to use as the “Reply-To address” for this message. If omitted, the from address will be used. Note that it is against the terms of service to use an address here that does not belong to you or for which you do not otherwise have permission to send from."
},
"secline_a_ [email]" : {
"type" : "string",
"description" : "Optional. For email messages sent via SecureLine Escrow where Question/Answer pairs are being used for authentication, this answer will be used for the recipient whose email address is “[email]”. This overrides any other answer that may have otherwise been used."
},
"secline_keep_ [email]" : {
"type" : "integer",
"description" : "Optional. (Days) For ALL email messages sent via SecureLine Escrow and SecureText, this this will be used as the integer number of days before the message accessible for recipient [email] expires from access. Note that you can have different expirations for different recipients of the same message. Once the message has expired for all recipients, the encrypted message data itself is deleted from the system."
},
"secline_q_ [email]" : {
"type" : "string",
"description" : "Optional. For email messages sent via SecureLine Escrow where Question/Answer pairs are being used for authentication, this question will be used for the recipient whose email address is “[email]”. E.g., use “secline_q_ bob@domain.com” as the key for the question for recipient “bob@domain.com”. This overrides any other question that may have otherwise been used. If you set this question value to just an asterisk, “*”, then SecureSend portal login will be used for recipient authentication instead of an explicit question and answer. It does not matter what you specify for “secline_a_...” in this case."
},
"subject" : {
"type" : "string",
"description" : "Required. Subject of this message. This can be a maximum of 1000 characters long. Leading and training spaces are automatically trimmed from this subject. Note: the API will encode the subject if/when needed; subject content should not be pre-encoded. Simply include the raw subject text."
},
"template" : {
"type" : "string",
"description" : "Optional. If provided, this must be the “Template ID” or template “Code Word” corresponding to an “SMTP or API Email Template” in the sender’s account. This template will be used to set the subject and body of the message (overriding any other subject and body data sent in your API call). Note, any attachments that you include in the API call will still be attached to the templated email message. Note that the templates “flags” may affect how the message isencrypted and delivered."
},
"template_data" : {
"type" : "object",
"description" : "If you specify a template which has dynamic place holders, you can specify the keywords and respective values to substitute into the template in this field. The value of the “template_data” field is an associated array (object) with the fields/keywords being the template place holder keywords and the values of those keywords beingthe values to be substituted."
},
"template_data_raw" : {
"type" : "integer",
"description" : "Optional. If passed with a value of 1, then the contents of template_data will be substituted into the template place holders as is, exactly as passed. This is appropriate for passing content marked up with HTML and inserting that into and HTML-formatted email. The default, “0”, assumes the template_data is plain text content. In this context, the data will be appropriately quoted when being substituted into HTML-formatted email. E.g., special HTML characters like “<” will be converted into HTML entitles like “<” and web links will be converted into clickable links."
},
"template_subject" : {
"type" : "string",
"description" : "Optional. If specified, the value of this parmeter will be used as the message Subject, instead of the subject defined in the Template."
},
"to" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “To” of the message.",
"items" : {
"type" : "string"
}
}
},
"description" : "If you are sending a single message through this API call, you can include the message data object (see below) as the value of the “message” parameter."
};
defs["userusernameemailsend_json_messages"] = {
"required" : [ "body", "subject" ],
"type" : "object",
"properties" : {
"attachments" : {
"type" : "array",
"description" : "Optional. If included, this is an array of JSON objects, one for each uploaded file. See the General API Usage Guide for how to upload files with your request. The individual JSON objects will have the following keywords and values: • name – The exact filename of the uploaded file • hash – The SHA256 hex-encoded hash of the content of this file.",
"items" : {
"type" : "object"
}
},
"bcc" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “Bcc” of the message.",
"items" : {
"type" : "string"
}
},
"body" : {
"type" : "string",
"description" : "Required. The body content of this message. This can be either a block of plain text (\\n or \\r\\n – UNIX or Windows style linefeeds are recommended) or a block of HTML content. For best results, HTML content should NOT be a completed HTML Document, but what you would put inside
…
tags. If you need to include a complete, arbitrary HTML document, we recommend uploading that as an attached file. See the “body_type” parameter."
},
"body_text" : {
"type" : "string",
"description" : "Optional. Only used when body_type=”html”. If supplied, this plain text content will be used as the “alternative” message content for the HTML message body provided in “body”. I.e., for people with HTML email content viewing disabled in their email or WebMail interfaces, this plain text version of your content will be displayed instead. If omitted, a plain text alternate version of your HTML message content will not be included in your message."
},
"body_type" : {
"type" : "string",
"description" : "Optional. If included, this must be “text” or “html”. If omitted, it takes on the value “text”. The body_type parameter indicates what content is being passed in the “body” field."
},
"cc" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “Cc” of the message.",
"items" : {
"type" : "string"
}
},
"from_address" : {
"type" : "string",
"description" : "Optional. Email address to use as the “From address” for this message. If omitted, the sending user’s login email address will be used. Note that it is against the terms of service to use an address here that does not belong to you or for which you do not otherwise have permission to send from."
},
"from_name" : {
"type" : "string",
"description" : "Optional. The plain text name of the sender. If omitted, the sending user’s “contact” name (from his/her profile) will be used. If that is empty, then the “from_address” will be used. The from name can be a maximum of 100 characters long."
},
"headers" : {
"type" : "array",
"description" : "Optional. If included, the value must be an array specifying data for up to 10 custom headers that will be added to the outbound email message. This is usually used in combination with the custom header tracking and reporting features of LuxSci outbound emailing. E.g., you can set headers here that will be tracked (if you have enabled tracking of them in your outbound email settings in the LuxSci web site), and which can be used for reporting. Each element of the headers array must itself be an array of two elements. The 1st element is the custom header name; the 2nd element is the custom header value. Some of the basic validation restrictions include: • You cannot override standard email headers (like To, Subject, Date, etc.) using custom headers. • Header names cannot contain spaces, tabs, linefeeds, or colons • Header values cannot contain tabs or linefeeds and must be non-empty. • Each added header line must be less than 997 characters in length • The total length of add added header lines must be less than 5000 characters in length.",
"items" : {
"type" : "array",
"items" : {
"type" : "string"
}
}
},
"receipt" : {
"type" : "integer",
"description" : "Optional. If set to “1”, a read receipt will be requested. For SecureLine Escrow, these read receipts will always be sent back on the 1st time the message is viewed by each recipient … the recipient has no say in the matter and no indication of if this is happening."
},
"reply_address" : {
"type" : "string",
"description" : "Optional. Email address to use as the “Reply-To address” for this message. If omitted, the from address will be used. Note that it is against the terms of service to use an address here that does not belong to you or for which you do not otherwise have permission to send from."
},
"secline_a_ [email]" : {
"type" : "string",
"description" : "Optional. For email messages sent via SecureLine Escrow where Question/Answer pairs are being used for authentication, this answer will be used for the recipient whose email address is “[email]”. This overrides any other answer that may have otherwise been used."
},
"secline_keep_ [email]" : {
"type" : "integer",
"description" : "Optional. (Days) For ALL email messages sent via SecureLine Escrow and SecureText, this this will be used as the integer number of days before the message accessible for recipient [email] expires from access. Note that you can have different expirations for different recipients of the same message. Once the message has expired for all recipients, the encrypted message data itself is deleted from the system."
},
"secline_q_ [email]" : {
"type" : "string",
"description" : "Optional. For email messages sent via SecureLine Escrow where Question/Answer pairs are being used for authentication, this question will be used for the recipient whose email address is “[email]”. E.g., use “secline_q_ bob@domain.com” as the key for the question for recipient “bob@domain.com”. This overrides any other question that may have otherwise been used. If you set this question value to just an asterisk, “*”, then SecureSend portal login will be used for recipient authentication instead of an explicit question and answer. It does not matter what you specify for “secline_a_...” in this case."
},
"subject" : {
"type" : "string",
"description" : "Required. Subject of this message. This can be a maximum of 1000 characters long. Leading and training spaces are automatically trimmed from this subject."
},
"template" : {
"type" : "string",
"description" : "Optional. If provided, this must be the “Template ID” or template “Code Word” corresponding to an “SMTP or API Email Template” in the sender’s account. This template will be used to set the subject and body of the message (overriding any other subject and body data sent in your API call). Note, any attachments that you include in the API call will still be attached to the templated email message. Note that the templates “flags” may affect how the message isencrypted and delivered."
},
"template_data" : {
"type" : "object",
"description" : "If you specify a “template” which has dynamic place holders, you can specify the keywords and respective values to substitute into the template in this field. The value of the “template_data” field is an associated array (object) with the fields/keywords being the template place holder keywords and the values of those keywords beingthe values to be substituted."
},
"template_data_raw" : {
"type" : "integer",
"description" : "Optional. If passed with a value of “1” then the contents of template_data will be substituted into the template place holders “as is” exactly as passed. This is appropriate for passing content marked up with HTML and inserting that into and HTML-formatted email. The default, “0”, assumes the template_data is plain text content. In this context, the data will be appropriately quoted when being substituted into HTML-formatted email. E.g., special HTML characters like “<” will be converted into HTML entitles like “<” and web links will be converted into clickable links."
},
"to" : {
"type" : "array",
"description" : "Optional. Array of email addresses for the recipients in the “To” of the message.",
"items" : {
"type" : "string"
}
}
}
};
defs["WebAide"] = {
"type" : "object",
"properties" : {
"title" : {
"type" : "string",
"description" : "Plain text title of the WebAide"
},
"webaide_id" : {
"type" : "integer",
"description" : "Numerical unique WebAide Id."
},
"modified" : {
"type" : "string",
"description" : "Last modified date for the WebAide (e.g. last edit, add, or delete). This is in the format “YYYY-MM-DD HH:MM:SS” in GMT."
},
"desc" : {
"type" : "string",
"description" : "Plain text description of the WebAide that can be optionally provided by the creator / admin of the WebAide.",
"nullable" : true
},
"permissions" : {
"type" : "string",
"description" : "Comma-delimited list of permissions that the user has on this WebAide. The possible values are taken from the webaide_permission list."
},
"type" : {
"type" : "string",
"description" : "webaide_type"
},
"subscribed" : {
"type" : "integer",
"description" : "If the user is subscribed to this WebAide (1) or not (0)"
},
"tosync" : {
"type" : "integer",
"description" : "If the WebAide is tagged for synchronization via MobileSync (1) or not (0) favorite True (1) if this WebAide is tagged as the user’s “Favorite”, false (0) otherwise. There can only be 1 Favorite … but there do not have to be any. ",
"enum" : [ 0, 1 ]
},
"favorite" : {
"type" : "integer",
"description" : "True (1) if this WebAide is tagged as the user’s “Favorite”, false (0) otherwise. There can only be 1 Favorite … but there do not have to be any",
"enum" : [ 0, 1 ]
},
"mine" : {
"type" : "integer",
"description" : "True (1) if the WebAide is owned by the user; False (0) if it is owned by someone else.",
"enum" : [ 0, 1 ]
},
"changes" : {
"type" : "string",
"description" : "Present only if you passed the optional “changes” query string parameter. If present, this is an object that contains the following keys:\n* entries – Total number of entries in this WebAide\n* adds – Number of entries added on or after the date/time provided\n* changes – Number of entries that existed before the date/time provided that were modified on or after the date/time provided\n* deletes – Number of entries that were deleted on or after the date/time provided"
}
}
};
defs["webaide_id_entry_id_body"] = {
"required" : [ "entry" ],
"type" : "object",
"properties" : {
"timezone" : {
"type" : "string",
"description" : "Time zone Keyword (e.g. GMT, EST5EDT, etc.) Used for calendars and Tasks WebAides to define the Time zone of the event for recurrence."
},
"import_recur" : {
"type" : "integer",
"description" : "Optional. Value: 1 or 0. Default 0. For calendar and task entries. If true, recurrence data will be updated/replaced. If false, then the event’s recurrence pattern will remain unchanged.",
"default" : 0,
"enum" : [ 0, 1 ]
},
"entry" : {
"type" : "object",
"description" : "Required. Key/value pairs of the data used to make this WebAide entry. See the WebAide entry data fields for the field names and meanings."
}
}
};
defs["webaide_type_webaide_id_body"] = {
"required" : [ "entry" ],
"type" : "object",
"properties" : {
"timezone" : {
"type" : "string",
"description" : "Time zone Keyword (e.g. GMT, EST5EDT, etc.). Used for calendars and Tasks WebAides to define the Time zone of the event for recurrence."
},
"entry" : {
"type" : "object",
"description" : "Required. Key/value pairs of the data used to make this WebAide entry. See the webaide entry data fields for the field names and meanings."
}
}
};
defs["webaides_webaide_type_body"] = {
"required" : [ "title" ],
"type" : "object",
"properties" : {
"title" : {
"type" : "string",
"description" : "Required. Title string for the new WebAide. This does not have to be unique across your WebAides. You can, but probably should not, create multiple WebAides with the same title"
},
"description" : {
"type" : "string",
"description" : "Optional. Description of the new WebAide"
},
"parent_id" : {
"type" : "string",
"description" : "Optional. WebAide ID of a WebAide of the same webaide_type owned by this user that will be the parent for this new WebAide in the hierarchy. If this is omitted or invalid, the new WebAide will be created at the “top level” of the hierarchy."
},
"subscribe" : {
"type" : "integer",
"description" : "Optional. If set to true (e.g. “1”), then the WebAide will be subscribed to once it is created."
}
}
};
For API Integrations using the "LuxSci Secure" authentication mechanisms, only. In order to use any API commands, at any level, your client must first authenticate and obtain an authentication code. This authentication code can then be used to make one or more calls to API functions.
Your authentication "session" can also be revoked, immediately invalidating all authentication codes received for it (i.e., this is a "log out").
In order to authenticate, you will need your API Token, API Key, and your API Host name. This API request is different from authenticated request in that you do not need to send a cookie, and the way that the request is signed is different.
See also [LuxSci Secure Authentication](https://luxsci.com/api/mechanics/#luxscisecure).
/auth
Parameters
Body parameters
Name
Description
body
Responses
Status: 201 - Standard JSON response.
No "data" keyword will be sent.
See the "auth" keyword for your new authentication token.
For API Integrations using the "OAuth 2" authentication mechanism, only. In order to use any API commands, at any level, your client must first authenticate and obtain a Bearer Token. This Bearer Token can then be used to make one or more calls to API functions.
The Bearer Token is obtained using the OAuth 2.0 Client Credentials Flow for account-scope API Integrations, and the OAuth 2.0 Resource Owner Password Credentials Flow (ROPC) or user-scope API Integrations.
In order to authenticate, you will need your API Token, API Key, and your API Host name. This API request is different from authenticated request in that you do not send an Authorization header.
See also [OAuth Authentication](https://luxsci.com/api/mechanics/#oauth).
For API Integrations using the "LuxSci Secure" authentication mechanism, only. Revoke your authentication session and invalidate all authorization codes received.
See also [LuxSci Secure Authentication](https://luxsci.com/api/mechanics/#luxscisecure).
Starting with the / following /content_library, this is the directory in {username} to create. This directory must not exist and, if it is a subdirectory, the parent directories must all exist.
Starting with the / following /content_library, this is the directory in {username} to create. This directory must not exist and, if it is a subdirectory, the parent directories must all exist.
Required. Starting with the / following /content_library, this is the path of the file in {username} to delete. The path must not end in a training slash. Be sure to not use double slashes. Example: "/files/media/image.jpg".
Starting with the / following /content_library, this is the directory in {username} to examine. The path must end in a training slash. Be sure to not use double slashes. Note, for example, that for directory "/files/media/" you would insert "files/media/" in this variable. If this value is omitted, the contents of the top-level directory will be returned.
Required
Query parameters
Name
Description
Responses
Status: 200 - The response contains two main parts. "meta" reflects details about the directory requested and "items" is a list of details about the files and directories in this directory.
Required. Starting with the / following /content_library, this is the path of the file in {username}. The path must not end in a training slash. Be sure to not use double slashes. Example: "/files/media/image.jpg".
Retrieve details about the Top Content Library directory.
Access control required to execute this endpoint: User Email: Content Library
/perl/api/v2/user/{username}/content_library/
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
Responses
Status: 200 - The response contains two main parts. "meta" reflects details about the directory requested and "items" is a list of details about the files and directories in this directory.
Required. Starting with the / following /content_library, this is the path in {username} to place the file. The path must not end in a training slash. Be sure to not use double slashes. Example: "files/media/image.jpg".
Create a new domain in your account. Note: the domain MUST be either a subdomain or have client-managed DNS.
For HIPAA accounts, all new domains will be locked down for HIPAA compliance unless the account is configured as “HIPAA Flexible.” In that case, all new domains cannot be created via the API.
Your API Interface looks to see how many domains were added to your account in the past 24 hours. If this number is equal or greater than your API create limit, then your API will reject additional domain creation requests until that situation changes. See your API Interface configuration page for your domain creation limit.
Access control required to execute this endpoint: Account: Domains - Manage
Remove a domain from your account.
If the domain is currently in use (e.g. has users, web sites, has premium filtering or archival, has managed DNS, etc.), then it cannot be deleted. Note: the domain MUST be either a subdomain or have client-managed DNS.
Access control required to execute this endpoint: Account: Domains - Manage
Status: 200 - The data will be a single object with the keys and values for the domain requested, as per the “Get Domains Report” API call, above.
Note that for this call, the data is returned without an enclosing array, as there is always exactly 1 object in the response.
Add a new Custom Bounce Domain to the account. The bounce domain must be a subdomain of the from domain in question, have DKIM configured already, and the DNS must already be a CNAME to any of the target domains listed in the Custom Bounce Domains user interface area.
Access control required to execute this endpoint: Account: Domains - Manage
/perl/api/v2/account/{accountId}/bounce_domain
Parameters
Path parameters
Name
Description
accountId*
String
Required
Body parameters
Name
Description
body
Query parameters
Name
Description
Responses
Status: 200 - OK
createDkim
Create a new DKIM configuration in your account.
Access control required to execute this endpoint: Account: Domains - Manage
/perl/api/v2/account/{accountId}/dkim
Parameters
Path parameters
Name
Description
accountId*
String
Required
Body parameters
Name
Description
body
Query parameters
Name
Description
Responses
Status: 200 - OK
deleteDkim
Remove a DKIM definition from your account.
Access control required to execute this endpoint: Account: Domains - Manage
Status: 200 - The data will be a single object with the keys and values for the domain requested, as per the “Get DKIM Report” API call, above.
Note that for this call, the data is returned without an enclosing array, as there is always exactly 1 object in the response'
When composing an email message, you may have a list of recipients and want to know what kind of encryption, if any, would be used for each recipient when it is finally sent out with SecureLine encryption. E.g. this can be used to (a) inform the sender of what encryption will be used, and (b) to discover ahead of time if there are some recipients for which a message cannot yet be encrypted (possible, for example, if SecureLine Escrow is setup to use question and answer authentication without a default fall-back question and answer).
It is good to use this method before sending an encrypted message – so you can modify your recipient list and/or add additional required encryption information before sending.
Note: This is a RPC-style call and hence uses a POST method even though we are “getting data”. We are interacting with the system rather than querying a specific resource.
Access control required to execute this endpoint: User Email - Sending
Status: 200 - The response body for a successful request will contain a hash in the “data” field with one keyword, “recipients”. The value of “recipients” is a list. Each list element will be another list corresponding to one of your queried recipients.
Create new alias(es) in your account.
Your API Interface looks to see how many aliases were added to your account in the past 24 hours. If this number is equal or greater than your API create limit, then your API will reject additional alias creation requests until that situation changes. See your API Interface configuration page for your alias creation limit.
Note also that accounts are limited in the maximum number of email aliases permitted per domain. By default, this is 100 + 10 aliases per user in the domain. So, for a domain with 20 users, this would be 100 + 10x20 = 300 aliases.
Access control required to execute this endpoint: Account: Email Aliases - Manage
Status: 200 - The data field of the response is an on object whose keywords and values correspond to those in the “Get Aliases Report”. This is the same as that function, except that it is targeted at a specific alias and thus instead of returning a list of alias detail objects, it simply returns the single alias detail object.
Modify an existing alias in your account.
This function allows you to modify regular email aliases in your account. It does not permit modification of “catch all” aliases, “user forwards,” and system aliases such as WebAide Group Distribution Lists. You can use this function to enable and disable aliases; however, you must use a separate API call to actually delete them.
Access control required to execute this endpoint: Account: Email Aliases - Manage
Create a Custom Field. These Custom Fields are useful for Secure Marketing and for Advanced Secure High Volume. Note that for users in Teams, only Team Administrators are permitted to make new Custom Fields.
Access control required to execute this endpoint: User Email: Custom Fields
Create a new email template. Templates created via the API will use the Legacy editor_type by default if editor_type is not specified. If you select the Legacy Editor but do not have permission to use it, the Source Editor will be selected instead.
Access control required to execute this endpoint: User Email: Templates
/perl/api/v2/user/{username}/templates
Parameters
Path parameters
Name
Description
username*
String
Required
Body parameters
Name
Description
body
Query parameters
Name
Description
Responses
Status: 200 - Results in the “data” component of the response.
Suppression email address to be retrieved. You are returning all suppression entries that contain the string 'email'. Note that even if you specify a full email address for 'email,' you can get multiple matches.
Required
Query parameters
Name
Description
Responses
Status: 200 - The data will be a single object that is a list containing one entry for each match. Each entry will itself be a list of the form: `[email, expires, account_id, domain_id, user_id]`. "email" is the email address suppressed. "expires" is the number of days until it expires, or zero if it does not expire. account_id is the customer account id. domain_id is zero for account-level entries or the domain name id for domain and user-level entries. user_id is zero except for user-level suppression entries, in which case it is the end user id number.
Retrieve all email suppressions at the account level. See also the newer and more general function: getAccountSuppressionReport.
Access control required to execute this endpoint: User Email: Suppression
/perl/api/v2/account/{accountId}/suppression/
Parameters
Path parameters
Name
Description
accountId*
String
Required
Query parameters
Name
Description
Responses
Status: 200 - The data will be a single object that is a list containing one entry for each match. Each entry will itself be a list of the form: `[email, expires, account_id, domain_id, user_id]`. "email" is the email address suppressed. "expires" is the number of days until it expires, or zero if it does not expire. account_id is the customer account id. domain_id is zero for account-level entries, or the domain name id for domain and user-level entries. user_id is zero except for user-level suppression entries, in which case it is the end user id number.
Retrieve a list of all Custom Fields visible to user {username}. These Custom Fields are useful for Secure Marketing and for Advanced Secure High Volume.
Access control required to execute this endpoint: User Email: Custom Fields
This function checks if a specific domain name supports “good” SMTP TLS for email delivery to its users. This means:
- All MX records are working
- SMTP TLS is supported by all MX records
- TLS support includes TLS v1.0+ and strong (NIST 800-52 recommended) ciphers like AES256.
For more background, see:
- [About SMTP TLS](https://luxsci.com/blog/smtp-tls-all-about-secure-email-delivery-over-tls.html)
- [What Level of SSL/TLS is needed for HIPAA?](https://luxsci.com/blog/level-ssl-tls-required-hipaa.html)
Access control required to execute this endpoint: User Email - Sending
This function returns a list of all content tags accessible to you.
Access control required to execute this endpoint: User Email: Templates
/perl/api/v2/user/{username}/content_tags
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
Responses
Status: 200 - Results in the “data” component of the response. The data component is a list of associated arrays. Each associate array corresponds to a single content tag
This function returns a list of all templates groups accessible to you.
Access control required to execute this endpoint: User Email: Templates
/perl/api/v2/user/{username}/template_groups
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
Responses
Status: 200 - Results in the data component of the response. The data component is a list of associated arrays. Each associate array corresponds to a single template group.
This function returns a list of all templates accessible to you.
Access control required to execute this endpoint: User Email: Templates
/perl/api/v2/user/{username}/templates
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
user_id
Integer
Restricts the templates returned to only those owned by a specific user, [user_id]. This is relevent when [username] used belongs to a Team. In that case, all non-private Templates of all Team members are returned by this call unless this parameter is specified.
Responses
Status: 200 - Results in the “data” component of the response. The data component is a list of associated arrays. Each associate array corresponds to a single template.
Retrieve a specific email suppression at the user level.
Access control required to execute this endpoint: User Email: Suppression
. See also the newer and more general function: getUserSuppressionReport.
/perl/api/v2/user/{username}/suppression/{email}
Parameters
Path parameters
Name
Description
username*
String
Required
email*
String
Suppression email address to be retrieved. You are returning all suppression entries that contain the string 'email'. Note that even if you specify a full email address for 'email,' you can get multiple matches.
Required
Query parameters
Name
Description
Responses
Status: 200 - The data will be a single object that is a list containing one entry for each match. Each entry will itself be a list of the form: [email, expires, account_id, domain_id, user_id, date_time_created, notes]. "email" is the email address suppressed. "expires" is the number of days until it expires, or zero if it does not expire. account_id is the customer account id. domain_id is zero for account-level entries, or the domain name id for domain and user-level entries. user_id is zero except for user-level suppression entries, in which case it is the end user id number. "date_time_created" is in GMT.
Retrieve all email suppressions at the user level in a simple list.
Access control required to execute this endpoint: User Email: Suppression
/perl/api/v2/user/{username}/suppression/
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
Responses
Status: 200 - The data will be a single object that is a list containing one entry for each match. Each entry will itself be a list of the form: [email, expires, account_id, domain_id, user_id, date_time_created, notes]. "email" is the email address suppressed. "expires" is the number of days until it expires, or zero if it does not expire. account_id is the customer account id. domain_id is zero for account-level entries, or the domain name id for domain and user-level entries. user_id is zero except for user-level suppression entries, in which case it is the end user id number. "date_time_created" is in GMT.
This API call is a generic outbound email sending interface that is designed to enable efficient large-scale email sending through your account’s email servers. It is ideal for Secure High Volume email sending.
See - [sendEmail vs sendSecureEmailOrSecureText endpoints](/rest-api/sending-email.html) for sending email via the LuxSci API.
This API function is used to send message(s) through your account’s SMTP server(s). You can think of it as an API-based proxy to SMTP, used for cases where direct use of SMTP is not an option. Generally speaking, direct use of SMTP is overall faster and more efficient; however, the API does include some things that you cannot get through direct SMTP connections. For example, the API includes support for failover, load-balanced SMTP servers; this can be done with direct SMTP only if you have a load balancer in front of your servers. You can also hand off messages to LuxSci (into the outbound queues) faster through the API than you can through direct SMTP.
As this is a proxy for SMTP, the majority of the email message processing actually happens on the SMTP servers themselves (just like it would if you had actually used direct SMTP to send the message). The API call accepts the message, vets your ability to send the message, queues the message, and the moves it to the appropriate SMTP servers for delivery. This API process is designed to be very safe and efficient and works well for customers with very large SMTP sending limits (e.g., millions of messages per month).
This API function allows you to optionally include attachments. If you wish to include attachments, you must format your request as a `multipart/form-data` request as discussed in the [API Mechanics Guide](/rest-api/mechanics.html).
If the API call 'fails' it may be because more information is needed to encrypt the message to your recipients, if the request is malformed, or if your sending has exceeded some limit. Here are some limits to be aware of
1. The sending user must have an SMTP license.
2. The sending user must have a SecureLine license to use SecureLine-specific parameters.
3. You have to send to at least 1 recipient, but no more than 100 recipients per message. This limit can be increased on dedicated servers.
4. Your API call can contain 1 to 1000 messages. This limit can be increased on dedicated servers.
5. The total number of recipients across all messages in your API call cannot exceed 1000. This limit can be increased on dedicated servers.
6. The messages sent by a user through this API call count towards the users’ daily and monthly SMTP sending (just as if the user had actually used direct SMTP to send) totals. So, messages will be rejected if a user exceeds any of these limits. Please contact support if you need to upgrade these limits.
7. While SecureLine-encrypted emails sending is supported through this API call, SecureText sending is not.
8. If there are restrictions configured in the Domain Administration control panel on to whom the sending user can send messages, these restrictions also apply to messages sent through the API.
9. The total size of the message subject, body, and all attachments (raw size) must be less than or equal to 66% the sender’s SMTP message sending size limit. This limit can be affected by use of Email Archival, custom domain-level size limits, and general global limits. The current value of this limit can be found in the “Maximum Message Size Limit” for the sender’s domain in your domain administration settings area. 66% is used because, when the attachments are encoded into an actual email message, the size can bloat to 140-150% of the raw size; the SMTP message size limit looks at the size of the encoded messages passing through your SMTP servers.
Note that once messages sent via this API arrive on your SMTP server for processing and delivery, those messages are subject to any server delivery rate limiting settings currently enabled on the SMTP server. For example, if your SMTP server is “warming up” its IP address by slowly increasing its outbound email delivery rate, messages sent by the API through that server may be delayed by that warmup rate limit.
**Maximizing your sending rate:**
To deposit email messages in the outbound queues as fast as possible using the API, we recommend
1. Send as many messages as you can in each API call. This “pipelining” greatly reduces the number of API calls you need to execute and greatly speeds up processing of your messages.
2. When sending same attachments in multiple messages, use the API’s feature for including the attachment once and referencing it in each of the actual messages. This will greatly speed up the uploading/posting of your message information to the API server.
3. Keep the messages as small as possible.
4. If appropriate for your use case, send fewer messages. Have more recipients per message (using the `bcc` field if needed).
5. Ask support about dedicated API servers. If all of the server resources are dedicated to your account, your throughput can be higher. You can also use multiple load-balanced dedicated API sending servers to scale your throughput capacity.
6. Use the `priority` field to ensure that more important messages are processed and delivered before less important messages.
Under ideal conditions, you should be able to deposit outbound email messages in the API queues much faster that your email servers can actually deliver those messages to the actual recipients (unless you have a number of powerful dedicated email servers). That is OK, your email servers will just process and delivery them as fast as they can. The actual rate of message delivery to the recipients will be a function of how many email servers you have, what their specs are, how busy they are, and many other factors involved in SMTP email delivery – such as the recipients’ DNS response time, the recipient’s inbound email server speeds, etc.
Access control required to execute this endpoint: User Email: Sending
/perl/api/v2/user/{username}/email/send
Parameters
Path parameters
Name
Description
username*
String
Required
Body parameters
Name
Description
body
Form parameters
Name
Description
json
userusernameemailsend_json
files
array[byte[]]
(binary)
Query parameters
Name
Description
Responses
Status: 200 - The response body for a successful request will contain a hash in the “data” field. The value of this data field is an array which lists the unique sendmail_id codes for each of the messages sent. These codes can be used in the reporting API functions to look up delivery status and other message details. If multiple messages were sent in a single API call, multiple sendmail_id codes will be returned and the order of the codes in the array will exactly match the order of the messages in the API call.
Send Secure Email and/or SecureText messages through your WebMail servers. This API endpoint is deprecated; use the sendEmail endpoint instead. See [sendEmail vs sendSecureEmailOrSecureText endpoints](/rest-api/sending-email.html) for sending email via the LuxSci API.
Access control required to execute this endpoint: User Email: Sending
This content tag update call will update/replace ALL FIELDS. So, include all fields, as omitted fields will be treated as if you are updating them with empty or false values. This is effectively just like deleting the old tag with this `tag_id` and replacing it with the new data. Note, this call does not allow you to change the type of a Contet Tag or alter the inclusion rules for Dynamic Content Tags.
Access control required to execute this endpoint: User Email: Templates
This template update call will update/replace ALL FIELDS (except editor_type). So, include all fields, as omitted fields will be treated as if you are updating them with empty or false values. This is effectively just like deleting the old template with this `template_id` and replacing it with the new data. Note, the editor_type can not be changed with this update API call; however, if you update a Template that was previously using the Advaced Editor, then it will be automatically changed to use the Source Editor going forward for compatibility with arbitrary HTML.
Access control required to execute this endpoint: User Email: Templates
Add New Contacts in Bulk. You can add up to 50,000 conacts per API cal.
Access control required to execute this endpoint: User Marketing - Contact Management
/perl/api/v2/user/{username}/marketing/contacts
Parameters
Path parameters
Name
Description
username*
String
Required
Body parameters
Name
Description
body *
Query parameters
Name
Description
Responses
Status: 200 - Returns the number of contacts added plus an array of hashes, one per contact posted. The order of contacts in the response array matches the order in the request array. Note the values for DateTime custom fields must be in GMT in the format "YYYY-MM-DD HH:MM:SS".
Delete a Campaign. Deleing a campaign will also delete logs and statistics and other data related to that campaign. Note that Campaigns associated with Automated Workflow Steps can not be deleted via the API.
Access control required to execute this endpoint: Marketing - Campaign Management
Return summary data of all visible Campaigns. The Campaign creation date is used with date matching criteria. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_campaigns)
Access control required to execute this endpoint: User: Marketing - Reporting
/perl/api/v2/user/{username}/marketing/campaigns
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
user_id
Integer
Select campaigns owned by the given user ID.
status
String
Campaign Status Enum.
use_date
String
This report uses the Campaign created date by default for all date-related filtering and sorting. Set this parameter to "modified" to instead used the modified date. Set it to "send_at" to use the date/time that the Campaign is scheduled to be sent. Any other value passed in this parameter will cause the "created" date to be used.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing campaign summary data.
Return all Contacts in the specified List. If no list is specified, then all contacts across all lists will be returned. The contact creation date is used with date matching criteria. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_contacts)
Access control required to execute this endpoint: Marketing - Reports
/perl/api/v2/user/{username}/marketing/contacts
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
use_date
String
This report uses the created date by default for all date-related filtering and sorting. Set this parameter to "modified" to instead used the modified date. Any other value passed in this parameter will cause the "created" date to be used.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
list_id
Integer
List id to get all contacts in a specific List. If this is omitted, then all contacts across all Lists will be returned.
segment_id
Integer
Segment id to get all contacts in a specific Segment. Note that you can specify both a segment_id and a list_id to get contacts in a specific List that are also in a specific Segment.
details
Integer
Whe set to true (1), data for all custom fields will also be included in the response. Note: the values for DateTime custom fields will be in the format "YYYY-MM-DD HH:MM:SS" and will be in GMT.
Responses
Status: 200 - This will return a CSV style list of headers and list of associative arrays each containing standard contact details including custom fields.
Status: 200 - Results in the data component of the response. The data component is a list of associated arrays. Each associate array corresponds to a single list group.
Return all Contact Lists. The list creation date is used with date matching criteria. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_lists)
Access control required to execute this endpoint: Marketing - Reports
/perl/api/v2/user/{username}/marketing/lists
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
list_group_id
Integer
Group id getting all lists in a specific group
use_date
String
This report uses the created date by default for all date-related filtering and sorting. Set this parameter to "modified" to instead used the modified date. Any other value passed in this parameter will cause the "created" date to be used.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing standard list details.
Return bounce data/email delivery failure data of all selected Campaigns. Uses delivery_status_updated as the date matching criteria. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_campaign_report_bounces)
Access control required to execute this endpoint: User: Marketing - Reporting
Select campaigns as string of comma-separated campaign ids. If omitted, all campaigns are selected.
detail
String
Boolean. If 1, include the values of all Contact Custom Fields in the report. Default is 0.
email
String
Filter results by matching any Contact email address containing the given string.
domain
String
Filter results by matching any Contact email address in a domain name containing the given string.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing campaign bounce data.
Return click data of all selected Campaigns. The click date is used with date matching criteria unless the "use_date" parameter is set to "sent". See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_campaign_report_clicked)
Access control required to execute this endpoint: User: Marketing - Reporting
Select campaigns as string of comma-separated campaign ids. If omitted, all campaigns are selected.
use_date
String
If set to "sent", use the date the message was sent, instead of the date of the open event, for date selections.
detail
String
Boolean. If 1, include the values of all Contact Custom Fields in the report. Default is 0.
email
String
Filter results by matching any Contact email address containing the given string.
domain
String
Filter results by matching any Contact email address in a domain name containing the given string.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing campaign click data.
Return spam complaint data from all selected Campaigns. The message delivery status updated date is used by default for date selections, unless "use_date" is set to "sent". See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_campaign_report_complaints)
Access control required to execute this endpoint: User: Marketing - Reporting
Select campaigns as string of comma-separated campaign ids. If omitted, all campaigns are selected.
use_date
String
If set to "sent", use the date the message was sent, instead of the date of the open event, for date selections.
detail
String
Boolean. If 1, include the values of all Contact Custom Fields in the report. Default is 0.
email
String
Filter results by matching any Contact email address containing the given string.
domain
String
Filter results by matching any Contact email address in a domain name containing the given string.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing campaign complaint data.
Return sending log data of all selected Campaigns. This includes all metadata for each recipient, including the delivery status, open status, click staus, etc. The delivery status last updated date is used with date matching criteria. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_campaign_report_logs)
Access control required to execute this endpoint: User: Marketing - Reporting
Select campaigns as string of comma-separated campaign ids. If omitted, all campaigns are selected.
detail
String
Boolean. If 1, include the values of all Contact Custom Fields in the report. Default is 0.
email
String
Filter results by matching any Contact email address containing the given string.
domain
String
Filter results by matching any Contact email address in a domain name containing the given string.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing sending event data.
Return open event data of all selected Campaigns. The open date is used with date matching criteria, unless the "use_date" parameter is set to "sent". See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_campaign_report_opened)
Access control required to execute this endpoint: User: Marketing - Reporting
Select campaigns as string of comma-separated campaign ids. If omitted, all campaigns are selected.
use_date
String
If set to "sent", use the date the message was sent, instead of the date of the open event, for date selections.
detail
String
Boolean. If 1, include the values of all Contact Custom Fields in the report. Default is 0.
email
String
Filter results by matching any Contact email address containing the given string.
domain
String
Filter results by matching any Contact email address in a domain name containing the given string.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing campaign opened data.
Return unsubscribe data of all selected Campaigns. The unsubscribe date is used with date matching criteria, unless the "use_date" parameter is set to "sent". See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_campaign_report_unsubscribed)
Access control required to execute this endpoint: User: Marketing - Reporting
Select campaigns as string of comma-separated campaign ids. If omitted, all campaigns are selected.
use_date
String
If set to "sent", use the date the message was sent, instead of the date of the open event, for date selections.
detail
String
Boolean. If 1, include the values of all Contact Custom Fields in the report. Default is 0.
email
String
Filter results by matching any Contact email address containing the given string.
domain
String
Filter results by matching any Contact email address in a domain name containing the given string.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing campaign unsubscribe data.
Return clicked-on urls of all selected Campaigns. The click date is used with date matching criteria unless the "use_date" parameter is set to "sent". See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_campaign_report_urls)
Access control required to execute this endpoint: User: Marketing - Reporting
Select campaigns as string of comma-separated campaign ids. If omitted, all campaigns are selected.
use_date
String
If set to "sent", use the date the message was sent, instead of the date of the open event, for date selections.
detail
String
Boolean. If 1, include the values of all Contact Custom Fields in the report. Default is 0.
email
String
Filter results by matching any Contact email address containing the given string.
domain
String
Filter results by matching any Contact email address in a domain name containing the given string.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing campaign url data.
Return all Segments. The segment creation date is used with date matching criteria. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sm3_lists)
Access control required to execute this endpoint: Marketing - Reports
/perl/api/v2/user/{username}/marketing/segments
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
use_date
String
This report uses the created date by default for all date-related filtering and sorting. Set this parameter to "modified" to instead used the modified date. Any other value passed in this parameter will cause the "created" date to be used.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Responses
Status: 200 - This will return a list of associated arrays each containing standard segment details.
Update information for existing Contact such as E-mail address or custom fields attached to the parent List. Note the values for DateTime custom fields must be in GMT in the format "YYYY-MM-DD HH:MM:SS".
Access control required to execute this endpoint: Marketing - Contact Management
Update information for existing Contacts such as E-mail address or custom fields attached to the parent List. You can update up to 50,000 contacts per API call.
Access control required to execute this endpoint: Marketing - Contact Management
/perl/api/v2/user/{username}/marketing/contacts
Parameters
Path parameters
Name
Description
username*
String
Required
Body parameters
Name
Description
body *
Query parameters
Name
Description
Responses
Status: 200 - Returns the number of contacts modified successfully plus an array of hashes, one per contact posted. The order of contacts in the response array matches the order in the request array.
Update information for existing Contact Lists such as From Name or From Address. This can also be used to assign custom fields to specific lists, but the custom field must exist in the platform in advance. Return contact information and other general metadata for the user.
Access control required to execute this endpoint: Marketing - List Management
Retrieve all email suppressions at the account level (only) using a report-style call. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sup).
Access control required to execute this endpoint: User Email: Suppression
/perl/api/v2/account/{accountId}/suppression_v2/
Parameters
Path parameters
Name
Description
accountId*
String
Required
Query parameters
Name
Description
email
String
Restrict the report to suppressions of this specific email address.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Retrieve a count of the matching email suppressions at the account level (only) using a report-style call. Dates are based on the date that the suppression was added. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#sup_count)
Access control required to execute this endpoint: User Email: Suppression
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
Responses
Status: 200 - Report the count of matching suppressions. The returned field name for this count is suppressions.
This report allows to see what messages that you have sent successfully have been “marked as spam” by recipients and this information has come back to us via one of our feedback loops. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#fbl).
Access control required to execute this endpoint: Account: View Reports
/perl/api/v2/account/{accountId}/report/email/fbl
Parameters
Path parameters
Name
Description
accountId*
String
Required
Query parameters
Name
Description
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
subject
String
Case-insensitive substring search of the message subject (in UTF-8).
to
String
Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Restrict the report to the user with this specific User ID number.
This report allows to see how many messages have been marked as spam. The date of the compliant is used for date filters. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#fbl_count).
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
from
String
String Case-insensitive substring search of the message “From” email address
subject
String
String Case-insensitive substring search of the message subject (in UTF-8).
to
String
String. Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer Restrict the report to the user with this specific User ID number.
Responses
Status: 200 - Report content. The summary header field is named compliants.
This report allows you to query on the “URL click” events (or lack thereof) for email messages sent via SMTP that have email click tracking enabled. Using this command, it is possible to get a report of all individual clicks or to get reports about messages that have not yet been clicked on or for which click tracking was not enabled. See the query parameters for more detail.
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#click).
Dates, for the purposes of narrowing results, refer to the date the message was sent. This corresponds to the “date_sent” output field. However, if you set the “click_date” input parameter to true, then the “click_date” field will be used for date selections.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
clicked
Integer
If specified, the results are restricted as follows: clicked < 0 – select messages where click tracking was not enabled. clicked = 0 – select messages where click tracking was enabled, but where no URLs have yet been clicked by the recipient. clicked > 0 – select messages where one or more URLs have been clicked by the recipient. When “clicked” is positive, you will get one row back for each click; so,you can get multiple rows per message.
If a value for “clicked” is not specified, a value of “1” will be assumed.
click_date
String
If true, the ”click_date” field will be used for all date selections. If false or not specified, the sent date (“date_sent”) will be used.
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled, and which have been opened at least once.
sendmail_id
String
String. Return only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
status
String
Values: delivered – Accepted by the recipient’s email servers and presumed delivered. If bounce processing is enabled, then this status could change later to ba_soft_fail or ba_hard_fail. perm_fail – Messages that have permanently failed to be delivered to the recipient’s servers. If bounce processing is on, this status could change shortly to ba_soft_fail, depending on the nature of the failure message. lost – Messages where the tracking was lost and it is unclear if it was delivered or lost from the queue. queued – Message is in the email server queue still waiting to be delivered to the recipient. not_queued -- all statuses except "queued". ba_soft_fail – Soft failure bounces received (when talking to the recipient’s servers or after successful delivery to the recipient’s servers). ba_hard_fail – Hard failure bounces received after successful delivery to the recipient’s servers, any_hard_fail – Results for ba_hard_fail OR perm_fail. I.e., all hard/permanent failures.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number
This report allows you to query the number of clicks on tracked links during the specified date period.
*Note that if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#clicks_count).
Dates, for the purposes of narrowing results, refer to the date the link was clicked on.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
user_id
String
Restrict the report to the user with this specific User ID number
This report allows you to see how each SMTP message was sent to each recipient and what the delivery status is for each of these recipients. Note that delivery status changes over time as messages progress to the recipient’s servers and as bounce messages are sent back and processed. As the delivery status changes, the “last_update” date is also updated.
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#delivery).
Dates, for the purposes of narrowing results, refer to the *date the row was last updated*. This corresponds to the last_update output field. This can be changed to the date the message was sent using the "sent_date" parameter or the date of the last delivery status update using the "delivery_date" parameter.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
clicked
Integer
Integer. If specified, the results are restricted as follows: clicked < 0 – select messages where URL click tracking was not enabled. clicked = 0 – select messages where URL click tracking was enabled, but where there have as yet been no clicks on any clinks in the messages. clicked > 0 – select messages where URL click tracking was enabled and where there have been N or more clicks on links in the same message to the same recipient. N, in this case, is the number that you have specified as the value of the “clicked” parameter. I.e., using a value of “1” matches all messages that have had a link clicked on.
from
String
String. Case-insensitive substring search of the message “From” email Address
ip
String
String. Case-insensitive substring search of the sender IP address (for SMTP reports only).
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
Integer. If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least N times. N, in this case, is the number that you have specified as the value of the “opened” parameter. I.e., using a value of “1” matches all messages that have been opened.
secureline
String
Enum. Value: u - message to this recipient did not use SecureLine (or Opt Out was used) e - message did use SecureLine -2 - SecureLine was not used due to Opt Out being selected -1 - SecureLine usage not recorded for some reason 1 - SecureLine:PGP was used 2 - SecureLine:S/MIME was used 3 - SecureLine:Escrow was used 4 - SecureLine:TLS was used
sendmail_id
String
String. Return only the messages with the specified sendmail_id
sent_date
Integer
If set to true (i.e., 1), the email message sent date will be used for date/time selections, instead of the date of the last update of the row.
state
String
Optionally, match only messages with specific delivery states. This is a comma-delimited list of one or more states to match. The possible states include: delivered - Successful delivery. perm_fail - Message immediately rejected by recipient servers. ba_hard_fail - Post-delivery hard bounce. ba_soft_fail - Post-delivery soft bounce. temp_fail - Message still queued after 1+ temporary delivery failures. queued - Message queued -- includes the "temp_fail" state. lost - Message delivery status unknown. any_hard_fail - "perm_fail" or "ba_hard_fail". failed - "perm_fail" or "ba_hard_fail" or "ba_soft_fail". not_queued - "delivered" or "lost" or any of the "failed" states.
state_detail
String
Optionally, match only messages where the "state_detail" delivery status description contains the specified text (case insensitive).
delivery_date
Integer
If set to true (i.e., 1), the email message last delivery status updated date will be used for date/time selections, instead of the date of the last update of the row.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
spam
Integer
Enum. Value: 0 – Message was not marked as spam by a recipient and returned in a Feed Back Loop. 1 – Message was marked as spam by a recipient and returned in a Feed Back Loop
unsubscribed
Integer
Enum. Value: 0 – Recipient did not unsubscribe based on this email message. 1 – Recipeient did unsubscribe based on this email message.
smtp_code
String
String. 1-3 characters. Substring match to the beginning of the smtp_code field. E.g., 5 matches all codes starting with 5.
tls
Integer
Enum. Value: 0 – TLS was NOT used in the successful delivery of this message to the recipient server 1 – TLS was used in the successful delivery of this message to the recipient server
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
to
String
Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer. Restrict the report to the user with this specific User ID number
This report allows you to retrieve a summary of the delivery status (and other statistics) across all messages in a given time range.
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#delivery_count).
Dates, for the purposes of narrowing results, refer to the *date the message delivery status was last updated*. This can be changed to the date the message was sent using the "sent_date" parameter.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
clicked
Integer
Integer. If specified, the results are restricted as follows: clicked < 0 – select messages where URL click tracking was not enabled. clicked = 0 – select messages where URL click tracking was enabled, but where there have as yet been no clicks on any clinks in the messages. clicked > 0 – select messages where URL click tracking was enabled and where there have been N or more clicks on links in the same message to the same recipient. N, in this case, is the number that you have specified as the value of the “clicked” parameter. I.e., using a value of “1” matches all messages that have had a link clicked on.
from
String
String. Case-insensitive substring search of the message “From” email Address
ip
String
String. Case-insensitive substring search of the sender IP address (for SMTP reports only).
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
Integer. If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least N times. N, in this case, is the number that you have specified as the value of the “opened” parameter. I.e., using a value of “1” matches all messages that have been opened.
secureline
String
Enum. Value: u – Message to this recipient did not use SecureLine (or Opt Out was used) e – Message did use SecureLine -2 – SecureLine was not used due to Opt Out being selected -1 – SecureLine usage not recorded for some reason 1 – SecureLine:PGP was used 2 – SecureLine:S/MIME was used 3 – SecureLine:Escrow was used 4 – SecureLine:TLS was used
sent_date
Integer
If set to true (i.e., 1), the email message sent date will be used for date/time selections, instead of the date of the last update of the delivery status.
queue_age_sec
Integer
If provided, then the "queued" and "pct_queued" results will reflect only those messages that have been not delivered for at least this number of seconds. I.e., use this to eliminate very recently sent messages from your analysis or how mange messages were queued and not yet delivered.
unsubscribed
Integer
Enum. Value: 0 – The recipient did not unsubscribe based on this email message. 1 – The recipient did unsubscribe based on this email message.
tls
Integer
Enum. Value: 0 – TLS was NOT used in the successful delivery of this message to the recipient server 1 – TLS was used in the successful delivery of this message to the recipient server.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
to
String
Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer. Restrict the report to the user with this specific User ID number
This report allows you to query on the “opened” events (or lack thereof) for email messages sent via SMTP that have email open tracking enabled. Using this command, it is possible to get a report of all individual opens for messages or to get reports about messages that have not yet been opened or for which open tracking was not enabled. See the query parameters for more detail.
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#open).
Dates, for the purposes of narrowing results, refer to the date the message was sent. This corresponds to the “date_sent” output field. However, if you set the “open_date” input parameter to true, then the “open_date” field will be used for date selections.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least once. When opened is positive, you will get one row back for each open; so, you can get multiple rows per message.
If you do not specify a value for “opened”, a value of “1” will be assumed.
open_date
Boolean
If true, the ”open_date” field will be used for all date selections. If false or not specified, the sent date (“date_sent”) will be used.
sendmail_id
String
Return only the messages with the specified sendmail_id.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
status
String
Values: delivered – Accepted by the recipient’s email servers and presumed delivered. If bounce processing is enabled, then this status could change later to ba_soft_fail or ba_hard_fail. perm_fail – Messages that have permanently failed to be delivered to the recipient’s servers. If bounce processing is on, this status could change shortly to ba_soft_fail, depending on the nature of the failure message. lost – Messages where the tracking was lost and it is unclear if it was delivered or lost from the queue. queued – Message is in the email server queue still waiting to be delivered to the recipient. not_queued -- all statuses except "queued". ba_soft_fail – Soft failure bounces received (when talking to the recipient’s servers or after successful delivery to the recipient’s servers). ba_hard_fail – Hard failure bounces received after successful delivery to the recipient’s servers, any_hard_fail – Results for ba_hard_fail OR perm_fail. I.e., all hard/permanent failures.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number
This report allows returns the number of opens that happened in the selected time period. See [report header columns in the response](/rest-api/report-responses.html#opens_count).
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
Dates, for the purposes of narrowing results, refer to the date the message was opened.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least once. When opened is positive, you will get one row back for each open; so, you can get multiple rows per message.
If you do not specify a value for “opened”, a value of “1” will be assumed.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
user_id
String
Restrict the report to the user with this specific User ID number
Return a list of all email messages sent sent via SMTP by users in this account. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#sent).
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
ip
String
Case-insensitive substring search of the sender IP address (for SMTP reports only).
opt_out
String
Value: 0 – SecureLine Opt Out not used -1 – SecureLine Opt Out use not recorded for some reason 1 – SecureLine Opt Out
secureline
String
Value: any – Match anything -1 – SecureLine usage not recorded for some reason 1 – SecureLine encryption was used 0 – SecureLine encryption was not used
If SecureLine was used, use the delivery status report to see more details.
sendmail_id
String
Return only the message with the specified sendmail_id.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
spam
String
Value: 0 – Message was not marked as spam by a recipient and returned in a Feed Back Loop 1 – Message was marked as spam by a recipient and returned in a Feed Back Loop
subject
String
Case-insensitive substring search of the message subject (in UTF-8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
user_id
String
Restrict the report to the user with this specific User ID number.
This report allows you to download all temporary failure responses that were experienced when trying to deliver a message or messages to recipients. These provide insight into why it may have taken longer than expected to deliver a specific email message.
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#temp_fail).
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
sendmail_id
String
String. Return temp failures only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns temporary failures for any matching messages.
to
String
Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer. Restrict the report to the user with this specific User ID number
This report allows you to query on the “URL click” events (or lack thereof) for Webmail email messages that have email click tracking enabled. Using this command, it is possible to get a report of all individual clicks or to get reports about messages that have not yet been clicked on or for which click tracking was not enabled. See the query parameters for more detail.
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#click).
Dates, for the purposes of narrowing results, refer to the date the message was sent. This corresponds to the “date_sent” output field. However, if you set the “click_date” input parameter to true, then the “click_date” field will be used for date selections.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
clicked
Integer
If specified, the results are restricted as follows: clicked < 0 – select messages where click tracking was not enabled. clicked = 0 – select messages where click tracking was enabled, but where no URLs have yet been clicked by the recipient. clicked > 0 – select messages where one or more URLs have been clicked by the recipient. When “clicked” is positive, you will get one row back for each click; so,you can get multiple rows per message.
If a value for “clicked” is not specified, a value of “1” will be assumed.
click_date
String
If true, the ”click_date” field will be used for all date selections. If false or not specified, the sent date (“date_sent”) will be used.
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled, and which have been opened at least once.
sendmail_id
String
String. Return only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
status
String
Values: delivered – Accepted by the recipient’s email servers and presumed delivered. If bounce processing is enabled, then this status could change later to ba_soft_fail or ba_hard_fail. perm_fail – Messages that have permanently failed to be delivered to the recipient’s servers. If bounce processing is on, this status could change shortly to ba_soft_fail, depending on the nature of the failure message. lost – Messages where the tracking was lost and it is unclear if it was delivered or lost from the queue. queued – Message is in the email server queue still waiting to be delivered to the recipient. not_queued -- all statuses except "queued". ba_soft_fail – Soft failure bounces received (when talking to the recipient’s servers or after successful delivery to the recipient’s servers). ba_hard_fail – Hard failure bounces received after successful delivery to the recipient’s servers, any_hard_fail – Results for ba_hard_fail OR perm_fail. I.e., all hard/permanent failures.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number
This report allows you to see how each Webmail message was sent to each recipient and what the delivery status is for each of these recipients. Note that delivery status changes over time as messages progress to the recipient’s servers and as bounce messages are sent back and processed. As the delivery status changes, the “last_update” date is also updated.
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#delivery).
Dates, for the purposes of narrowing results, refer to the *date the message delivery status was last updated*. This corresponds to the “last_update” output field. This can be changed to the date the message was sent using the "sent_date" parameter.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
clicked
Integer
Integer. If specified, the results are restricted as follows: clicked < 0 – select messages where URL click tracking was not enabled. clicked = 0 – select messages where URL click tracking was enabled, but where there have as yet been no clicks on any clinks in the messages. clicked > 0 – select messages where URL click tracking was enabled and where there have been N or more clicks on links in the same message to the same recipient. N, in this case, is the number that you have specified as the value of the “clicked” parameter. I.e., using a value of “1” matches all messages that have had a link clicked on.
from
String
String. Case-insensitive substring search of the message “From” email Address
ip
String
String. Case-insensitive substring search of the sender IP address (for SMTP reports only).
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
Integer. If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least N times. N, in this case, is the number that you have specified as the value of the “opened” parameter. I.e., using a value of “1” matches all messages that have been opened.
secureline
String
Enum. Value: u – Message to this recipient did not use SecureLine (or Opt Out was used) e – Message did use SecureLine -2 – SecureLine was not used due to Opt Out being selected -1 – SecureLine usage not recorded for some reason 1 – SecureLine:PGP was used 2 – SecureLine:S/MIME was used 3 – SecureLine:Escrow was used 4 – SecureLine:TLS was used
sendmail_id
String
String. Return only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
sent_date
Integer
If set to true (i.e., 1), the email message sent date will be used for date/time selections, instead of the date of the last update of the delivery status.
spam
Integer
Enum. Value: 0 – Message was not marked as spam by a recipient and returned in a Feed Back Loop. 1 – Message was marked as spam by a recipient and returned in a Feed Back Loop
tls
Integer
Enum. Value: 0 – TLS was NOT used in the successful delivery of this message to the recipient server 1 – TLS was used in the successful delivery of this message to the recipient server
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
to
String
Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer. Restrict the report to the user with this specific User ID number
This report allows you to query on the “opened” events (or lack thereof) for email messages sent via Webmail that have email open tracking enabled. Using this command, it is possible to get a report of all individual opens for messages or to get reports about messages that have not yet been opened or for which open tracking was not enabled. See the query parameters for more detail.
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#open).
Dates, for the purposes of narrowing results, refer to the date the message was sent. This corresponds to the “date_sent” output field. However, if you set the “open_date” input parameter to true, then the “open_date” field will be used for date selections.
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least once. When opened is positive, you will get one row back for each open; so, you can get multiple rows per message.
If you do not specify a value for “opened”, a value of “1” will be assumed.
open_date
Boolean
If true, the ”open_date” field will be used for all date selections. If false or not specified, the sent date (“date_sent”) will be used.
sendmail_id
String
Return only the messages with the specified sendmail_id.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
status
String
Values: delivered – Accepted by the recipient’s email servers and presumed delivered. If bounce processing is enabled, then this status could change later to ba_soft_fail or ba_hard_fail. perm_fail – Messages that have permanently failed to be delivered to the recipient’s servers. If bounce processing is on, this status could change shortly to ba_soft_fail, depending on the nature of the failure message. lost – Messages where the tracking was lost and it is unclear if it was delivered or lost from the queue. queued – Message is in the email server queue still waiting to be delivered to the recipient. not_queued -- all statuses except "queued". ba_soft_fail – Soft failure bounces received (when talking to the recipient’s servers or after successful delivery to the recipient’s servers). ba_hard_fail – Hard failure bounces received after successful delivery to the recipient’s servers, any_hard_fail – Results for ba_hard_fail OR perm_fail. I.e., all hard/permanent failures.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number
Return a list of all WebMail email messages sent by users in this account. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#sent).
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
ip
String
Case-insensitive substring search of the sender IP address (for SMTP reports only).
opt_out
String
Value: 0 – SecureLine Opt Out not used -1 – SecureLine Opt Out use not recorded for some reason 1 – SecureLine Opt Out
secureline
String
Value: any – Match anything -1 – SecureLine usage not recorded for some reason 1 – SecureLine encryption was used 0 – SecureLine encryption was not used
If SecureLine was used, use the delivery status report to see more details.
sendmail_id
String
Return only the message with the specified sendmail_id.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
spam
String
Value: 0 – Message was not marked as spam by a recipient and returned in a Feed Back Loop 1 – Message was marked as spam by a recipient and returned in a Feed Back Loop
subject
String
Case-insensitive substring search of the message subject (in UTF-8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number.
This report allows to see all SMTP login failures, as well as sending errors that resulted from our servers explicitly rejecting your request to send an email message for one reason or another. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#smtp_login_fail).
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
ip
String
String. Case-insensitive substring search of the message “IP Address” if the email program or device that made the connection.
Reason
String
String Case-insensitive substring search of the login failure / reason data.
This function allows you to delete a row from your SecureForm database, based on the row index. This function will delete the row and any associated files.
This API call is audited: a record will be made of the particular API Integration and IP address that “deleted” each matching row (also implying that any associated files have been removed).
Access control required to execute this endpoint: Account: SecureForm Database - Delete
Status: 200 - The Response Body contains a “data” keyword contains one object which provides details about the specified form. The keywords and values in this object are the same as those defined for the “Get SecureForm List” operation.
This function is used to retrieve a file associated with a row in your SecureForm database. You will need the row index and the file ID (which you can retrieve by reading the row data using other API calls).
If the file was encrypted at rest in the database, it will be decrypted for you.
This API call is audited: a record will be made of the particular API Integration and IP address that “read” each file.
Access control required to execute this endpoint: Account: SecureForm Database - Read
Returns details on the posts currently stored in the database table associated with a specific SecureForm configuration. This function is recommended for use when synchronizing or periodically downloading new rows to an external source: it allows you to quickly and easily see what, if any, entries are new relative to your last actions (if you saved the last index or date when you previously downloaded data).
You can optionally pass one or more parameters to narrow down the scope of what rows are examined to produce the summary results. By default, all table rows are examined. All criteria passed as parameters are used; it is possible (and easy) to specify mutually exclusive parameters that result in no rows being examined (e.g. all rows with an index greater than 100 and less than 50).
Access control required to execute this endpoint: Account: SecureForm Database - Read
This function works the same as “Get SecureForm Database Rows”, except that you specify the row index and get back up to 1 row. This index is the `\_\_index\_\_` field for the row.
This API call is audited: a record will be made of the particular API Integration and IP address that “read” each matching row.
Access control required to execute this endpoint: Account: SecureForm Database - Read
Status: 200 - The JSON response body is the SAME as that returned for the “Database Rows” command, except that insted of a “rows” keyword with an array of matching rows, there is a `row` keyword which holds the object data for the requested row. This will be `null` if that row was not found.
This function returns the actual content of all database rows matching your query. Encrypted database fields will be automatically decrypted and the actual values of the fields returned.
This API call is audited: a record will be made of the particular API Integration and IP address that “read” each matching row.
You can optionally pass one or more parameters to narrow down the scope of what rows are returned. These parameters are the same as those for “Get SecureForm Database Info”.
Access control required to execute this endpoint: Account: SecureForm Database - Read
DATETIME. All rows added after thes pecified date time (in GMT, format “YYYY-MM-DD HH:MM:SS”).
after_index
Integer
All rows whose index is greater than the specified value
before_date
String
DATETIME. All rows added before the specified date time
before_index
Integer
All rows whose index is less than the specified value
from_date
String
DATETIME. All rows added on or after the specified date time
from_index
Integer
All rows whose index is greater than or equal to the specified value.
through_date
String
DATETIME. All rows added on or before the specified date time
through_index
Integer
All rows whose index is less than or equal to the specified value.
Responses
Status: 200 - Up to 500 rows can be returned per API call. If more rows match, only the first 500 (sorted by row index) are actually returned. The “data” body element will contain 2 items.
The first is called `fields`. This is an object where the keywords are the physical database column names in use for each column of data. These keywords correspond to the keywords in the objects returned in the `rows` array. The values of these keywords are corresponding the actual field names from your form. E.g., in many cases the form field name cannot be used “as is” as a database column name and must be “sanitized”. You can use this `fields` object to map between the database column names and the original form field names.
The second is called `rows`. This is an array of objects. Each object contains the data for a single matching row. The keywords are the database column names, the values are the row values for those columns. Values that were encrypted in the database are automatically decrypted and the real value is returned. If the row cannot be decrypted using the saved encryption key for this SecureForm configuration (e.g. if it was saved using some other SecureForm configuration and a different key), then the encrypted row values will all have the value of the word `ENCRYPTED`.
Files are not downloaded with this function; however, information as to what files are available is included with each row of data.
Separate functions are used to request individual files
Explanations of common database columns shown below.
Access control required to execute this endpoint: Account: SecureForm Database - Read
Create a new SecureSend User in a specific NameSpace. This function also validates the user’s account so the user does not have to do anything (like checking a link in his/her email) to start using the account.
If an account already exists for the specified user, then this request will merely update the user’s account, changing any data passed through. The “username” must be the email address (which is also the login) of the user to be created or updated.
When updating a user, request parameters omitted will not be updated.
Access control required to execute this endpoint: Account: SecureSend Namespaces - Manage
Create a URL that the user can click on which will automatically log the user into the SecureSend Interface without needing to enter his/her username and password. For example, if the user has already authenticated him/herself in your system, you can use this API call to get a link that can be presented to the user so the user can then access SecureSend without needing to login again (e.g. “single sign-on”).
Note
1. This API call returns a URL. You can have the user click on that URL or you can redirect him/her to it.
2. This URL is valid for 15 minutes from the time of issuance. It can be used multiple times while it is in use.
3. These URLs are invalidated if the user’s password is changed.
4. These URLs will only work for someone coming from the IP address that your specified in your request for the URL.
5. All logins via Single Sign-on are logged in the user’s History and are denoted as Single Sign-on logins therein.
Access control required to execute this endpoint: Account: SecureSend Single Sign-On
This report allows you to retrieve specific current status of a specific server. This request will actually directly interrogate the server for some of this information; in situations where the server is overloaded or down or very slow, *this API will fail.*
Access control required to execute this endpoint: Account: Servers - Report
Should be the numeric server_id returned by the Server List API call, above. However, it can also be the short host name. I.e., if server with host rs999 has a server_id of 197890 then you can use either 197890 or 999 as the server_id.
Required
Query parameters
Name
Description
Responses
Status: 200 - Server information. The data field in the JSON response has all of the keywords defined in the “Server List” command, above, as well as additional keywords.
This report allows you to retrieve general information about all of the dedicated servers associated with your account. {{ACL: Account: Servers - Report}
/perl/api/v2/account/{accountId}/servers
Parameters
Path parameters
Name
Description
accountId*
String
Required
Query parameters
Name
Description
Responses
Status: 200 - List of servers. The data field in the JSON response is a list of hashes, one for every server. This list will be empty if your account does not have any dedicated servers.
This command allows you to remove all email messages that are queued. These are the mail_queue_trying and mail_queue_unprocessed messages returned by the server status call. Messages that have not yet been processed will be deleted by this call.
Should be the numeric server_id returned by the Server List API call, above. However, it can also be the short host name. I.e., if server with host rs999 has a server_id of 197890 then you can use either 197890 or 999 as the server_id.
Required
Query parameters
Name
Description
Responses
Status: 200 - Simple success response.
serverEmptyEmailQueues
This command allows you to remove all email messages that are queued and trying to be delivered to recipients. These are the mail_queue_trying messages returned by the server status call. Messages that have not yet been processed are not deleted.
Should be the numeric server_id returned by the Server List API call, above. However, it can also be the short host name. I.e., if server with host rs999 has a server_id of 197890 then you can use either 197890 or 999 as the server_id.
Required
Query parameters
Name
Description
Responses
Status: 200 - Simple success response.
setServerSendngRate
This command allows you to update the email processing rate limits for this server. These rate limits govern the rate at which messages are processed and delivered to the queues for delivery to recipients, for IP Warmup purposes. These settings to not impact messages already processed trying to be delivered to recipients.
Should be the numeric server_id returned by the Server List API call, above. However, it can also be the short host name. I.e., if server with host rs999 has a server_id of 197890 then you can use either 197890 or 999 as the server_id.
Required
Body parameters
Name
Description
body
Query parameters
Name
Description
Responses
Status: 200 - Simple success response.
User Reports
getEmailFeedBackLoopsReportUser
This report allows to see what messages that `username` havs sent successfully that have been “marked as spam” by recipients and this information has come back to LuxSci via one of our feed-back loops. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#fbl).
Access control required to execute this endpoint: User: View Reports
/perl/api/v2/user/{username}/report/email/fbl
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
String Case-insensitive substring search of the message “From” email address
subject
String
String Case-insensitive substring search of the message subject (in UTF-8).
to
String
String. Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer Restrict the report to the user with this specific User ID number.
This report allows to see how many messages have been marked as spam. The date of the compliant is used for date filters. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#fbl_count).
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
from
String
String Case-insensitive substring search of the message “From” email address
subject
String
String Case-insensitive substring search of the message subject (in UTF-8).
to
String
String. Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer Restrict the report to the user with this specific User ID number.
Responses
Status: 200 - Report content. The summary header field is named compliants.
This report allows you to query on the “URL click” events (or lack thereof) for email messages sent via SMTP by `username` that have email click tracking enabled. Using this command, it is possible to get a report of all individual clicks or to get reports about messages that have not yet been clicked on or for which click tracking was not enabled. See the query parameters for more detail.
*Note that if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#click).
Dates, for the purposes of narrowing results, refer to the date the message was sent. This corresponds to the `date_sent` output field. However, if you set the `click_date` input parameter to true, then the `click_date` field will be used for date selections.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
clicked
Integer
If specified, the results are restricted as follows: clicked < 0 – select messages where click tracking was not enabled. clicked = 0 – select messages where click tracking was enabled, but where no URLs have yet been clicked by the recipient. clicked > 0 – select messages where one or more URLs have been clicked by the recipient. When “clicked” is positive, you will get one row back for each click; so,you can get multiple rows per message.
If a value for “clicked” is not specified, a value of “1” will be assumed.
click_date
String
If true, the ”click_date” field will be used for all date selections. If false or not specified, the sent date (“date_sent”) will be used.
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled, and which have been opened at least once.
sendmail_id
String
String. Return only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
status
String
Values: delivered – Accepted by the recipient’s email servers and presumed delivered. If bounce processing is enabled, then this status could change later to ba_soft_fail or ba_hard_fail. perm_fail – Messages that have permanently failed to be delivered to the recipient’s servers. If bounce processing is on, this status could change shortly to ba_soft_fail, depending on the nature of the failure message. lost – Messages where the tracking was lost and it is unclear if it was delivered or lost from the queue. queued – Message is in the email server queue still waiting to be delivered to the recipient. not_queued -- all statuses except "queued". ba_soft_fail – Soft failure bounces received (when talking to the recipient’s servers or after successful delivery to the recipient’s servers). ba_hard_fail – Hard failure bounces received after successful delivery to the recipient’s servers, any_hard_fail – Results for ba_hard_fail OR perm_fail. I.e., all hard/permanent failures.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
user_id
String
Restrict the report to the user with this specific User ID number
This report allows you to query the number of clicks on tracked links during the specified date period.
*Note that if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#clicks_count).
Dates, for the purposes of narrowing results, refer to the date the link was clicked on.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
user_id
String
Restrict the report to the user with this specific User ID number
This report allows you to see how each SMTP message sent by `username` was sent to each recipient and what the delivery status is for each of these recipients. Note that delivery status changes over time as messages progress to the recipient’s servers and as bounce messages are sent back and processed. As the delivery status changes, the `last_update` date is also updated.
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#delivery).
Dates, for the purposes of narrowing results, refer to the *date the row was last updated*. This corresponds to the last_update output field. This can be changed to the date the message was sent using the "sent_date" parameter or the date of the last delivery status update using the "delivery_date" parameter.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
clicked
Integer
Integer. If specified, the results are restricted as follows: clicked < 0 – select messages where URL click tracking was not enabled. clicked = 0 – select messages where URL click tracking was enabled, but where there have as yet been no clicks on any clinks in the messages. clicked > 0 – select messages where URL click tracking was enabled and where there have been N or more clicks on links in the same message to the same recipient. N, in this case, is the number that you have specified as the value of the “clicked” parameter. I.e., using a value of “1” matches all messages that have had a link clicked on.
from
String
String. Case-insensitive substring search of the message “From” email Address
ip
String
String. Case-insensitive substring search of the sender IP address (for SMTP reports only).
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
Integer. If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least N times. N, in this case, is the number that you have specified as the value of the “opened” parameter. I.e., using a value of “1” matches all messages that have been opened.
secureline
String
Enum. Value: u – Message to this recipient did not use SecureLine (or Opt Out was used) e – Message did use SecureLine -2 – SecureLine was not used due to Opt Out being selected -1 – SecureLine usage not recorded for some reason 1 – SecureLine:PGP was used 2 – SecureLine:S/MIME was used 3 – SecureLine:Escrow was used 4 – SecureLine:TLS was used
sendmail_id
String
String. Return only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
sent_date
Integer
If set to true (i.e., 1), the email message sent date will be used for date/time selections, instead of the date of the last update of the row.
state
String
Optionally, match only messages with specific delivery states. This is a comma-delimited list of one or more states to match. The possible states include: delivered - Successful delivery. perm_fail - Message immediately rejected by recipient servers. ba_hard_fail - Post-delivery hard bounce. ba_soft_fail - Post-delivery soft bounce. temp_fail - Message still queued after 1+ temporary delivery failures. queued - Message queued -- includes the "temp_fail" state. lost - Message delivery status unknown. any_hard_fail - "perm_fail" or "ba_hard_fail". failed - "perm_fail" or "ba_hard_fail" or "ba_soft_fail". not_queued - "delivered" or "lost" or any of the "failed" states.
state_detail
String
Optionally, match only messages where the "state_detail" delivery status description contains the specified text (case insensitive).
delivery_date
Integer
If set to true (i.e., 1), the email message last delivery status updated date will be used for date/time selections, instead of the date of the last update of the row.
spam
Integer
Enum. Value: 0 – Message was not marked as spam by a recipient and returned in a Feed Back Loop. 1 – Message was marked as spam by a recipient and returned in a Feed Back Loop
unsubscribed
Integer
Enum. Value: 0 – The recipient did not unsubscribe based on this email message. 1 – The recipient did unsubscribe based on this email message.
smtp_code
String
String. 1-3 characters. Substring match to the beginning of the smtp_code field. E.g., 5 matches all codes starting with 5.
tls
Integer
Enum. Value: 0 – TLS was NOT used in the successful delivery of this message to the recipient server 1 – TLS was used in the successful delivery of this message to the recipient server.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
to
String
Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer. Restrict the report to the user with this specific User ID number
This report allows you to retrieve a summary of the delivery status (and other statistics) across all messages in a given time range.
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#delivery_count).
Dates, for the purposes of narrowing results, refer to the *date the message delivery status was last updated*. This can be changed to the date the message was sent using the "sent_date" parameter.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
clicked
Integer
Integer. If specified, the results are restricted as follows: clicked < 0 – select messages where URL click tracking was not enabled. clicked = 0 – select messages where URL click tracking was enabled, but where there have as yet been no clicks on any clinks in the messages. clicked > 0 – select messages where URL click tracking was enabled and where there have been N or more clicks on links in the same message to the same recipient. N, in this case, is the number that you have specified as the value of the “clicked” parameter. I.e., using a value of “1” matches all messages that have had a link clicked on.
from
String
String. Case-insensitive substring search of the message “From” email Address
ip
String
String. Case-insensitive substring search of the sender IP address (for SMTP reports only).
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
Integer. If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least N times. N, in this case, is the number that you have specified as the value of the “opened” parameter. I.e., using a value of “1” matches all messages that have been opened.
secureline
String
Enum. Value: u – Message to this recipient did not use SecureLine (or Opt Out was used) e – Message did use SecureLine -2 – SecureLine was not used due to Opt Out being selected -1 – SecureLine usage not recorded for some reason 1 – SecureLine:PGP was used 2 – SecureLine:S/MIME was used 3 – SecureLine:Escrow was used 4 – SecureLine:TLS was used
sent_date
Integer
If set to true (i.e., 1), the email message sent date will be used for date/time selections, instead of the date of the last update of the delivery status.
queue_age_sec
Integer
If provided, then the "queued" and "pct_queued" results will reflect only those messages that have been not delivered for at least this number of seconds. I.e., use this to eliminate very recently sent messages from your analysis or how mange messages were queued and not yet delivered.
unsubscribed
Integer
Enum. Value: 0 – The recipient did not unsubscribe based on this email message. 1 – The recipient did unsubscribe based on this email message.
tls
Integer
Enum. Value: 0 – TLS was NOT used in the successful delivery of this message to the recipient server 1 – TLS was used in the successful delivery of this message to the recipient server.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
to
String
Case-insensitive substring search of all recipient email addresses.
This report allows to see all SMTP login failures to the user login `username`, as well as sending errors that resulted from our servers explicitly rejecting your request to send an email message for one reason or another. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#smtp_login_fail).
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
ip
String
String. Case-insensitive substring search of the message “IP Address” if the email program or device that made the connection.
Reason
String
String Case-insensitive substring search of the login failure / reason data.
This report allows you to query on the “opened” events (or lack thereof) for email messages sent via SMTP by `username` that have email open tracking enabled. Using this command, it is possible to get a report of all individual opens for messages or to get reports about messages that have not yet been opened or for which open tracking was not enabled. See the query parameters for more detail.
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#open).
Dates, for the purposes of narrowing results, refer to the date the message was sent. This corresponds to the “date_sent” output field. However, if you set the “open_date” input parameter to true, then the “open_date” field will be used for date selections.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least once. When opened is positive, you will get one row back for each open; so, you can get multiple rows per message.
If you do not specify a value for “opened”, a value of “1” will be assumed.
open_date
Boolean
If true, the ”open_date” field will be used for all date selections. If false or not specified, the sent date (“date_sent”) will be used.
sendmail_id
String
Return only the messages with the specified sendmail_id.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
status
String
Values: delivered – Accepted by the recipient’s email servers and presumed delivered. If bounce processing is enabled, then this status could change later to ba_soft_fail or ba_hard_fail. perm_fail – Messages that have permanently failed to be delivered to the recipient’s servers. If bounce processing is on, this status could change shortly to ba_soft_fail, depending on the nature of the failure message. lost – Messages where the tracking was lost and it is unclear if it was delivered or lost from the queue. queued – Message is in the email server queue still waiting to be delivered to the recipient. not_queued -- all statuses except "queued". ba_soft_fail – Soft failure bounces received (when talking to the recipient’s servers or after successful delivery to the recipient’s servers). ba_hard_fail – Hard failure bounces received after successful delivery to the recipient’s servers, any_hard_fail – Results for ba_hard_fail OR perm_fail. I.e., all hard/permanent failures.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
This report allows returns the number of opens that happened in the selected time period. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#opens_count).
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
Dates, for the purposes of narrowing results, refer to the date the message was opened.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least once. When opened is positive, you will get one row back for each open; so, you can get multiple rows per message.
If you do not specify a value for “opened”, a value of “1” will be assumed.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
Return a list of all email messages sent via SMTP by `username`. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response.](/rest-api/report-responses.html#sent).
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
ip
String
Case-insensitive substring search of the sender IP address (for SMTP reports only).
opt_out
String
Value: 0 – SecureLine Opt Out not used -1 – SecureLine Opt Out use not recorded for some reason 1 – SecureLine Opt Out
secureline
String
Value: any – Match anything -1 – SecureLine usage not recorded for some reason 1 – SecureLine encryption was used 0 – SecureLine encryption was not used
If SecureLine was used, use the delivery status report to see more details.
sendmail_id
String
Return only the message with the specified sendmail_id.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
spam
String
Value: 0 – Message was not marked as spam by a recipient and returned in a Feed Back Loop 1 – Message was marked as spam by a recipient and returned in a Feed Back Loop
subject
String
Case-insensitive substring search of the message subject (in UTF-8).
to
String
Case-insensitive substring search of all recipient email addresses.
template_id
Integer
Optional template ID to select results only for those messages sent using the specified template. A value of 0 selects all.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number.
This report allows you to download all temporary failure responses that were experienced when trying to deliver a message or messages to recipients. These provide insight into why it may have taken longer than expected to deliver a specific email message.
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#temp_fail).
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
sendmail_id
String
String. Return temp failures only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns temporary failures for any matching messages.
to
String
Case-insensitive substring search of all recipient email addresses.
This report allows you to query on the “URL click” events (or lack thereof) for Webmail email messages sent by `username` that have email click tracking enabled. Using this command, it is possible to get a report of all individual clicks or to get reports about messages that have not yet been clicked on or for which click tracking was not enabled. See the query parameters for more detail.
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#click).
Dates, for the purposes of narrowing results, refer to the date the message was sent. This corresponds to the `date_sent` output field. However, if you set the `click_date` input parameter to true, then the `click_date` field will be used for date selections.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
clicked
Integer
If specified, the results are restricted as follows: clicked < 0 – select messages where click tracking was not enabled. clicked = 0 – select messages where click tracking was enabled, but where no URLs have yet been clicked by the recipient. clicked > 0 – select messages where one or more URLs have been clicked by the recipient. When “clicked” is positive, you will get one row back for each click; so,you can get multiple rows per message.
If a value for “clicked” is not specified, a value of “1” will be assumed.
click_date
String
If true, the ”click_date” field will be used for all date selections. If false or not specified, the sent date (“date_sent”) will be used.
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled, and which have been opened at least once.
sendmail_id
String
String. Return only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
status
String
Values: delivered – Accepted by the recipient’s email servers and presumed delivered. If bounce processing is enabled, then this status could change later to ba_soft_fail or ba_hard_fail. perm_fail – Messages that have permanently failed to be delivered to the recipient’s servers. If bounce processing is on, this status could change shortly to ba_soft_fail, depending on the nature of the failure message. lost – Messages where the tracking was lost and it is unclear if it was delivered or lost from the queue. queued – Message is in the email server queue still waiting to be delivered to the recipient. not_queued -- all statuses except "queued". ba_soft_fail – Soft failure bounces received (when talking to the recipient’s servers or after successful delivery to the recipient’s servers). ba_hard_fail – Hard failure bounces received after successful delivery to the recipient’s servers, any_hard_fail – Results for ba_hard_fail OR perm_fail. I.e., all hard/permanent failures.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number
This report allows you to see how each Webmail message sent by `username` was sent to each recipient and what the delivery status is for each of these recipients. Note that delivery status changes over time as messages progress to the recipient’s servers and as bounce messages are sent back and processed. As the delivery status changes, the “last_update” date is also updated.
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#delivery).
Dates, for the purposes of narrowing results, refer to the *date the message delivery status was last updated*. This corresponds to the `last_update` output field. This can be changed to the date the message was sent using the "sent_date" parameter.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
clicked
Integer
Integer. If specified, the results are restricted as follows: clicked < 0 – select messages where URL click tracking was not enabled. clicked = 0 – select messages where URL click tracking was enabled, but where there have as yet been no clicks on any clinks in the messages. clicked > 0 – select messages where URL click tracking was enabled and where there have been N or more clicks on links in the same message to the same recipient. N, in this case, is the number that you have specified as the value of the “clicked” parameter. I.e., using a value of “1” matches all messages that have had a link clicked on.
from
String
String. Case-insensitive substring search of the message “From” email Address
ip
String
String. Case-insensitive substring search of the sender IP address (for SMTP reports only).
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
Integer. If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least N times. N, in this case, is the number that you have specified as the value of the “opened” parameter. I.e., using a value of “1” matches all messages that have been opened.
secureline
String
Enum. Value: u – Message to this recipient did not use SecureLine (or Opt Out was used) e – Message did use SecureLine -2 – SecureLine was not used due to Opt Out being selected -1 – SecureLine usage not recorded for some reason 1 – SecureLine:PGP was used 2 – SecureLine:S/MIME was used 3 – SecureLine:Escrow was used 4 – SecureLine:TLS was used
sendmail_id
String
String. Return only the messages with the specified sendmail_id
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
sent_date
Integer
If set to true (i.e., 1), the email message sent date will be used for date/time selections, instead of the date of the last update of the delivery status.
spam
Integer
Enum. Value: 0 – Message was not marked as spam by a recipient and returned in a Feed Back Loop. 1 – Message was marked as spam by a recipient and returned in a Feed Back Loop
tls
Integer
Enum. Value: 0 – TLS was NOT used in the successful delivery of this message to the recipient server 1 – TLS was used in the successful delivery of this message to the recipient server
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
to
String
Case-insensitive substring search of all recipient email addresses.
user_id
Integer
Integer. Restrict the report to the user with this specific User ID number
This report allows you to query on the “opened” events (or lack thereof) for email messages sent via Webmail by `username` that have email open tracking enabled. Using this command, it is possible to get a report of all individual opens for messages or to get reports about messages that have not yet been opened or for which open tracking was not enabled. See the query parameters for more detail.
*Note: if you are using LuxSci Legacy Secure Marketing to send your email messages, then normal LuxSci click and open reporting is disabled (and you will not see click and open data in this report). The LuxSci Legacy Secure Marketing platform his its own click and open tracking and reporting system and you should look in that interface for reports.*
See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#open).
Dates, for the purposes of narrowing results, refer to the date the message was sent. This corresponds to the `date_sent` output field. However, if you set the `open_date` input parameter to true, then the `open_date` field will be used for date selections.
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
opened
Integer
If specified, the results are restricted as follows: opened < 0 – select messages where open tracking was not enabled. opened = 0 – select messages where open tracking was enabled, but which have not yet been opened. opened > 0 – select messages where open tracking was enabled and which have been opened at least once. When opened is positive, you will get one row back for each open; so, you can get multiple rows per message.
If you do not specify a value for “opened”, a value of “1” will be assumed.
open_date
Boolean
If true, the ”open_date” field will be used for all date selections. If false or not specified, the sent date (“date_sent”) will be used.
sendmail_id
String
Return only the messages with the specified sendmail_id.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
status
String
Values: delivered – Accepted by the recipient’s email servers and presumed delivered. If bounce processing is enabled, then this status could change later to ba_soft_fail or ba_hard_fail. perm_fail – Messages that have permanently failed to be delivered to the recipient’s servers. If bounce processing is on, this status could change shortly to ba_soft_fail, depending on the nature of the failure message. lost – Messages where the tracking was lost and it is unclear if it was delivered or lost from the queue. queued – Message is in the email server queue still waiting to be delivered to the recipient. not_queued -- all statuses except "queued". ba_soft_fail – Soft failure bounces received (when talking to the recipient’s servers or after successful delivery to the recipient’s servers). ba_hard_fail – Hard failure bounces received after successful delivery to the recipient’s servers, any_hard_fail – Results for ba_hard_fail OR perm_fail. I.e., all hard/permanent failures.
subject
String
Case-insensitive substring search of the message subject (in UTF8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number
Return a list of all email messages sent via Webmail by `username`. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#sent).
Access control required to execute this endpoint: User: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
from
String
Case-insensitive substring search of the message “From” email address
header1
String
Case-insensitive name of the custom email header field to match against in the “header 1” column. I.e., if you were matching against “X-My-Header” and saving this in header 1, you would enter “X-My-Header” as the value here.
NOTE: Data is only stored in the customer header capturing fields/columns if you have explicitly enabled this feature in the “Account Administration > Email” area of the LuxSci user interface.
header1_operator
String
If this is present and one of the following 4 values, then the query will only return messages that included “header1” when “header1” was being tracked, and which also satisfy the follow the criteria:
is --- The value of the email header named “header1” in the send email must have been exactly the same as header1_value
not – The value of the email header named “header1” in the send email must not be exactly the same as header1_value
like – The value of the email header named “header1” in the send email must contain (case insensitive) the value in header1_value
notlike – The value of the email header named “header1” in the send email must not contain (case insensitive) the value in header1_value
I.e., if you configured your account to capture the value of the header “X-My-Header” and saving this in “header column 1” and an email was sent with the header “X-My-Header: gh6577hh-abc”. This would have been stored in the database. You could then find this message by passing to this API function:
header1 = “X-My-Header”
header1_operator = “is”
header1_value = “gh6577hh-abc”
Or by passing:
header1 = “X-My-Header”,/li>
header1_operator = “like”
header1_value = “abc”
header1_value
String
Text used with “header1_operator” for matching the value of the email header specified in the “header1” parameter in the original sent message.
header2
String
Like “header1” but applies to searching the header 2 column.
header2_operator
String
Like “header1_operator” but applies to searching the header 2 column.
header2_value
String
Like “header1_value” but applies to searching the header 2 column.
header3
String
Like “header1” but applies to searching the header 3 column.
header3_operator
String
Like “header1_operator” but applies to searching the header 3 column.
header3_value
String
Like “header1_value” but applies to searching the header 2 column.
ip
String
Case-insensitive substring search of the sender IP address (for SMTP reports only).
opt_out
String
Value: 0 – SecureLine Opt Out not used -1 – SecureLine Opt Out use not recorded for some reason 1 – SecureLine Opt Out
secureline
String
Value: any – Match anything -1 – SecureLine usage not recorded for some reason 1 – SecureLine encryption was used 0 – SecureLine encryption was not used
If SecureLine was used, use the delivery status report to see more details.
sendmail_id
String
Return only the message with the specified sendmail_id.
sendmail_ids
String
Comma-delimited list of up to 100 sendmail ids. Returns any matching messages.
spam
String
Value: 0 – Message was not marked as spam by a recipient and returned in a Feed Back Loop 1 – Message was marked as spam by a recipient and returned in a Feed Back Loop
subject
String
Case-insensitive substring search of the message subject (in UTF-8).
to
String
Case-insensitive substring search of all recipient email addresses.
tracked_headers
String
If true and this report is for messages sent vis SMTP, then the results will include the six additional fields (header1, header2, header3, header1_value, header2_value, header3_value) which are used to track custom email message header data.
user_id
String
Restrict the report to the user with this specific User ID number.
Retrieve all email suppressions at the user level using a report-style call. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#sup).
Access control required to execute this endpoint: User Email: Suppression
/perl/api/v2/user/{username}/suppression_v2/
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
email
String
Restrict the report to suppressions of this specific email address.
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
Retrieve a count of the matching email suppressions at the user level using a report-style call. Dates are based on the date that the suppression was added. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#sup_count).
Access control required to execute this endpoint: User Email: Suppression
/perl/api/v2/user/{username}/suppression_count/
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
filter1
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter2
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
filter3
String
Control when a summary report returns values (for use with automated reports). See https://luxsci.com/rest-api/reporting.html#filters
Responses
Status: 200 - Report the count of matching suppressions. The returned field name for this count is suppressions.
This command changes the user’s password. It validates the new password using all the same tests that would be applied if you were changing the password in the Web Interface. Make sure that the configuration settings for password strength validation are compatible with that used by your own applications generating the passwords.
You cannot change the passwords of users that have been disabled. You must re-enable them first, then change the password.
Access control required to execute this endpoint: User Settings - Change Password
This command creates a new user app-specific password/login for a specific user. Note that users can have at most 30 app-specific passwords defined at any one time.
Access control required to execute this endpoint: User Settings - Change Password
It is the plain text suffix to the user’s regular login email address that will be used to create this new app-specific password. E.g., if you specify “email” as the suffix for the user ‘user@domain.com’, then the new login will be ‘usr@domain.com/email’.
The suffix string must be 1-10 characters long and can only contain letters and numbers. It is also case insensitive (so will be converted to lower case).'
Required
Body parameters
Name
Description
body
Query parameters
Name
Description
Responses
Status: 201 - The response body for a successful request will have a keywords and data in the “data” in the JSON response.
Create a new user in your account.
Your API Interface looks to see how many users were added to your account in the past 24 hours. If this number is equal or greater than your API create limit, then your API will reject additional user creation requests until that situation changes. See your API Interface configuration page for your user creation limit.
If you would like to update other user information, such as contact information, disk quota, etc., you would use other, specific API calls. The user’s initial preferences are copied from the account main administrator user. This user will have all licenses and services that are currently being purchased “for all users” in your account or which are required (e.g. SecureLine for HIPAA or Archival in a domain provisioned for Archival).
**Upgrades:** If your account does not have available user licenses (or licenses for SecureLine, Archival, or other needed services) for this new user, then either the request will be rejected, or your account will be auto-upgraded if you have “Permit auto-upgrades as needed for fulfill requests” enabled. In the latter case, your account will be upgraded by a block of at least your specified “licenses at a time” upgrade setting from your API Interface configuration.
Access control required to execute this endpoint: Account: Users - Add
It is the plain text suffix to the user’s regular login email address that will be used to identify the app-specific password. E.g., if you specify “email” as the suffix for the user ‘user@ domain.com’, then the login deleted will be ‘usr@domain.com/email’.
Delete the user from the system. This eliminates all the user’s data, history, web/ftp files, and email. After this command is complete, there will no longer be any record that the user existed. **This command cannot be undone.**
Note that some users cannot be deleted in this way. For example, any user with “account management” permission cannot be deleted. Other users may not be able to be deleted if there are things in your account (e.g., web sites) that are still owned by them. You will receive an error if you try to delete a user that is not currently deletable.
Note that deletion of a user does not downgrade your account. Please contact billing for account downgrade requests.
Access control required to execute this endpoint: Account: Users - Enable/Disable/Delete
Return a list of all available time zones. The keywords are the canonical time zone names. The values are plain text versions of the names.
Note, that with the “GMT+/-” times, specifically, the canonical name has the opposite sign compared to the common plain text version we all are used to seeing. E.g. “GMT-5” for Eastern Time USA, has a canonical name of “GMT+5”. Ya, weird, but based on how the standard time zone database works – we use these canonical names in conjunction with the standard time zone database to translate times from one time zone to another. So, if you are in “GMT+5”, your saved time zone name will be “GMT-5” so that, behind the scenes, the software can use this database to properly handle your time.
Access control required to execute this endpoint: User Settings - Read
/perl/api/v2/user/{username}/settings/timezones
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
Responses
Status: 200 - The response body for a successful request will have a keywords and data in the “data” in the JSON response. The keywords are the time zone code names (e.g. “EST”) and the values are the descriptions for these names (e.g. “EST: Eastern Standard Time”).
Return information that can be used to brand (private label) a user interface consistently with the branding the user would experience when logging in to WebMail. Other keywords may be added in the future as the need arises.
Access control required to execute this endpoint: User Settings - Read
/perl/api/v2/user/{username}/branding
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
Responses
Status: 200 - The response body for a successful request will have a keywords and data in the “data” in the JSON response.
Return an array of information about all users matching your query request.
The Request query string can contain any or all of the following keywords parameters to refine the search. If all are omitted, the report will include information about all users in the account. In all cases, any users protected from API access will not be included in the report.
Access control required to execute this endpoint: User Settings: Read Access
/perl/api/v2/account/{accountId}/users
Parameters
Path parameters
Name
Description
accountId*
String
Required
Query parameters
Name
Description
status
String
Value ‘enabled’ – return only active/enabled users. Value ‘disabled’ – return only disabled users.
domain
String
Domain name in your account. If supplied, only users in this domain will be returned.
younger_than
Integer
Return only users created less than this number of days ago.
older_than
Integer
Return only users created more than this number of days ago.
Responses
Status: 200 - The successful response will be an array of objects, one for each matching user in your account.
This report-style API call returns a list of all users in the account, with optional date range selection by user creation date. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#users).
Access control required to execute this endpoint: Account: View Reports
/perl/api/v2/account/{accountId}/users/report
Parameters
Path parameters
Name
Description
accountId*
String
Required
Query parameters
Name
Description
after_date
String
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
status
String
Specify one of enabled or disabled to retrieve only enabled or disabled users.
domain
String
Enter the name of a domain to retrieve only users whose login is in that domain.
Create a URL that the user can click on which will automatically log the user into the Web Interface without needing to enter his/her username and password. For example, if the user has already authenticated himself in your system, you can use this API call to get a link that can be presented to the user so the user can then access WebMail or other services without needing to login again (e.g. “single sign-on”).
Notes:
1. This API call returns a URL. You can have the user click on that URL or you can redirect him/her to it.
2. This URL is valid for 15 minutes from the time of issuance. It can be used multiple times while it is in use.
3. These URLs are invalidated if the user’s password is changed.
4. These URLs will only work for someone coming from the IP address that your specified in your request for the URL
5. If a user has a preference that permits only OpenID/Social media logins to his/her account, then this auto-login URL will not work.
6. If a user has two-factor authentication enabled, then this URL will take him through the username/password portion of the login process; however, the user will still have to do the chosen second factor.
7. All logins via Single Sign-on are logged and are denoted as Single Sign-on logins in the user’s login history report.
/perl/api/v2/user/{username}/password
Parameters
Path parameters
Name
Description
username*
String
Optional. Path after the domain name to take the user to upon automatic sign in. If omitted, the default path of “/perl/member/email/messages.pl” will be used; this default takes one to view the WebMail INBOX folder. You can use this parameter to select other destinations.
Required
Query parameters
Name
Description
ip*
String
Required. This must be the IPv4 IP address that the end user is currently using. The resulting login URL will only work for someone who is coming from this specific IP address.
This report the number of users in the account, with optional date range selection by user creation date. See also [API Reporting Basics](/rest-api/reporting.html) and [report header columns in the response](/rest-api/report-responses.html#users_count).
Access control required to execute this endpoint: Account: View Reports
DATETIME. Return only matches dated after this date time. Format “YYYY-MM-DD HH:MM:SS” in GMT
before_date
String
DATETIME. Return only matches dated before this date time.
first_row
Integer
(Default value 0). All of the matches are sorted and numbered starting from 0. E.g. if you have 100,000 matches, these are rows 0 through 99,999. If you specify a first_row, then the returned matches will be those rows starting from that row. E.g. without a specification (or if you specify 0), you might get rows 0 through 49,999. In your next request you might specify first_row=50000 to get rows 50000 to 99,999.
from_date
String
DATETIME. Return only matches dated on or after this date time.
matches
Integer
(Default value 50000). You can set matches to any value from 0 to 50000. This sets the maximum number of matches that will be returned in response to your request. Note that if the response size starts to exceed 50MB, then the response can still include fewer than your “matches” number, to keep the response size reasonable. If you specify “0” here, then no matches will be returned; however, you will still get the information on the number of matches that there were. For asynchronous reports (ones where a destination is specified), the matches parameter is not limited to 50000, but it still defaults to 50000 if not specified. If you expect a larger number of rows, then you must explicitly approve the maximum size of the result set by setting matches appropriately. This helps prevent accidental queries that produce very larger result sets.
through_date
String
DATETIME. Return only matches dated before or on this date time.
destination
String
For reporting requests. Specifying a destination makes the report "asynchronous." This means that a background job will be created to run the report and upload the final CSV file to the requested destination. The API request to start the report will return immediately with a background "job number" and the filename that will be uploaded. The supported value of "destination" is currently only "sftp" for a Secure FTP upload over SSH (as opposed to ftps, which would be a Secure FTP upload over SSL). When "destination" is specified, additional destination parameters are also required. Note that for SFTP uploads, there is a 15-minute upload timeout -- uploads that take longer (e.g., due to slow SFTP servers) will be aborted. WARNING: Multiple concurrent large asynchronous report requests will impact your database performance: reports will take longer to generate and your LuxSci services will experience degraded/slower performance.
destination_directory
String
For asynchronous reporting requests. This optional parameter will be the subdirectory to change to on the SFTP server before uploading the report CSV file. Technically speaking, this will be the argument provided to the SFTP "chdir" command.
destination_hostname
String
For asynchronous reporting requests. This will be the hostname of the SFTP server to which the report CSV file should be uploaded.
destination_password
String
For asynchronous reporting requests. This will be the password to be used for the login to the SFTP server to which the report CSV file should be uploaded.
destination_username
String
For asynchronous reporting requests. This will be the username to be used for the login to the SFTP server to which the report CSV file should be uploaded.
status
String
Specify one of enabled or disabled to retrieve only enabled or disabled users.
domain
String
Enter the name of a domain to retrieve only users whose login is in that domain.
This command creates a list of all app-specific password/logins defined for a specific user. This command does not allow you to access the passwords themselves, as these are stored only as complex hashes on the server.
A list of all defined app-specific passwords will be returned.
Access control required to execute this endpoint: User Settings - Change Password
/perl/api/v2/user/{username}/app-password
Parameters
Path parameters
Name
Description
username*
String
Required
Query parameters
Name
Description
Responses
Status: 201 - The response body for a successful request will have a list as the “data” in the JSON response. Each element of the list will be the definition of one of the app-specific passwords for this user. An app specific-password definitions is a list containing 4 elements:
[suffix, title, types, created, expires]
The “suffix” is the login suffix we have been using; “title” is the text description; “types” is the comma-delimited list of code words that defines the access available to this login; “created” is the date and time in GMT in the format “YYYY-MM-DD HHMMSS” of when this app-specific login was created. Expires is the similar date when it expires; if this is before “2020-01-01”, then it does not expire.
This command creates a list of all app-specific password/logins defined for a specific user. This command does not allow you to access the passwords themselves, as these are stored only as complex hashes on the server.
The list will contain either 0 results (if there is no app-specific password defined with that suffix), or the 1 singular result corresponding to that suffix.
Access control required to execute this endpoint: User Settings - Change Password
Status: 200 - The response body for a successful request will have a list as the “data” in the JSON response. Each element of the list will be the definition of one of the app-specific passwords for this user. An appspecific-password definitions is a list containing 4 elements:
[suffix, title, types, created, expires]
The “suffix” is the login suffix we have been using; “title” is the text description; “types” is the comma-delimited list of code words that defines the access available to this login; “created” is the date and time in GMT in the format “YYYY-MM-DD HHMMSS” of when this app-specific login was created. Expires is the similar date when it expires; if this is before “2020-01-01”, then it does not expire.
Change the user’s login email address from `username` to `new_address`. E.g., change `john@sample.com` to `fred@newdomain.com`. Please note the following restrictions on this command:
1. Users cannot be renamed with the API in the following situations:
1. Users with account administration permission cannot be renamed.
2. If this user is currently HIPAA compliant, s/he cannot be renamed into a domain that is not HIPAA compliant
3. If this user does not have a SecureLine license, s/he cannot be renamed into a domain that is HIPAA- ompliant
4. Users with Secure Marketing user logins associated with them cannot be renamed.
5. Users cannot be renamed from a domain that does not have Premium Email Filtering or Archival into a domain that does.
2. The new domain name (e.g. `newdomain.com`) must exist in this account.
3. The user part of the new login (e.g. `fred`) must be valid for an email address and must not correspond to an existing user or email alias.
4. Any existing PGP or S/MIME certificates associated with this user in the system will be deleted and become inaccessible, as they are explicitly related to the user’s login email address.
Access control required to execute this endpoint: Account: Users - Enable / Disable / Delete Users
Add/update multiple entries of a WebAide all at once.
Address Book Imports: SecureLine data can be sent in this way as well (i.e. Escrow question and answer, PGP key, S/MIME key, etc.). SecureLine data is imported if and only if the “SecureLine Mode” field is present and not empty for an entry. Any entries that are updated and for which “SecureLine Mode” is left blank, will have their existing SecureLine settings left “as-is”.
Note: Each WebAide is limited to 25,000 entries by default. If your WebAide has this many entries (or more), then this AddUpdateWebAideEntries command will return an error (even if you are only intending to do updates). If you need larger WebAides, please contact support. Very large WebAides may require use of a dedicated server.
See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to that specific type of WebAides; Add/Update Accessible WebAides and Entries
Delete a WebAide of type `webaide_type` whose unique ID is `webaide_id`. This WebAide must be owned by the user in question. See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to that specific type of WebAides; Delete Accessible WebAides and Entries
Delete multiple entries from a WebAide all at once. (Since we are not deleting an individual entity at a specific address, this is a POST instead of a DELETE method). See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to that specific type of WebAides; Delete Accessible WebAides and Entries
Gets a list of entries in a specified Calendar WebAide that fall within a specified range of dates. For recurring entries, the entry will be returned if any of its instances fall within the specified date range. The date range is taken to be dates in GMT. See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to WebAide Calendars; Read Accessible WebAides and Entries
DATE: “YYYY-MM-DD” in GMT (where 00:00:00 GMT is implied) Required. Entries that contain events before this date.
Required
entries
String
Comma-delimited list of entry Unique IDs. e.g. “10786,77892,23”
Optional. If included, the search is restricted to only entries in this list.
Note, if you want to use a very long list of entries, you might want to use several requests so that you do not exceed the maximum URL query string size of 8190 bytes.
from*
String
DATE: “YYYY-MM-DD” in GMT (where 00:00:00 GMT is implied)
Required. Entries that contain events on or after this date.
Required
Responses
Status: 200 - The response body for a successful request will have data in the “data” in the JSON response.
This call is like `getWebAides`, except that the call is simplified and targeted at a specific, single WebAide. See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to that specific type of WebAides; Read Accessible WebAides and Entries
Optional. DateTime in GMT in the format: YYYY-MM-DD HH:MM:SS. If this is provided, a sub call to “GetWebAideChanges” will be made for each returned WebAide, giving you summary counts of numbers of entries and adds/updates/deletes since the specified date.
Specify an old date (e.g. “2000-01-01”) if all you care about is the total number of entries.
Use of “changes” is the recommended way to get the number of entries in one or more WebAides in an efficient manner.
Responses
Status: 200 - Results in the “data” component of the response. The result will be the same as that for `getWebAides`.
Timestamp “YYYYMMDDHHMMSS” in GMT or “YYYY-MM-DD HH:MM:SS” in GMT
Return all WebAide entries added, changed, or deleted since this timestamp. If you specify “0” here, it will return a list of all entries that exist now and all that have been deleted.
Optional. Comma-delimited list of entry Unique IDs. e.g. “10786,77892,23”.
If included, the search is restricted to only entries in this list.
Note, if you want to use a very long list of entries, you might want to use several requests so that you do not exceed the maximum URL query string size of 8190 bytes.
limit
Integer
Optional. Integer 1 to 500. How many entries to return (maximum). Default is 500.
resume
Integer
Integer:1 or 0. If 0 (the default), begin a new search. If 1, continue the previous search. When returning successive “pages” or entries, use resume for faster and more consistent results.
secureline
Integer
Integer 1 or 0 If specified as ‘1’, SecureLine-specific Address Book fields are included in the export. I.e., this includes the SecureLine Escrow Question/Answer pair and/or PGP and S/MIME public keys.
showcomplete
Integer
Integer 1 or 0 If specified as ‘1’, get completed tasks for ‘Tasks’ WebAides. By default, only uncompleted tasks are returned.
sort
String
Optional method by which the returned entries should be sorted.
start
Integer
Optional. The default is 0. Index in the list of all entries from which to start the result set. Use this to return successive “pages” of entries.
timezone
String
Time zone code. The time zone to use for Calendar/Task dates and times. The user’s default time zone is used if no time zone is specified.
Responses
Status: 200 - The response body for a successful request will have data in the “data” in the JSON response.
Return a list of all WebAides accessible to the specified user, that are also of the indicated type. You can use the query string to add filters to narrow down the results. See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to that specific type of WebAides; Read Accessible WebAides and Entries
tosync - return those tagged for synchronization with MobileSync.
ids
array[String]
List of the numerical WebAide IDs eligible to be returned.
permissions
array[String]
Values can include those in the webaide_permission list. Select only WebAides where the user has all of the indicated permissions
modified
String
DateTime in GMT in the format: YYYY-MM-DD HH:MM:SS. Return all WebAides that have had any entry created, deleted, or modified on or after this date and time. Values can include those in the webaide_permission list.
changes
String
Optional. DateTime in GMT in the format: YYYY-MM-DD HH:MM:SS. If this is provided, a sub call to “GetWebAideChanges” will be made for each returned WebAide, giving you summary counts of numbers of entries and adds/ updates/deletes since the specified date.
Specify an old date (e.g. “2000-01-01”) if all you care about is the total number of entries.
Use of “changes” is the recommended way to get the number of entries in one or more WebAides in an efficient manner.
Responses
Status: 200 - The response body for a successful request will have a list of objects as the “data” in the JSON response.
Create a new WebAide of type webaide_type. E.g. creation of a new “Address Book”.
Note: Each user is limited to 500 WebAides of each type. Trying to create more will result in an error being returned.
See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to that specific type of WebAides; Add/Update Accessible WebAides and Entries
Create a new WebAide Entry. Note that invalid fields may simply be ignored, rather than generate an actual error. E.g. an invalid “E-mail Address” field will simply result in that field being omitted in the new entry. We recommend that you validate your own data and not rely on request errors to do the validation for you.
Note: Each WebAide is limited to 25,000 entries by default. If your WebAide has this many entries (or more), then this NewWebAideEntry command will return an error. If you need larger WebAides, please contact support. Very large WebAides may require the use of a dedicated server.
See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to that specific type of WebAides; Add/Change Accessible WebAides and Entries
Update an existing WebAide Entry. This function will replace the data in all entry fields with the new data supplied. It is recommended that you retrieve the complete entry, alter it, and then update it – so that you update does not delete data from an entry simply because you did not include those fields in your update.
File attachments on entries are unaffected by this command.
See also [WebAide definitions](/rest-api/webaides.html).
Access control required to execute this endpoint: Access to that specific type of WebAides; Add/Change Accessible WebAides and Entries