ContactsImportCsv404Response
{
"type": "object",
"required": [
"errors"
],
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/error"
},
"uniqueItems": true
}
},
"description": "If any of the specified lists do not exist."
}
ContactsImportCsvRequest
{
"type": "object",
"required": [
"file_type",
"field_mappings"
],
"properties": {
"list_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "All contacts will be added to each of the specified lists."
},
"file_type": {
"enum": [
"csv"
],
"type": "string",
"description": "Upload file type."
},
"field_mappings": {
"type": "array",
"items": {
"anyOf": [
{
"type": "string"
},
{
"nullable": true
}
]
},
"minItems": 1,
"description": "Import file header to reserved/custom field mapping.",
"uniqueItems": false
}
}
}
ContactsImportCsvResponse
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "The ID of the import job."
},
"upload_uri": {
"type": "string",
"description": "The URI to PUT the upload file to."
},
"upload_headers": {
"type": "array",
"items": {
"type": "object",
"required": [
"header",
"value"
],
"properties": {
"value": {
"type": "string"
},
"header": {
"type": "string"
}
}
},
"description": "A list of headers that must be included in PUT request."
}
}
}
ContactsSearchByEmails500Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
ContactsSearchByEmailsRequest
{
"type": "object",
"example": {
"emails": [
"jane_doe@example.com",
"john_doe@example.com",
"joann_doe@example.com"
]
},
"required": [
"emails"
],
"properties": {
"emails": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"description": "One or more primary emails and/or alternate emails to search through your contacts for."
}
},
"description": ""
}
ContactsSearchByEmailsResponse
{
"type": "object",
"properties": {
"result": {
"type": "object",
"x-patternProperties": {
"^[A-Za-z0-9\\._%\\+-]+@[A-Za-z0-9\\.-]+\\.[A-Za-z]{2,6}$": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"contact": {
"$ref": "#/components/schemas/contact-details3"
}
},
"description": "This will be one of the specified email adresses."
}
}
}
}
}
ContactsSearchContactsByQuery400Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"field": {
"type": "string"
},
"message": {
"type": "string"
}
}
}
}
}
}
ContactsSearchContactsByQuery500Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
ContactsSearchContactsByQueryRequest
{
"type": "object",
"example": {
"query": "email LIKE 'ENTER_COMPLETE_OR_PARTIAL_EMAIL_ADDRESS_HERE%' AND CONTAINS(list_ids, 'YOUR_LIST_IDs')"
},
"required": [
"query"
],
"properties": {
"query": {
"type": "string",
"x-Description": "An SGQL search string or other pattern."
}
}
}
ContactsSearchContactsByQueryResponse
{
"type": "object",
"required": [
"contact_count"
],
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contact-details3"
}
},
"_metadata": {
"$ref": "#/components/schemas/selfmetadata"
},
"contact_count": {
"type": "number",
"description": "The total number of contacts matched."
}
}
}
ContactsUpsertBatchContacts400Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/error"
}
}
}
}
ContactsUpsertBatchContactsRequest
{
"type": "object",
"required": [
"contacts"
],
"properties": {
"contacts": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contact-request"
},
"maxItems": 30000,
"minItems": 1,
"description": "One or more contacts objects that you intend to upsert. The available fields for a contact, including the required `email` field are described below."
},
"list_ids": {
"type": "array",
"items": {
"type": "string",
"format": "uuid"
},
"description": "An array of List ID strings that this contact will be added to."
}
}
}
ContactsUpsertBatchContactsResponse
{
"type": "object",
"properties": {
"job_id": {
"type": "string",
"description": "Indicates that the contacts are queued for processing. Check the job status with the \"Import Contacts Status\" endpoint."
}
}
}
CsvUiOnlyGenerateCsvDownloadUrl404Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
CsvUiOnlyGenerateCsvDownloadUrl500Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
CsvUiOnlyGenerateCsvDownloadUrlResponse
{
"type": "object",
"required": [
"csv"
],
"properties": {
"csv": {
"type": "string",
"pattern": "^((http[s]?|ftp):\\/)?\\/?([^:\\/\\s]+)((\\/\\w+)*\\/)([\\w\\-\\.]+[^#?\\s]+)(.*)?(#[\\w\\-]+)?$",
"minLength": 5,
"description": "Returns the aws signed link to the csv file which mako UI should perform a get on to trigger the csv download for the user"
},
"presigned_url": {
"type": "string",
"format": "uri",
"description": "A signed link that will allow you to download the CSV file requested by the Request a CSV endpoint."
}
}
}
CsvUiOnlyRequestCsvDownload400Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
CsvUiOnlyRequestCsvDownload429Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
CsvUiOnlyRequestCsvDownload500Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"properties": {
"message": {
"type": "string"
}
}
}
}
}
}
CsvUiOnlyRequestCsvDownloadResponse
{
"type": "object",
"properties": {
"status": {
"enum": [
"pending"
],
"type": "string"
},
"message": {
"type": "string"
}
}
}
CustomFieldsCreateDefinition400Response
{
"type": "object",
"required": [
"errors"
],
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/error"
},
"uniqueItems": true
}
}
}
CustomFieldsCreateDefinitionRequest
{
"type": "object",
"example": {
"name": "custom_field_name",
"field_type": "Text"
},
"required": [
"name",
"field_type"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"field_type": {
"enum": [
"Text",
"Number",
"Date"
],
"type": "string"
}
}
}
CustomFieldsCreateDefinitionResponse
{
"allOf": [
{
"$ref": "#/components/schemas/custom_field_definitions_response"
},
{
"type": "object",
"properties": {
"_metadata": {
"$ref": "#/components/schemas/_metadata"
}
}
}
]
}
CustomFieldsDeleteDefinitionResponse
{
"type": "object",
"required": [
"errors"
],
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/error"
},
"uniqueItems": true
}
}
}
CustomFieldsGetAllFieldDefinitionsResponse
{
"type": "object",
"required": [
"custom_fields",
"reserved_fields"
],
"properties": {
"_metadata": {
"$ref": "#/components/schemas/_metadata"
},
"custom_fields": {
"type": "array",
"items": {
"$ref": "#/components/schemas/custom_field_definitions_response"
}
},
"reserved_fields": {
"$ref": "#/components/schemas/reserved_field_definitions_response"
}
},
"maxProperties": 120,
"minProperties": 0
}
CustomFieldsUpdateDefinition400Response
{
"type": "object",
"required": [
"errors"
],
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/error"
},
"uniqueItems": true
}
}
}
CustomFieldsUpdateDefinition404Response
{
"type": "object",
"required": [
"errors"
],
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/components/schemas/error"
},
"uniqueItems": true
}
}
}
CustomFieldsUpdateDefinitionRequest
{
"type": "object",
"example": {
"name": "new_custom_field_name"
},
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
}
}
}
CustomFieldsUpdateDefinitionResponse
{
"allOf": [
{
"$ref": "#/components/schemas/custom_field_definitions_response"
},
{
"type": "object",
"properties": {
"_metadata": {
"$ref": "#/components/schemas/_metadata"
}
}
}
]
}
DesignsApiDeleteDesignByIdResponse
{
"type": "object",
"example": {},
"properties": {}
}
DesignsApiGetListResponse
{
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/components/schemas/design-output-summary"
}
},
"_metadata": {
"$ref": "#/components/schemas/_metadata"
}
}
}
DesignsApiListPreBuiltDesignsResponse
{
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/components/schemas/design-output-summary"
}
},
"_metadata": {
"$ref": "#/components/schemas/_metadata"
}
}
}
DesignsApiUpdateDesignByIdRequest
{
"type": "object",
"example": {
"name": "Ahoy, World!",
"subject": "Getting Started",
"categories": [
"promotions"
],
"html_content": "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\" \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n<html data-editor-version=\"2\" class=\"sg-campaigns\" xmlns=\"http://www.w3.org/1999/xhtml\">\n <head>\n <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n <meta name=\"viewport\" content=\"width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1\">\n <!--[if !mso]><!-->\n <meta http-equiv=\"X-UA-Compatible\" content=\"IE=Edge\">\n <!--<![endif]-->\n <!--[if (gte mso 9)|(IE)]>\n <xml>\n <o:OfficeDocumentSettings>\n <o:AllowPNG/>\n <o:PixelsPerInch>96</o:PixelsPerInch>\n </o:OfficeDocumentSettings>\n </xml>\n <![endif]-->\n <!--[if (gte mso 9)|(IE)]>\n <style type=\"text/css\">\n body {width: 600px;margin: 0 auto;}\n table {border-collapse: collapse;}\n table, td {mso-table-lspace: 0pt;mso-table-rspace: 0pt;}\n img {-ms-interpolation-mode: bicubic;}\n </style>\n<![endif]-->\n <style type=\"text/css\">\n body, p, div {\n font-family: arial,helvetica,sans-serif;\n font-size: 14px;\n }\n body {\n color: #000000;\n }\n body a {\n color: #1188E6;\n text-decoration: none;\n }\n p { margin: 0; padding: 0; }\n table.wrapper {\n width:100% !important;\n table-layout: fixed;\n -webkit-font-smoothing: antialiased;\n -webkit-text-size-adjust: 100%;\n -moz-text-size-adjust: 100%;\n -ms-text-size-adjust: 100%;\n }\n img.max-width {\n max-width: 100% !important;\n }\n .column.of-2 {\n width: 50%;\n }\n .column.of-3 {\n width: 33.333%;\n }\n .column.of-4 {\n width: 25%;\n }\n ul ul ul ul {\n list-style-type: disc !important;\n }\n ol ol {\n list-style-type: lower-roman !important;\n }\n ol ol ol {\n list-style-type: lower-latin !important;\n }\n ol ol ol ol {\n list-style-type: decimal !important;\n }\n @media screen and (max-width:480px) {\n .preheader .rightColumnContent,\n .footer .rightColumnContent {\n text-align: left !important;\n }\n .preheader .rightColumnContent div,\n .preheader .rightColumnContent span,\n .footer .rightColumnContent div,\n .footer .rightColumnContent span {\n text-align: left !important;\n }\n .preheader .rightColumnContent,\n .preheader .leftColumnContent {\n font-size: 80% !important;\n padding: 5px 0;\n }\n table.wrapper-mobile {\n width: 100% !important;\n table-layout: fixed;\n }\n img.max-width {\n height: auto !important;\n max-width: 100% !important;\n }\n a.bulletproof-button {\n display: block !important;\n width: auto !important;\n font-size: 80%;\n padding-left: 0 !important;\n padding-right: 0 !important;\n }\n .columns {\n width: 100% !important;\n }\n .column {\n display: block !important;\n width: 100% !important;\n padding-left: 0 !important;\n padding-right: 0 !important;\n margin-left: 0 !important;\n margin-right: 0 !important;\n }\n .social-icon-column {\n display: inline-block !important;\n }\n }\n </style>\n <!--user entered Head Start--><!--End Head user entered-->\n </head>\n <body>\n <center class=\"wrapper\" data-link-color=\"#1188E6\" data-body-style=\"font-size:14px; font-family:arial,helvetica,sans-serif; color:#000000; background-color:#FFFFFF;\">\n <div class=\"webkit\">\n <table cellpadding=\"0\" cellspacing=\"0\" border=\"0\" width=\"100%\" class=\"wrapper\" bgcolor=\"#FFFFFF\">\n <tr>\n <td valign=\"top\" bgcolor=\"#FFFFFF\" width=\"100%\">\n <table width=\"100%\" role=\"content-container\" class=\"outer\" align=\"center\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n <tr>\n <td width=\"100%\">\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\">\n <tr>\n <td>\n <!--[if mso]>\n <center>\n <table><tr><td width=\"600\">\n <![endif]-->\n <table width=\"100%\" cellpadding=\"0\" cellspacing=\"0\" border=\"0\" style=\"width:100%; max-width:600px;\" align=\"center\">\n <tr>\n <td role=\"modules-container\" style=\"padding:0px 0px 0px 0px; color:#000000; text-align:left;\" bgcolor=\"#FFFFFF\" width=\"100%\" align=\"left\"><table class=\"module preheader preheader-hide\" role=\"module\" data-type=\"preheader\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"display: none !important; mso-hide: all; visibility: hidden; opacity: 0; color: transparent; height: 0; width: 0;\">\n <tr>\n <td role=\"module-content\">\n <p></p>\n </td>\n </tr>\n </table><table class=\"module\" role=\"module\" data-type=\"text\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" width=\"100%\" style=\"table-layout: fixed;\" data-muid=\"41f90842-501c-4f08-96c9-17c0f74cb841\" data-mc-module-version=\"2019-10-22\">\n <tbody>\n <tr>\n <td style=\"padding:18px 0px 18px 0px; line-height:22px; text-align:inherit;\" height=\"100%\" valign=\"top\" bgcolor=\"\" role=\"module-content\"><div><div style=\"font-family: inherit; text-align: inherit\">Ahoy, World!</div><div></div></div></td>\n </tr>\n </tbody>\n </table><div data-role=\"module-unsubscribe\" class=\"module\" role=\"module\" data-type=\"unsubscribe\" style=\"color:#444444; font-size:12px; line-height:20px; padding:16px 16px 16px 16px; text-align:Center;\" data-muid=\"4e838cf3-9892-4a6d-94d6-170e474d21e5\"><div class=\"Unsubscribe--addressLine\"><p class=\"Unsubscribe--senderName\" style=\"font-size:12px; line-height:20px;\">{{Sender_Name}}</p><p style=\"font-size:12px; line-height:20px;\"><span class=\"Unsubscribe--senderAddress\">{{Sender_Address}}</span>, <span class=\"Unsubscribe--senderCity\">{{Sender_City}}</span>, <span class=\"Unsubscribe--senderState\">{{Sender_State}}</span> <span class=\"Unsubscribe--senderZip\">{{Sender_Zip}}</span></p></div><p style=\"font-size:12px; line-height:20px;\"><a class=\"Unsubscribe--unsubscribeLink\" href=\"{{{unsubscribe}}}\" target=\"_blank\" style=\"\">Unsubscribe</a> - <a href=\"{{{unsubscribe_preferences}}}\" target=\"_blank\" class=\"Unsubscribe--unsubscribePreferences\" style=\"\">Unsubscribe Preferences</a></p></div></td>\n </tr>\n </table>\n <!--[if mso]>\n </td>\n </tr>\n </table>\n </center>\n <![endif]-->\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n </td>\n </tr>\n </table>\n </div>\n </center>\n </body>\n </html>",
"generate_plain_content": false
},
"properties": {
"name": {
"type": "string",
"default": "My Design",
"maxLength": 100,
"description": "Name of the Design."
},
"subject": {
"type": "string",
"maxLength": 5000,
"description": "Subject of the Design."
},
"categories": {
"type": "array",
"items": {
"type": "string",
"maxLength": 255
},
"maxItems": 10,
"description": "The list of categories applied to the design",
"uniqueItems": true
},
"html_content": {
"type": "string",
"maxLength": 1048576,
"description": "The HTML content of the Design."
},
"plain_content": {
"type": "string",
"default": "<generated from html_content if left empty>",
"maxLength": 1048576,
"description": "Plain text content of the Design."
},
"generate_plain_content": {
"type": "boolean",
"default": true,
"description": "If true, plain_content is always generated from html_content. If false, plain_content is not altered."
}
}
}
DomainAuthenticationAddIpToDomainRequest
{
"type": "object",
"example": {
"ip": "192.168.0.1"
},
"required": [
"ip"
],
"properties": {
"ip": {
"type": "string",
"description": "IP to associate with the domain. Used for manually specifying IPs for custom SPF."
}
}
}
DomainAuthenticationAssociateSubuserWithDomainRequest
{
"type": "object",
"example": {
"username": "jdoe"
},
"required": [
"username"
],
"properties": {
"username": {
"type": "string",
"description": "Username to associate with the authenticated domain."
}
}
}
DomainAuthenticationDeleteAuthenticatedDomainResponse
{
"type": "object",
"example": {},
"properties": {}
}
DomainAuthenticationDisassociateDomainFromSubuserResponse
{
"type": "object",
"example": {},
"properties": {}
}
DomainAuthenticationPostAuthenticateDomainRequest
{
"type": "object",
"example": {
"ips": [
"192.168.1.1",
"192.168.1.2"
],
"domain": "example.com",
"default": true,
"username": "john@example.com",
"subdomain": "news",
"custom_spf": true,
"automatic_security": false
},
"required": [
"domain"
],
"properties": {
"ips": {
"type": "array",
"items": {
"type": "string"
},
"description": "The IP addresses that will be included in the custom SPF record for this authenticated domain."
},
"domain": {
"type": "string",
"description": "Domain being authenticated."
},
"default": {
"type": "boolean",
"description": "Whether to use this authenticated domain as the fallback if no authenticated domains match the sender's domain."
},
"username": {
"type": "string",
"description": "The username associated with this domain."
},
"subdomain": {
"type": "string",
"description": "The subdomain to use for this authenticated domain."
},
"custom_spf": {
"type": "boolean",
"description": "Specify whether to use a custom SPF or allow SendGrid to manage your SPF. This option is only available to authenticated domains set up for manual security."
},
"automatic_security": {
"type": "boolean",
"description": "Whether to allow SendGrid to manage your SPF records, DKIM keys, and DKIM key rotation."
},
"custom_dkim_selector": {
"type": "string",
"description": "Add a custom DKIM selector. Accepts three letters or numbers."
}
}
}
DomainAuthenticationUpdateDomainSettingsRequest
{
"type": "object",
"example": {
"default": false,
"custom_spf": true
},
"properties": {
"default": {
"type": "boolean",
"default": false,
"description": "Indicates whether this is the default authenticated domain."
},
"custom_spf": {
"type": "boolean",
"default": false,
"description": "Indicates whether to generate a custom SPF record for manual security."
}
}
}
DomainAuthenticationValidateDomain500Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"required": [
"message"
],
"properties": {
"message": {
"type": "string",
"description": "A message explaining the reason for the error."
}
}
}
}
}
}
DomainAuthenticationValidateDomainResponse
{
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of the authenticated domain."
},
"valid": {
"type": "boolean",
"description": "Indicates if this is a valid authenticated domain."
},
"validation_results": {
"type": "object",
"properties": {
"spf": {
"type": "object",
"properties": {
"valid": {
"type": "boolean",
"description": "Indicates if the SPF record is valid."
},
"reason": {
"type": "string",
"nullable": true
}
},
"description": "The SPF record for the authenticated domain."
},
"dkim1": {
"type": "object",
"properties": {
"valid": {
"type": "boolean",
"description": "Indicates if the DNS record is valid."
},
"reason": {
"type": "string",
"nullable": true
}
},
"description": "A DNS record for this authenticated domain."
},
"dkim2": {
"type": "object",
"properties": {
"valid": {
"type": "boolean",
"description": "Indicates if the DNS record is valid."
},
"reason": {
"type": "string",
"nullable": true
}
},
"description": "A DNS record for this authenticated domain."
},
"mail_cname": {
"type": "object",
"properties": {
"valid": {
"type": "boolean",
"description": "Indicates if this DNS record is valid."
},
"reason": {
"type": "string",
"nullable": true,
"description": "The reason this record is invalid."
}
},
"description": "The CNAME record for the authenticated domain."
}
},
"description": "The individual DNS records that are checked when validating, including the reason for any invalid DNS records."
}
}
}
EmailAddressValidationCheckValidityRequest
{
"type": "object",
"example": {
"email": "example@example.com",
"source": "signup"
},
"required": [
"email"
],
"properties": {
"email": {
"type": "string",
"description": "The email address that you want to validate."
},
"source": {
"type": "string",
"description": "A one-word classifier for where this validation originated."
}
}
}
EmailAddressValidationCheckValidityResponse
{
"type": "object",
"required": [
"result"
],
"properties": {
"result": {
"type": "object",
"required": [
"email",
"verdict",
"score",
"local",
"host",
"checks",
"ip_address"
],
"properties": {
"host": {
"type": "string",
"format": "hostname",
"description": "The domain of the email address."
},
"email": {
"type": "string",
"format": "email",
"description": "The email being validated"
},
"local": {
"type": "string",
"description": "The local part of the email address."
},
"score": {
"type": "number",
"description": "A numeric representation of the email validity."
},
"checks": {
"type": "object",
"required": [
"domain",
"local_part",
"additional"
],
"properties": {
"domain": {
"type": "object",
"required": [
"has_valid_address_syntax",
"has_mx_or_a_record",
"is_suspected_disposable_address"
],
"properties": {
"has_mx_or_a_record": {
"type": "boolean",
"description": "Whether the email has appropriate DNS records to deliver a message. "
},
"has_valid_address_syntax": {
"type": "boolean",
"description": "Whether the email address syntax is valid."
},
"is_suspected_disposable_address": {
"type": "boolean",
"description": "Whether the domain appears to be from a disposable email address service."
}
},
"description": "Checks on the domain portion of the email address."
},
"additional": {
"type": "object",
"required": [
"has_known_bounces",
"has_suspected_bounces"
],
"properties": {
"has_known_bounces": {
"type": "boolean",
"description": "WHether email sent to this address from your account has bounced."
},
"has_suspected_bounces": {
"type": "boolean",
"description": "Whether our model predicts that the email address might bounce."
}
},
"description": "Additional checks on the email address."
},
"local_part": {
"type": "object",
"required": [
"is_suspected_role_address"
],
"properties": {
"is_suspected_role_address": {
"type": "boolean",
"description": "Whether the local part of email appears to be a role or group (e.g., hr, admin)"
}
},
"description": "Checks on the local part of the email address."
}
},
"description": "Granular checks for email address validity."
},
"source": {
"type": "string",
"description": "The source of the validation, as per the API request."
},
"verdict": {
"enum": [
"Valid",
"Risky",
"Invalid"
],
"type": "string",
"description": "A generic classification of whether or not the email address is valid."
},
"ip_address": {
"type": "string",
"description": "The IP address associated with this email."
},
"suggestion": {
"type": "string",
"description": "A suggested correction in the event of domain name typos (e.g., gmial.com)"
}
}
}
}
}
EmailCnameRecordsSendDnsEmailRequest
{
"type": "object",
"example": {
"email": "my_colleague@example.com",
"link_id": 29719392,
"message": "DNS Record for verification",
"domain_id": 46873408
},
"required": [
"link_id",
"domain_id",
"email"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "The email address to send the DNS information to."
},
"link_id": {
"type": "integer",
"x-desc": "The ID of the branded link.",
"minimum": 0
},
"message": {
"type": "string",
"default": "Please set these DNS records in our hosting solution.",
"description": "A custom text block to include in the email body sent with the records."
},
"domain_id": {
"type": "integer",
"minimum": 0,
"description": "The ID of your SendGrid domain record."
}
}
}
EmailCnameRecordsSendDnsEmailResponse
{
"type": "object",
"properties": {
"errors": {
"type": "object",
"properties": {
"error": {
"type": "string"
},
"field": {
"type": "string"
}
}
}
}
}
GetAlertsResponse
{
"type": "array",
"items": {
"type": "object",
"required": [
"created_at",
"email_to",
"id",
"type"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the alert."
},
"type": {
"enum": [
"usage_limit",
"stats_notification"
],
"type": "string",
"description": "The type of alert."
},
"email_to": {
"type": "string",
"description": "The email address that the alert will be sent to."
},
"frequency": {
"type": "string",
"description": "If the alert is of type stats_notification, this indicates how frequently the stats notifications will be sent. For example, \"daily\", \"weekly\", or \"monthly\"."
},
"created_at": {
"type": "integer",
"description": "A Unix timestamp indicating when the alert was created."
},
"percentage": {
"type": "integer",
"description": "If the alert is of type usage_limit, this indicates the percentage of email usage that must be reached before the alert will be sent."
},
"updated_at": {
"type": "integer",
"description": "A Unix timestamp indicating when the alert was last modified."
}
}
},
"description": "The list of alerts."
}
GetCampaignsResponse
{
"type": "object",
"properties": {
"result": {
"type": "array",
"items": {
"$ref": "#/components/schemas/campaign_response"
}
}
}
}
GetCategories400Response
{
"type": "object",
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"message"
],
"properties": {
"field": {
"type": "string"
},
"message": {
"type": "string",
"description": "A message explaining why your categories could not be retrieved."
}
}
},
"description": "The error returned."
}
}
}
GetCategoriesResponse
{
"type": "array",
"items": {
"type": "object",
"required": [
"category"
],
"properties": {
"category": {
"type": "string",
"description": "A category used to group emails by broad topic."
}
}
}
}
GetIpsResponse
{
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"subusers",
"pools",
"warmup",
"start_date",
"whitelabeled",
"assigned_at"
],
"properties": {
"ip": {
"type": "string",
"description": "An IP address."
},
"rdns": {
"type": "string",
"description": "The reverse DNS record for this IP address."
},
"pools": {
"type": "array",
"items": {
"type": "string"
},
"description": "The IP pools that this IP has been added to."
},
"warmup": {
"type": "boolean",
"description": "Indicates if this IP address is currently warming up."
},
"subusers": {
"type": "array",
"items": {
"type": "string"
},
"description": "The subusers that are able to send email from this IP."
},
"start_date": {
"type": "number",
"nullable": true,
"description": "The date that the IP address was entered into warmup."
},
"assigned_at": {
"type": "integer",
"nullable": true,
"description": "The date that the IP address was assigned to the user."
},
"whitelabeled": {
"type": "boolean",
"description": "Indicates if this IP address is associated with a reverse DNS record."
}
}
}
}