design-output
{
"allOf": [
{
"$ref": "#/components/schemas/design-output-summary"
},
{
"$ref": "#/components/schemas/design-input"
}
],
"title": "Design Output"
}
design-output-summary
{
"allOf": [
{
"type": "object",
"properties": {
"id": {
"type": "string",
"format": "uuid",
"description": "ID of the Design."
},
"created_at": {
"type": "string",
"format": "ISO 8601 date-time",
"description": "Datetime that Design was created."
},
"updated_at": {
"type": "string",
"format": "ISO 8601 date-time",
"description": "Datetime that Design was last updated."
},
"thumbnail_url": {
"type": "string",
"description": "A Thumbnail preview of the template's html content."
}
}
},
{
"$ref": "#/components/schemas/design-duplicate-input"
},
{
"$ref": "#/components/schemas/design-common-fields"
}
],
"title": "Design Output - Summary",
"example": {
"result": [
{
"id": "3247eaea-c912-42a3-b0bc-60bdaf210396X",
"name": "Welcome Email",
"editor": "code",
"subject": "Welcom to the Cake or Pie Cafe",
"categories": [
"welcome",
"new customer"
],
"created_at": "2021-04-09T17:29:46.000Z",
"updated_at": "2021-04-09T17:29:55.000Z",
"thumbnail_url": "//us-east-2-production-thumbnail-bucket.s3.amazonaws.com/llny8o5b3m636z92p7hbjnmq1jvpka39p370jwtin2s1wxv7x1sgm0y5fk518d0s.png",
"generate_plain_content": true
},
{
"id": "02dfd792-f31f-439a-a79e-5c47fbcfdbacX",
"name": "Monthly Promo",
"editor": "design",
"subject": "Free Dozen Cupcakes",
"categories": [
"promo",
"coupon"
],
"created_at": "2021-04-09T17:29:21.000Z",
"updated_at": "2021-04-09T17:29:42.000Z",
"thumbnail_url": "//us-east-2-production-thumbnail-bucket.s3.amazonaws.com/hfyxahd7ues2ajuoeoqq2xe6ibdasl1q89ox0y9ncya2ftpoicssmtf9ddus4c39.png",
"generate_plain_content": true
},
{
"id": "e54be823-19ef-4c6f-8b60-efd7514f492dX",
"name": "Duplicate: Ingrid & Anders",
"editor": "design",
"subject": "Welcome to Ingrid & Anders!",
"categories": [],
"created_at": "2020-10-09T17:33:46.000Z",
"updated_at": "2021-04-07T19:57:52.000Z",
"thumbnail_url": "//us-east-2-production-thumbnail-bucket.s3.amazonaws.com/12kni9gjpyb9uxmwr9vk7unycjr70u95zoyhe9sg2zounul2zg7dih1s20k13q2z.png",
"generate_plain_content": true
}
],
"_metadata": {
"self": "https://api.sendgrid.com/v3/designs?page_token=vHdvHCg0w1F-TmWJcPNpTEnFY2aPEmRBHONwOgZ6TgJbX2_I",
"count": 3
}
}
}
domain-authentication-200-response
{
"type": "array",
"items": {
"allOf": [
{
"$ref": "#/components/schemas/authentication_domain"
},
{
"type": "object",
"properties": {
"subusers": {
"type": "array",
"items": {
"type": "object",
"properties": {
"user_id": {
"type": "integer",
"description": "The ID of the subuser that this authenticated domain will be associated with."
},
"username": {
"type": "string",
"description": "The username of the subuser that this authenticated domain is associated with."
}
}
}
},
"last_validation_attempt_at": {
"type": "integer",
"description": "A Unix epoch timestamp representing the last time of a validation attempt."
}
}
}
]
},
"title": "Domain Authentication 200 Response",
"example": [
{
"id": 1,
"dns": {
"dkim1": {
"data": "s1._domainkey.u7.wl.sendgrid.net",
"host": "s1._domainkey.example.com",
"type": "cname",
"valid": true
},
"dkim2": {
"data": "s2._domainkey.u7.wl.sendgrid.net",
"host": "s2._domainkey.example.com",
"type": "cname",
"valid": true
},
"mail_cname": {
"data": "u7.wl.sendgrid.net",
"host": "mail.example.com",
"type": "cname",
"valid": true
}
},
"ips": [
"192.168.1.1",
"192.168.1.2"
],
"valid": true,
"domain": "example.com",
"legacy": false,
"default": true,
"user_id": 7,
"username": "jane@example.com",
"subdomain": "mail",
"custom_spf": true,
"automatic_security": true
},
{
"id": 2,
"dns": {
"dkim1": {
"data": "k=rsa; t=s; p=publicKey",
"host": "example2.com",
"type": "txt",
"valid": false
},
"dkim2": {
"data": "k=rsa; t=s p=publicKey",
"host": "example2.com",
"type": "txt",
"valid": false
},
"mail_cname": {
"data": "sendgrid.net",
"host": "news.example2.com",
"type": "mx",
"valid": false
}
},
"ips": [],
"valid": false,
"domain": "example2.com",
"legacy": false,
"default": true,
"user_id": 8,
"username": "john@example2.com",
"subdomain": "new",
"custom_spf": false,
"automatic_security": true
}
]
}
domain_authentication_domain_spf
{
"type": "object",
"title": "Domain Authentication",
"required": [
"id",
"domain",
"username",
"user_id",
"ips",
"custom_spf",
"default",
"legacy",
"automatic_security",
"valid",
"dns"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the authenticated domain."
},
"dns": {
"type": "object",
"required": [
"mail_server",
"subdomain_spf",
"domain_spf",
"dkim"
],
"properties": {
"dkim": {
"type": "object",
"required": [
"host",
"type",
"data",
"valid"
],
"properties": {
"data": {
"type": "string",
"description": "The DKIM record."
},
"host": {
"type": "string",
"description": "The DNS labels for the DKIM signature."
},
"type": {
"type": "string",
"description": "The type of data in the DKIM record."
},
"valid": {
"type": "boolean",
"description": "Indicates if the DKIM record is valid."
}
},
"description": "The DKIM record for messages sent using this authenticated domain."
},
"domain_spf": {
"type": "object",
"required": [
"host",
"type",
"data",
"valid"
],
"properties": {
"data": {
"type": "string",
"description": "The SPF record."
},
"host": {
"type": "string",
"description": "The root domain that this SPF record will be used to authenticate."
},
"type": {
"type": "string",
"description": "The type of data in the SPF record."
},
"valid": {
"type": "boolean",
"description": "Indicates if the SPF record is valid."
}
},
"description": "The SPF record for the root domain."
},
"mail_server": {
"type": "object",
"required": [
"host",
"type",
"data",
"valid"
],
"properties": {
"data": {
"type": "string",
"description": "The mail server responsible for accepting messages from the sending domain."
},
"host": {
"type": "string",
"description": "The domain sending the messages."
},
"type": {
"type": "string",
"description": "They type of DNS record."
},
"valid": {
"type": "boolean",
"description": "Indicates if this is a valid DNS record."
}
},
"description": "Designates which mail server is responsible for accepting messages from a domain."
},
"subdomain_spf": {
"type": "object",
"required": [
"host",
"type",
"data",
"valid"
],
"properties": {
"data": {
"type": "string",
"description": "The SPF record."
},
"host": {
"type": "string",
"description": "The domain that this SPF record will be used to authenticate."
},
"type": {
"type": "string",
"description": "The type of data in the SPF record."
},
"valid": {
"type": "boolean",
"description": "Indicates if this is a valid SPF record."
}
},
"description": "The SPF record for the subdomain used to create this authenticated domain."
}
},
"description": "The DNS records for this authenticated domain."
},
"ips": {
"type": "array",
"items": {},
"description": "The IP addresses that are included in the SPF record for this authenticated domain."
},
"valid": {
"type": "boolean",
"description": "Indicates if this is a valid authenticated domain ."
},
"domain": {
"type": "string",
"description": "The domain authenticated."
},
"legacy": {
"type": "boolean",
"description": "Indicates if this authenticated domain was created using the legacy whitelabel tool. If it is a legacy whitelabel, it will still function, but you'll need to create a new authenticated domain if you need to update it."
},
"default": {
"type": "boolean",
"description": "Indicates if this is the default domain."
},
"user_id": {
"type": "integer",
"description": "The user_id of the account that this authenticated domain is associated with."
},
"username": {
"type": "string",
"description": "The username of the account that this authenticated domain is associated with."
},
"subdomain": {
"type": "string",
"description": "The subdomain that was used to create this authenticated domain."
},
"custom_spf": {
"type": "boolean",
"description": "Indicates if this authenticated domain uses custom SPF."
},
"automatic_security": {
"type": "boolean",
"description": "Indicates if this authenticated domain uses automated security."
}
}
}
email-activity-response-common-fields
{
"type": "object",
"title": "Email Activity Response Common Fields",
"properties": {
"msg_id": {
"type": "string",
"description": "A unique ID assigned to the message. This ID can be used to retrieve activity data for the specific message."
},
"status": {
"enum": [
"processed",
"delivered",
"not delivered"
],
"type": "string",
"description": "The message's status."
},
"subject": {
"type": "string",
"description": "The email's subject line."
},
"to_email": {
"type": "string",
"format": "email",
"description": "The intended recipient's email address."
},
"from_email": {
"type": "string",
"format": "email",
"default": "",
"description": "The 'From' email address used to deliver the message. This address should be a verified sender in your Twilio SendGrid account."
}
}
}
enforced-tls-request-response
{
"type": "object",
"title": "Enforced TLS Request Response",
"example": {
"require_tls": true,
"require_valid_cert": true
},
"properties": {
"require_tls": {
"type": "boolean",
"description": "Indicates if you want to require your recipients to support TLS. "
},
"require_valid_cert": {
"type": "boolean",
"description": "Indicates if you want to require your recipients to have a valid certificate."
}
}
}
error
{
"type": "object",
"title": "error",
"required": [
"message"
],
"properties": {
"field": {
"type": "string"
},
"message": {
"type": "string"
},
"error_id": {
"type": "string"
},
"parameter": {
"type": "string"
}
}
}
errors
{
"type": "object",
"title": "Errors",
"required": [
"errors"
],
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"required": [
"parameter",
"message"
],
"properties": {
"field": {
"type": "string",
"nullable": true
},
"message": {
"type": "string",
"nullable": true,
"description": "A description of what is wrong with the field passed in the request."
},
"parameter": {
"type": "string",
"description": "The parameter in the request body that is incorrect."
}
}
}
}
},
"description": "If the request is incorrect, an array of errors will be returned."
}
errors-seg-v2
{
"type": "object",
"title": "errors-seg",
"required": [
"errors"
],
"properties": {
"errors": {
"type": "array",
"items": {
"type": "object",
"required": [
"field",
"message"
],
"properties": {
"field": {
"type": "string",
"description": "the field in the request body that is incorrect"
},
"message": {
"type": "string",
"description": "a description of what is specifically wrong with the field passed in the request"
}
}
}
}
},
"description": "If the request is incorrect, an array of errors will be returned."
}
event-webhook-response
{
"type": "object",
"title": "Webhooks: Event Webhook Response",
"required": [
"enabled",
"url",
"group_resubscribe",
"delivered",
"group_unsubscribe",
"spam_report",
"bounce",
"deferred",
"unsubscribe",
"processed",
"open",
"click",
"dropped"
],
"properties": {
"url": {
"type": "string",
"description": "The URL that you want the event webhook to POST to."
},
"open": {
"type": "boolean",
"description": "Recipient has opened the HTML message. You need to enable Open Tracking for getting this type of event."
},
"click": {
"type": "boolean",
"description": "Recipient clicked on a link within the message. You need to enable Click Tracking for getting this type of event."
},
"bounce": {
"type": "boolean",
"description": "Receiving server could not or would not accept message."
},
"dropped": {
"type": "boolean",
"description": "You may see the following drop reasons: Invalid SMTPAPI header, Spam Content (if spam checker app enabled), Unsubscribed Address, Bounced Address, Spam Reporting Address, Invalid, Recipient List over Package Quota"
},
"enabled": {
"type": "boolean",
"description": "Indicates if the event webhook is enabled."
},
"deferred": {
"type": "boolean",
"description": "Recipient's email server temporarily rejected message."
},
"delivered": {
"type": "boolean",
"description": "Message has been successfully delivered to the receiving server."
},
"processed": {
"type": "boolean",
"description": "Message has been received and is ready to be delivered."
},
"spam_report": {
"type": "boolean",
"description": "Recipient marked a message as spam."
},
"unsubscribe": {
"type": "boolean",
"description": "Recipient clicked on message's subscription management link. You need to enable Subscription Tracking for getting this type of event."
},
"oauth_client_id": {
"type": "string",
"description": "The client ID Twilio SendGrid sends to your OAuth server or service provider to generate an OAuth access token."
},
"oauth_token_url": {
"type": "string",
"description": "The URL where Twilio SendGrid sends the Client ID and Client Secret to generate an access token. This should be your OAuth server or service provider."
},
"group_resubscribe": {
"type": "boolean",
"description": "Recipient resubscribes to specific group by updating preferences. You need to enable Subscription Tracking for getting this type of event."
},
"group_unsubscribe": {
"type": "boolean",
"description": "Recipient unsubscribe from specific group, by either direct link or updating preferences. You need to enable Subscription Tracking for getting this type of event."
}
}
}
event-webhook-update-oauth-request
{
"type": "object",
"title": "Webhooks: Event Webhook Update with OAuth Request",
"required": [
"enabled",
"url",
"group_resubscribe",
"delivered",
"group_unsubscribe",
"spam_report",
"bounce",
"deferred",
"unsubscribe",
"processed",
"open",
"click",
"dropped"
],
"properties": {
"url": {
"type": "string",
"description": "The URL that you want the event webhook to POST to."
},
"open": {
"type": "boolean",
"description": "Recipient has opened the HTML message. You need to enable Open Tracking for getting this type of event."
},
"click": {
"type": "boolean",
"description": "Recipient clicked on a link within the message. You need to enable Click Tracking for getting this type of event."
},
"bounce": {
"type": "boolean",
"description": "Receiving server could not or would not accept message."
},
"dropped": {
"type": "boolean",
"description": "You may see the following drop reasons: Invalid SMTPAPI header, Spam Content (if spam checker app enabled), Unsubscribed Address, Bounced Address, Spam Reporting Address, Invalid, Recipient List over Package Quota"
},
"enabled": {
"type": "boolean",
"description": "Indicates if the event webhook is enabled."
},
"deferred": {
"type": "boolean",
"description": "Recipient's email server temporarily rejected message."
},
"delivered": {
"type": "boolean",
"description": "Message has been successfully delivered to the receiving server."
},
"processed": {
"type": "boolean",
"description": "Message has been received and is ready to be delivered."
},
"spam_report": {
"type": "boolean",
"description": "Recipient marked a message as spam."
},
"unsubscribe": {
"type": "boolean",
"description": "Recipient clicked on message's subscription management link. You need to enable Subscription Tracking for getting this type of event."
},
"oauth_client_id": {
"type": "string",
"description": "The client ID Twilio SendGrid sends to your OAuth server or service provider to generate an OAuth access token. When passing data in this field, you must also include the oauth_token_url field."
},
"oauth_token_url": {
"type": "string",
"description": "The URL where Twilio SendGrid sends the Client ID and Client Secret to generate an access token. This should be your OAuth server or service provider. When passing data in this field, you must also include the oauth_client_id field."
},
"group_resubscribe": {
"type": "boolean",
"description": "Recipient resubscribes to specific group by updating preferences. You need to enable Subscription Tracking for getting this type of event."
},
"group_unsubscribe": {
"type": "boolean",
"description": "Recipient unsubscribe from specific group, by either direct link or updating preferences. You need to enable Subscription Tracking for getting this type of event."
},
"oauth_client_secret": {
"type": "string",
"description": "This secret is needed only once to create an access token. SendGrid will store this secret, allowing you to update your Client ID and Token URL without passing the secret to SendGrid again. When passing data in this field, you must also include the oauth_client_id and oauth_token_url fields."
}
}
}
from_email_object
{
"type": "object",
"title": "From Email Object",
"example": {
"name": "Jane Doe",
"email": "jane_doe@example.com"
},
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"description": "A name or title associated with the sending email address."
},
"email": {
"type": "string",
"format": "email",
"description": "The 'From' email address used to deliver the message. This address should be a verified sender in your Twilio SendGrid account."
}
}
}
full-segment
{
"allOf": [
{
"$ref": "#/components/schemas/segment_summary"
},
{
"type": "object",
"required": [
"contacts_sample"
],
"properties": {
"query_json": {
"type": "object",
"description": "AST representation of the query DSL"
},
"contacts_sample": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contact_response"
}
}
}
},
{
"$ref": "#/components/schemas/segment_write_v2"
}
],
"title": "full_segment",
"example": {
"id": "58567a46-305e-48d1-b4f8-a006c906920e",
"name": "culpa",
"query_dsl": "cillum eiusmod",
"created_at": "2085-08-08T21:07:05.692Z",
"updated_at": "4431-05-07T22:23:22.352Z",
"contacts_count": 9266921,
"parent_list_id": "2357714d-3d82-4c80-826c-b44a4147f81c",
"contacts_sample": [
{
"city": "ȎţȸÛ\tč\u000bCŁ",
"country": "do reprehenderit qui",
"last_name": "eiusmod in laboris velit cupidatat",
"contact_id": "c1183ada-b784-49ac-9b1f-50e73578a6dc",
"first_name": "est",
"postal_code": 30296612,
"custom_fields": {
"custom_field_name1": "esse",
"custom_field_name2": "in consectetur ut aliqua sint"
},
"primary_email": "ft88@d.izxx",
"address_line_1": "sunt aliqua",
"address_line_2": "sit proident Lorem veniam labore",
"alternate_emails": [
"yKDUP11FDch@QoU.vwy",
"ZNSN5@czAMqPi.at",
"7wr51kFVVKlcBSH@DWxOueOZepetzBrku.qosk",
"iib-ObtO7Fxz5@vLJPRIFKPOqJGCEqcIDab.ypn"
],
"state_province_region": "ut proident"
}
],
"sample_updated_at": "3407-09-25T04:25:02.140Z",
"next_sample_update": ""
}
}
global_empty_request
{
"title": "Global: Request Empty Body",
"nullable": true
}
global_error_response_schema
{
"type": "object",
"title": "Global Error Response Schema",
"example": {
"errors": [
{
"field": "field_name",
"message": "error message"
}
]
},
"properties": {
"id": {
"type": "string"
},
"errors": {
"type": "array",
"items": {
"type": "object",
"required": [
"message"
],
"properties": {
"help": {
"type": "object",
"description": "helper text or docs for troubleshooting"
},
"field": {
"type": "string",
"nullable": true,
"description": "the field that generated the error"
},
"message": {
"type": "string",
"description": "the error message"
}
}
}
}
}
}
global_id
{
"type": "integer",
"title": "Global: ID"
}
google_analytics_settings
{
"type": "object",
"title": "Settings: Google Analytics",
"example": {
"enabled": true,
"utm_term": "",
"utm_medium": "email",
"utm_source": "sendgrid.com",
"utm_content": "",
"utm_campaign": "website"
},
"properties": {
"enabled": {
"type": "boolean",
"description": "Indicates if Google Analytics is enabled."
},
"utm_term": {
"type": "string",
"description": "Any paid keywords."
},
"utm_medium": {
"type": "string",
"description": "Name of the marketing medium (e.g. \"Email\")."
},
"utm_source": {
"type": "string",
"description": "Name of the referrer source. "
},
"utm_content": {
"type": "string",
"description": "Used to differentiate ads"
},
"utm_campaign": {
"type": "string",
"description": "The name of the campaign."
}
}
}
invalid-email
{
"type": "object",
"title": "Invalid Email",
"example": {
"email": "invalid@example.com",
"reason": "Mail domain mentioned in email address is unknown",
"created": 1620141015
},
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "The email address that was marked as invalid."
},
"reason": {
"type": "string",
"description": "The reason that the email address was marked as invalid."
},
"created": {
"type": "integer",
"description": "A Unix timestamp indicating when the email address was added to the invalid emails list."
}
}
}
ip-access-response
{
"type": "object",
"title": "IP Access Response",
"example": {
"result": [
{
"id": 1,
"ip": "192.168.1.1/32",
"created_at": 1441824715,
"updated_at": 1441824715
},
{
"id": 2,
"ip": "192.0.0.0/8",
"created_at": 1441824715,
"updated_at": 1441824715
},
{
"id": 3,
"ip": "192.168.1.3/32",
"created_at": 1441824715,
"updated_at": 1441824715
}
]
},
"properties": {
"result": {
"type": "array",
"items": {
"type": "object",
"properties": {
"id": {
"type": "integer",
"description": "The ID of the allowed IP."
},
"ip": {
"type": "string",
"description": "The allowed IP."
},
"created_at": {
"type": "integer",
"description": "A Unix timestamp indicating when the IP was added to the allow list."
},
"updated_at": {
"type": "integer",
"description": "A Unix timestamp indicating when the IPs allow status was most recently updated."
}
}
},
"description": "An array listing all of your allowed IPs."
}
}
}
ip_pool
{
"type": "object",
"title": "IP Pools: Pool",
"required": [
"name"
],
"properties": {
"name": {
"type": "string",
"maxLength": 64,
"description": "The name of the IP pool."
}
}
}
ip_pool_response
{
"type": "object",
"title": "IP Pools: Pool Resp",
"example": {
"name": "sunt sint enim"
},
"properties": {
"name": {
"type": "string",
"description": "The name of the IP pool."
}
}
}
ip_warmup_response
{
"type": "array",
"items": {
"type": "object",
"required": [
"ip",
"start_date"
],
"properties": {
"ip": {
"type": "string",
"description": "The IP address."
},
"start_date": {
"type": "integer",
"description": "A Unix timestamp indicating when the IP address entered warmup mode."
}
}
},
"title": "IP Warmup: IP",
"example": [
{
"ip": "0.0.0.0",
"start_date": 1409616000
}
]
}
link
{
"type": "object",
"title": "Link",
"properties": {
"rel": {
"type": "string"
},
"href": {
"type": "string"
}
}
}
link-tracking-metadata
{
"type": "object",
"title": "link tracking metadata",
"properties": {
"next": {
"type": "string",
"format": "uri",
"description": "The URL of the next page of results. If this field isn't present, you're at the end of the list."
},
"prev": {
"type": "string",
"format": "uri",
"description": "The URL of the previous page of results. If this field isn't present, you're at the start of the list."
},
"self": {
"type": "string",
"format": "uri",
"description": "The URL of the current page of results."
},
"count": {
"type": "number",
"description": "The number of items in the entire list, i.e., across all pages."
}
}
}
link_branding_200_response
{
"type": "object",
"title": "Link Branding 200 Response",
"required": [
"id",
"domain",
"username",
"user_id",
"default",
"valid",
"legacy",
"dns"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the branded link."
},
"dns": {
"type": "object",
"required": [
"domain_cname"
],
"properties": {
"owner_cname": {
"type": "object",
"required": [
"valid",
"host",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "The domain that the DNS record points to."
},
"host": {
"type": "string",
"description": "Used to verify the link branding. The subdomain of this domain is the ID of the user who created the link branding."
},
"type": {
"enum": [
"cname",
"txt",
"mx"
],
"type": "string",
"description": "The type of DNS record generated."
},
"valid": {
"enum": [
true,
false
],
"type": "boolean",
"description": "Indicates if the DNS record is valid."
}
},
"description": "The DNS record generated to verify who created the link branding."
},
"domain_cname": {
"type": "object",
"required": [
"valid",
"type",
"host",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "The domain that the DNS record points to."
},
"host": {
"type": "string",
"description": "The domain that this link branding will use for the links in your email."
},
"type": {
"enum": [
"cname",
"txt",
"mx"
],
"type": "string",
"description": "The type of DNS record that was generated."
},
"valid": {
"enum": [
true,
false
],
"type": "boolean",
"description": "Indicates if the DNS record is valid."
}
},
"description": "The DNS record generated to point to your link branding subdomain."
}
},
"description": "The DNS records generated for this link branding."
},
"valid": {
"enum": [
true,
false
],
"type": "boolean",
"description": "Indicates if this link branding is valid."
},
"domain": {
"type": "string",
"description": "The root domain of the branded link."
},
"legacy": {
"enum": [
true,
false
],
"type": "boolean",
"description": "Indicates if this link branding was created using the legacy whitelabel tool. If it is a legacy whitelabel, it will still function, but you'll need to create new link branding if you need to update it."
},
"default": {
"enum": [
true,
false
],
"type": "boolean",
"description": "Indicates if this is the default link branding."
},
"user_id": {
"type": "integer",
"description": "The ID of the user that this link branding is associated with."
},
"username": {
"type": "string",
"description": "The username of the account that this link branding is associated with."
},
"subdomain": {
"type": "string",
"description": "The subdomain used to generate the DNS records for this link branding. This subdomain must be different from the subdomain used for your authenticated domain."
}
}
}
list
{
"type": "object",
"title": "list",
"properties": {
"id": {
"type": "string",
"maxLength": 36,
"minLength": 36,
"description": "The generated ID for your list."
},
"name": {
"type": "string",
"description": "The name you gave your list."
},
"_metadata": {
"$ref": "#/components/schemas/selfmetadata"
},
"contact_count": {
"type": "integer",
"description": "The number of contacts currently stored on the list."
}
}
}
mail_batch_id
{
"type": "object",
"title": "Mail Batch ID",
"example": {
"batch_id": "HkJ5yLYULb7Rj8GKSx7u025ouWVlMgAi"
},
"required": [
"batch_id"
],
"properties": {
"batch_id": {
"type": "string",
"pattern": "^[a-zA-Z0-9\\-\\_]"
}
}
}
mail_settings_address_whitelabel
{
"type": "object",
"title": "Mail Settings: Address Whitelabel",
"example": {
"list": [
"email1@example.com",
"example.com"
],
"enabled": true
},
"properties": {
"list": {
"type": "array",
"items": {
"type": "string"
},
"description": "All email addresses that are currently on the whitelist."
},
"enabled": {
"type": "boolean",
"description": "Indicates if you have an email address whitelist enabled. "
}
}
}
mail_settings_bounce_purge
{
"type": "object",
"title": "Mail Settings: Bounce Purge",
"example": {
"enabled": false,
"hard_bounces": null,
"soft_bounces": 1234
},
"properties": {
"enabled": {
"type": "boolean",
"description": "Indicates if the bounce purge mail setting is enabled."
},
"hard_bounces": {
"type": "integer",
"nullable": true,
"description": "The number of days after which SendGrid will purge all contacts from your hard bounces suppression lists."
},
"soft_bounces": {
"type": "integer",
"nullable": true,
"description": "The number of days after which SendGrid will purge all contacts from your soft bounces suppression lists."
}
}
}
mail_settings_footer
{
"type": "object",
"title": "Mail Settings: Footer",
"example": {
"enabled": true,
"html_content": "Example HTML content",
"plain_content": "Example plain content"
},
"properties": {
"enabled": {
"type": "boolean",
"description": "Indicates if the Footer mail setting is currently enabled."
},
"html_content": {
"type": "string",
"description": "The custom HTML content of your email footer."
},
"plain_content": {
"type": "string",
"description": "The plain text content of your email footer."
}
}
}
mail_settings_forward_bounce
{
"type": "object",
"title": "Mail Settings: Forward Bounce",
"example": {
"email": null,
"enabled": false
},
"properties": {
"email": {
"type": "string",
"nullable": true,
"description": "The email address that you would like your bounce reports forwarded to."
},
"enabled": {
"type": "boolean",
"description": "Indicates if the bounce forwarding mail setting is enabled."
}
}
}
mail_settings_forward_spam
{
"type": "object",
"title": "Mail Settings: Forward Spam",
"example": {
"email": "",
"enabled": true
},
"properties": {
"email": {
"type": "string",
"description": "The email address where you would like the spam reports to be forwarded."
},
"enabled": {
"type": "boolean",
"description": "Indicates if the Forward Spam setting is enabled."
}
}
}
mail_settings_patch
{
"type": "object",
"title": "Mail Settings: Patch",
"example": {
"email": "email@example.com",
"enabled": true
},
"properties": {
"email": {
"type": "string",
"description": "The email address of the recipient."
},
"enabled": {
"type": "boolean",
"description": "Indicates if the mail setting is enabled."
}
}
}
mail_settings_template
{
"type": "object",
"title": "Mail Settings: Template",
"example": {
"enabled": false,
"html_content": "<p><% body %>Example</p>\n"
},
"properties": {
"enabled": {
"type": "boolean",
"description": "Indicates if the legacy email template setting is enabled."
},
"html_content": {
"type": "string",
"description": "The HTML content that you want to use for your legacy email template."
}
}
}
mako_event
{
"type": "object",
"title": "Event",
"example": {
"url": "http://3LX,MU}N=B8'd,K}>bEma{l~!ad%peIF}y>qHfLPWQ$l9b\\!6.1H?$Z9H\"il-_gZD>/JPYsGqH4x4_3v090TCtnFalXGFiAdooDxgrDAYNXShUywSxwYr8gKeyc/4sal4VJ3IxEWsG74V5MYQ0mz27jhy7n5DHsUtApQ6zXHS13uO5vYBlJHpJRfuT6/F5nIpkHre2w3eTtN7M6pg9V5stjnnsavKkzQxyTv15CMSDLFwR_BTZwofhWpyBU7B9ypYL79vT97N3LDZyoaM/fNsOLPIqfGBer_Mx9_StergbQYANyOmOSjR6pZof01ky/ZcNDhpu3CkSl4MTtQ3NMCX780pOKQ5SYIPigyvz9IC9WtrCNcOkTxdOPdY0_4MJU4EuTTPmGvO/14KaJCDjIjgrbIqpzuUEL5mET0t2VeVlwvtnOnlHaBE8sic20ze2E0Xt3ETqXyzVJRjLDKh/LWkW8OVp_xkLBCCW7LQngRukKcOiWjMXeCEhYI9HoZ0RsMEWZC8KzRaHc4OI0uXPD4M9pav1LGrI/_0t_RnBnfnqGKsBJr0kdQi/Y6QN_aeawIqX5hDNIU3MF/wWKVWLS0ZFbDfK6KVv5oAid83EpwKoazAMA8MTfEXvHQLO7k7XYWX1Il3eGXL6/wCA96I1SOabzJkZHo2HsFpIC/VBk52Lnpp0xtDH/OCdlQ5e4PpxXQeklp70LPOndr7QKSYEQNUc48n36ixvTjhgpgO8wHsFFYqGcuBMHg9oaCARppQomiQDWYuVPVDynJHdsM1_gWl4/NSs8Y9PL7DrQXOu0UiFRRE0TUsvgqyUgJzlGjUnRziyYeROO75D0K_3aTtbGbCmhaxecos40a1w0PDCNkFp1W/iHwY7922drhsoM6ShwqqwGpAh5HLuU6Q5gqyckeai6YN7HCh9DdHPhhJcatgtMHZDKfQUBVt9ecUlDgiCFF_OnRX/GpzttcsL8E2FoXL9_eAWvSqjodROqx7MZCA/ORdnR/IssPCYP1kTHTIL5mZxv4UGEpyNjUzt4GdSJJTm0nztltWDYX8_Ezl2JvpLVnGVTJxobb4yQIJhe3n64khbOFyFLKHWEniIolm/AxpZQYmseWlVqrIz3YXU59XaSbTTrdCHNhvwF1ogXiiggN6TZ2B3QY_mBEtAp/SD0ONPVqEUkTNAFWTgnnlv6ZIMdMbTw5uZwtFRlB7qDvQouml9kujGmRu6k7zZMTOwWowRNtpboLUcL2NzkVgK6N1Zi2vq/Nt4NJvM5_l1dpIIbwJv_CIcZQZOqPtRWULa2iVxfmJJQaqgLQPwSHQH1zuRJMhraEsPjqVQRC0pZpSt/24VBDN8y31Ye/y_ekWxMdZCvr978C/WrdcTi29kxjJLyT9BII7BsgT5vLuI2l7ntqRAhAUWMs/h9JR0i8RbX5OfB46q41/TfmSdgi97bCR2HfgflyypXwKhRfKYU2MVpu2Dd90WQUlm7hZV8dSfGusuMj/nPMpRVWcbnvlAdsehJCPbLv6n4qdLSPeoMBo32acAGgu1BwBG8JsBgbH43yYi5X7UdGRWKqm_ZbqaDEKH3ncU/uA8EOJb41VfGho4LUeOi1IeYwVAhFEyO6YbteYZecEubrNFZrWWjZUqhzouzY95TeWU8E4StCXVPKlYPiFiwUSX20kG0lVtDbAy/7u4f4x0cYlFOvI1UN1qoOExmNxnxzQQFeM5exWfW2JrRXq5e0UdAJr4q2o9Y_0WaGfhL/nP6Ei06YajDKr11dK5H0LX/9CGTC37HFZeopyopzP_7fvGFkqIRoGTS48pLaIFz3gwpQNlWXUFCsd/PnRlsqJ3SBQSgp_AQe2cP6iBNy2bJI8lkxwY5YVDDdjxusuCcafdjfs2aUa/4tr_iMnNBnd27GxjQI28_JGJlfbOaajVJOxuPMT4ELpYCfPiFjdSbJyE0/gCwtj0rgDKSLWJnOPJ5TAJ935gCqeIsBhOhfcZX413GdilBZRRYEjCVKfOuWzHZ3GW/8yjyk5e_WMNv5F6xggl07w90DBwpx/Q/iWfncqMuSfoeFeqHQkDL9F5W19j1cGuAcyfIYMAXztHXpgTKh9vZcsLYC7LcgKr4FQj3JjEvtnDG2PjcMjGF/MnbCRCz22Ho410_vE9M1Hpq0wdk_i5DbZKNoSwlPgey9URkpuX146TcDdsx_VWDenCepY5HwMr9CPOY9hzUs/c5AWeUMXk/gvsI81Jkv5rHpEnNBUZXYzfqkwQfffhmrc/StLCtzRRlja8dpsEWdkzoKR9Kdxq1qAs5f0sdrGjVRLTT_s1Q2P59zhA/QmS4bubi64cYot3gSIgdNnkjA2GjCp1ETVa548_U9B6boTKDVmaKJlVIDvqL84RC3WI7Er/8opi2lZ48W83Ur47BRh38oOnI0agrCyZz8bp1w_gfVRlSO8PS0i/l_/qxq5xpLbhPkdxVoyZVsNAZchfnmkIHyIk5IK6EUDXdMR21y6OvKW50ZbooAtk9ymynBj4dAYMsd25RV7FE1I1vRTsiDw52/.E5WC0Ymo2zn.qelSbhzr-4laArYiWP.dwJB6qm_6rs0Rm5UXYaYtUNbh76_jJp_X1xQUCDSgbr2KOkDU0\"Q/-4dV\"Yk3QGg[(O86=Pf\"e17K4'r{)kicofHSXcMmP@>VF^`~4j4F*L/1]tD+Lw!WI!@]*OZm6C`M$u96}*O<U;_cZ84k.|nIqpAaeiroItOenDBL",
"reason": "some reason",
"mx_server": "quis proident",
"processed": "2017-10-13T18:56:21.000Z",
"event_name": "bounced",
"bounce_type": "blocked",
"http_user_agent": "in tempor ex dolore est"
},
"required": [
"event_name",
"processed",
"url",
"bounce_type",
"http_user_agent",
"mx_server"
],
"properties": {
"url": {
"type": "string",
"pattern": "^((http[s]?|ftp):\\/)?\\/?([^:\\/\\s]+)((\\/\\w+)*\\/)([\\w\\-\\.]+[^#?\\s]+)(.*)?(#[\\w\\-]+)?$",
"description": "Used with \"clicked\" event to indicate which url the user clicked."
},
"reason": {
"type": "string",
"maxLength": 1024,
"description": "Explanation of what caused \"bounced\", \"deferred\", or \"blocked\". Usually contains error message from the server - e.g. message from gmail why mail was deferred"
},
"mx_server": {
"type": "string",
"description": "For example mx.gmail.com"
},
"processed": {
"type": "string",
"description": "Date of when event occurred"
},
"event_name": {
"enum": [
"bounced",
"opened",
"clicked",
"processed",
"dropped",
"delivered",
"deferred",
"spam_report",
"unsubscribe",
"group_unsubscribe",
"group_resubscribe"
],
"type": "string",
"description": "Name of event"
},
"attempt_num": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Used with \"deferred\" events to indicate the attempt number out of 10. One \"deferred\" entry will exists under events array for each time a message was deferred with error message from the server. "
},
"bounce_type": {
"enum": [
"bounced",
"blocked",
"expired"
],
"type": "string",
"description": "Use to distinguish between types of bounces"
},
"http_user_agent": {
"type": "string",
"description": "Client recipient used to click or open message"
}
}
}
message
{
"type": "object",
"title": "Message",
"example": {
"events": [
{
"processed": 1492453589,
"event_name": "bounced",
"server_response": "some error message"
}
],
"msg_id": "in aliquip id aliqua",
"status": "not delivered",
"subject": "est incididunt adipisicing pariatur",
"teammate": "",
"to_email": "send@test.com",
"api_key_id": "sdfsdfsdf123",
"categories": [
"hi",
"bye"
],
"from_email": "test@test.com",
"outbound_ip": "1.2.3.4",
"template_id": "123e4567-e89b-12d3-a456-426655440000",
"unique_args": "{'key': 'value'}",
"asm_group_id": 11376349,
"originating_ip": "2.3.4.5",
"outbound_ip_type": "dedicated"
},
"required": [
"from_email",
"msg_id",
"subject",
"to_email",
"status",
"template_id",
"asm_group_id",
"teammate",
"api_key_id",
"events",
"originating_ip",
"categories",
"unique_args",
"outbound_ip",
"outbound_ip_type"
],
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"title": "Event",
"example": {
"url": "http://3LX,MU}N=B8'd,K}>bEma{l~!ad%peIF}y>qHfLPWQ$l9b\\!6.1H?$Z9H\"il-_gZD>/JPYsGqH4x4_3v090TCtnFalXGFiAdooDxgrDAYNXShUywSxwYr8gKeyc/4sal4VJ3IxEWsG74V5MYQ0mz27jhy7n5DHsUtApQ6zXHS13uO5vYBlJHpJRfuT6/F5nIpkHre2w3eTtN7M6pg9V5stjnnsavKkzQxyTv15CMSDLFwR_BTZwofhWpyBU7B9ypYL79vT97N3LDZyoaM/fNsOLPIqfGBer_Mx9_StergbQYANyOmOSjR6pZof01ky/ZcNDhpu3CkSl4MTtQ3NMCX780pOKQ5SYIPigyvz9IC9WtrCNcOkTxdOPdY0_4MJU4EuTTPmGvO/14KaJCDjIjgrbIqpzuUEL5mET0t2VeVlwvtnOnlHaBE8sic20ze2E0Xt3ETqXyzVJRjLDKh/LWkW8OVp_xkLBCCW7LQngRukKcOiWjMXeCEhYI9HoZ0RsMEWZC8KzRaHc4OI0uXPD4M9pav1LGrI/_0t_RnBnfnqGKsBJr0kdQi/Y6QN_aeawIqX5hDNIU3MF/wWKVWLS0ZFbDfK6KVv5oAid83EpwKoazAMA8MTfEXvHQLO7k7XYWX1Il3eGXL6/wCA96I1SOabzJkZHo2HsFpIC/VBk52Lnpp0xtDH/OCdlQ5e4PpxXQeklp70LPOndr7QKSYEQNUc48n36ixvTjhgpgO8wHsFFYqGcuBMHg9oaCARppQomiQDWYuVPVDynJHdsM1_gWl4/NSs8Y9PL7DrQXOu0UiFRRE0TUsvgqyUgJzlGjUnRziyYeROO75D0K_3aTtbGbCmhaxecos40a1w0PDCNkFp1W/iHwY7922drhsoM6ShwqqwGpAh5HLuU6Q5gqyckeai6YN7HCh9DdHPhhJcatgtMHZDKfQUBVt9ecUlDgiCFF_OnRX/GpzttcsL8E2FoXL9_eAWvSqjodROqx7MZCA/ORdnR/IssPCYP1kTHTIL5mZxv4UGEpyNjUzt4GdSJJTm0nztltWDYX8_Ezl2JvpLVnGVTJxobb4yQIJhe3n64khbOFyFLKHWEniIolm/AxpZQYmseWlVqrIz3YXU59XaSbTTrdCHNhvwF1ogXiiggN6TZ2B3QY_mBEtAp/SD0ONPVqEUkTNAFWTgnnlv6ZIMdMbTw5uZwtFRlB7qDvQouml9kujGmRu6k7zZMTOwWowRNtpboLUcL2NzkVgK6N1Zi2vq/Nt4NJvM5_l1dpIIbwJv_CIcZQZOqPtRWULa2iVxfmJJQaqgLQPwSHQH1zuRJMhraEsPjqVQRC0pZpSt/24VBDN8y31Ye/y_ekWxMdZCvr978C/WrdcTi29kxjJLyT9BII7BsgT5vLuI2l7ntqRAhAUWMs/h9JR0i8RbX5OfB46q41/TfmSdgi97bCR2HfgflyypXwKhRfKYU2MVpu2Dd90WQUlm7hZV8dSfGusuMj/nPMpRVWcbnvlAdsehJCPbLv6n4qdLSPeoMBo32acAGgu1BwBG8JsBgbH43yYi5X7UdGRWKqm_ZbqaDEKH3ncU/uA8EOJb41VfGho4LUeOi1IeYwVAhFEyO6YbteYZecEubrNFZrWWjZUqhzouzY95TeWU8E4StCXVPKlYPiFiwUSX20kG0lVtDbAy/7u4f4x0cYlFOvI1UN1qoOExmNxnxzQQFeM5exWfW2JrRXq5e0UdAJr4q2o9Y_0WaGfhL/nP6Ei06YajDKr11dK5H0LX/9CGTC37HFZeopyopzP_7fvGFkqIRoGTS48pLaIFz3gwpQNlWXUFCsd/PnRlsqJ3SBQSgp_AQe2cP6iBNy2bJI8lkxwY5YVDDdjxusuCcafdjfs2aUa/4tr_iMnNBnd27GxjQI28_JGJlfbOaajVJOxuPMT4ELpYCfPiFjdSbJyE0/gCwtj0rgDKSLWJnOPJ5TAJ935gCqeIsBhOhfcZX413GdilBZRRYEjCVKfOuWzHZ3GW/8yjyk5e_WMNv5F6xggl07w90DBwpx/Q/iWfncqMuSfoeFeqHQkDL9F5W19j1cGuAcyfIYMAXztHXpgTKh9vZcsLYC7LcgKr4FQj3JjEvtnDG2PjcMjGF/MnbCRCz22Ho410_vE9M1Hpq0wdk_i5DbZKNoSwlPgey9URkpuX146TcDdsx_VWDenCepY5HwMr9CPOY9hzUs/c5AWeUMXk/gvsI81Jkv5rHpEnNBUZXYzfqkwQfffhmrc/StLCtzRRlja8dpsEWdkzoKR9Kdxq1qAs5f0sdrGjVRLTT_s1Q2P59zhA/QmS4bubi64cYot3gSIgdNnkjA2GjCp1ETVa548_U9B6boTKDVmaKJlVIDvqL84RC3WI7Er/8opi2lZ48W83Ur47BRh38oOnI0agrCyZz8bp1w_gfVRlSO8PS0i/l_/qxq5xpLbhPkdxVoyZVsNAZchfnmkIHyIk5IK6EUDXdMR21y6OvKW50ZbooAtk9ymynBj4dAYMsd25RV7FE1I1vRTsiDw52/.E5WC0Ymo2zn.qelSbhzr-4laArYiWP.dwJB6qm_6rs0Rm5UXYaYtUNbh76_jJp_X1xQUCDSgbr2KOkDU0\"Q/-4dV\"Yk3QGg[(O86=Pf\"e17K4'r{)kicofHSXcMmP@>VF^`~4j4F*L/1]tD+Lw!WI!@]*OZm6C`M$u96}*O<U;_cZ84k.|nIqpAaeiroItOenDBL",
"reason": "some reason",
"mx_server": "quis proident",
"processed": "2017-10-13T18:56:21.000Z",
"event_name": "bounced",
"bounce_type": "blocked",
"http_user_agent": "in tempor ex dolore est"
},
"required": [
"event_name",
"processed",
"url",
"bounce_type",
"http_user_agent",
"mx_server"
],
"properties": {
"url": {
"type": "string",
"pattern": "^((http[s]?|ftp):\\/)?\\/?([^:\\/\\s]+)((\\/\\w+)*\\/)([\\w\\-\\.]+[^#?\\s]+)(.*)?(#[\\w\\-]+)?$",
"description": "Used with \"clicked\" event to indicate which url the user clicked."
},
"reason": {
"type": "string",
"maxLength": 1024,
"description": "Explanation of what caused \"bounced\", \"deferred\", or \"blocked\". Usually contains error message from the server - e.g. message from gmail why mail was deferred"
},
"mx_server": {
"type": "string",
"description": "For example mx.gmail.com"
},
"processed": {
"type": "string",
"description": "Date of when event occurred"
},
"event_name": {
"enum": [
"bounced",
"opened",
"clicked",
"processed",
"dropped",
"delivered",
"deferred",
"spam_report",
"unsubscribe",
"group_unsubscribe",
"group_resubscribe"
],
"type": "string",
"description": "Name of event"
},
"attempt_num": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "Used with \"deferred\" events to indicate the attempt number out of 10. One \"deferred\" entry will exists under events array for each time a message was deferred with error message from the server. "
},
"bounce_type": {
"enum": [
"bounced",
"blocked",
"expired"
],
"type": "string",
"description": "Use to distinguish between types of bounces"
},
"http_user_agent": {
"type": "string",
"description": "Client recipient used to click or open message"
}
}
},
"description": "List of events related to email message"
},
"msg_id": {
"type": "string",
"pattern": "^[A-Za-z0-9]+",
"maxLength": 50,
"minLength": 5
},
"status": {
"enum": [
"processed",
"not delivered",
"delivered"
],
"type": "string",
"description": "Quick summary of the status of a message"
},
"subject": {
"type": "string",
"maxLength": 255,
"minLength": 3
},
"teammate": {
"type": "string",
"pattern": "^$|^[A-Za-z0-9]+",
"maxLength": 64,
"minLength": 0,
"description": "Teammate's username"
},
"to_email": {
"type": "string",
"pattern": "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}\\b"
},
"api_key_id": {
"type": "string",
"pattern": "^[A-Za-z0-9]+",
"maxLength": 50,
"minLength": 3
},
"categories": {
"type": "array",
"items": {
"type": "string"
},
"description": "Categories users associated to the message"
},
"from_email": {
"type": "string",
"pattern": "\\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}\\b"
},
"outbound_ip": {
"type": "string",
"format": "ipv4",
"description": "IP used to send to the remote MTA. Used by UI to display IP in detailed view"
},
"template_id": {
"type": "string",
"format": "uuid"
},
"unique_args": {
"type": "string",
"default": "Null",
"description": "JSON hash of arbitrary key-value pairs"
},
"asm_group_id": {
"type": "integer",
"minimum": 1
},
"originating_ip": {
"type": "string",
"format": "ipv4",
"description": "This is the IP of the user who sent the message."
},
"outbound_ip_type": {
"enum": [
"dedicated",
"shared"
],
"type": "string",
"description": "Whether or not the outbound IP is dedicated vs shared"
}
}
}
metadata
{
"type": "object",
"title": "metadata",
"properties": {
"next": {
"type": "string",
"format": "uri",
"description": "The URL of the next page of results. If this field isn't present, you're at the end of the list."
},
"prev": {
"type": "string",
"format": "uri",
"description": "The URL of the previous page of results. If this field isn't present, you're at the start of the list."
},
"self": {
"type": "string",
"format": "uri",
"description": "The URL of the current page of results."
},
"count": {
"type": "number",
"description": "The number of items in the entire list, i.e., across all pages."
}
}
}
metrics
{
"type": "object",
"title": "metrics",
"required": [
"bounce_drops",
"bounces",
"clicks",
"delivered",
"invalid_emails",
"opens",
"requests",
"spam_report_drops",
"spam_reports",
"unique_clicks",
"unique_opens",
"unsubscribes"
],
"properties": {
"opens": {
"type": "integer"
},
"clicks": {
"type": "integer"
},
"bounces": {
"type": "integer"
},
"requests": {
"type": "integer"
},
"delivered": {
"type": "integer"
},
"bounce_drops": {
"type": "integer"
},
"spam_reports": {
"type": "integer"
},
"unique_opens": {
"type": "integer"
},
"unsubscribes": {
"type": "integer"
},
"unique_clicks": {
"type": "integer"
},
"invalid_emails": {
"type": "integer"
},
"spam_report_drops": {
"type": "integer"
}
}
}
monitor
{
"type": "object",
"title": "Create monitor settings request",
"example": {
"email": "example@example.com",
"frequency": 50000
},
"required": [
"email",
"frequency"
],
"properties": {
"email": {
"type": "string",
"format": "email",
"description": "The email address to which Sendgrid should send emails for monitoring."
},
"frequency": {
"type": "number",
"description": "The frequency at which to forward monitoring emails. An email will be sent when your subuser sends this many (e.g., 1,000) emails."
}
}
}
parse-setting
{
"type": "object",
"title": "Parse Setting",
"example": {
"url": "http://email.myhostname.com",
"hostname": "myhostname.com",
"send_raw": true,
"spam_check": false
},
"properties": {
"url": {
"type": "string",
"description": "The public URL where you would like SendGrid to POST the data parsed from your email. Any emails sent with the given hostname provided (whose MX records have been updated to point to SendGrid) will be parsed and POSTed to this URL."
},
"hostname": {
"type": "string",
"description": "A specific and unique domain or subdomain that you have created to use exclusively to parse your incoming email. For example, `parse.yourdomain.com`."
},
"send_raw": {
"type": "boolean",
"description": "Indicates if you would like SendGrid to post the original MIME-type content of your parsed email. When this parameter is set to `true`, SendGrid will send a JSON payload of the content of your email."
},
"spam_check": {
"type": "boolean",
"description": "Indicates if you would like SendGrid to check the content parsed from your emails for spam before POSTing them to your domain."
}
}
}
partner_settings_new_relic
{
"type": "object",
"title": "Partner Settings: New Relic",
"required": [
"enabled",
"license_key"
],
"properties": {
"enabled": {
"type": "boolean",
"description": "Indicates if this setting is enabled. "
},
"license_key": {
"type": "string",
"description": "The license key provided with your New Relic account."
},
"enable_subuser_statistics": {
"type": "boolean",
"description": "Indicates if your subuser statistics will be sent to your New Relic Dashboard."
}
}
}
reply_to_email_object
{
"type": "object",
"title": "Reply_to Email Object",
"example": {
"name": "Jane Doe",
"email": "jane_doe@example.com"
},
"required": [
"email"
],
"properties": {
"name": {
"type": "string",
"description": "A name or title associated with the `reply_to` email address."
},
"email": {
"type": "string",
"format": "email",
"description": "The email address where any replies or bounces will be returned."
}
}
}
reserved_field_definitions_response
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"read_only": {
"type": "boolean",
"default": false,
"description": "When `true` this means API consumers are unable to set the value of this field on contacts."
},
"field_type": {
"enum": [
"Text",
"Number",
"Date"
],
"type": "string"
}
}
},
"title": "reserved_field_definitions_response",
"example": [
{
"id": "_rf20_TX",
"name": "automation_id",
"read_only": true,
"field_type": "Text"
}
],
"required": [
"name",
"field_type"
]
}
reverse_dns
{
"type": "object",
"title": "Reverse DNS",
"example": {
"id": 1,
"ip": "192.168.1.1",
"rdns": "o1.email.example.com",
"users": [
{
"user_id": 7,
"username": "john@example.com"
},
{
"user_id": 8,
"username": "jane@example.com"
}
],
"valid": true,
"domain": "example.com",
"legacy": false,
"a_record": {
"data": "192.168.1.1",
"host": "o1.email.example.com",
"type": "a",
"valid": true
},
"subdomain": "email"
},
"required": [
"id",
"ip",
"rdns",
"users",
"domain",
"valid",
"legacy",
"a_record"
],
"properties": {
"id": {
"type": "integer",
"description": "The ID of the Reverse DNS."
},
"ip": {
"type": "string",
"description": "The IP address that this Reverse DNS was created for."
},
"rdns": {
"type": "string",
"description": "The reverse DNS record for the IP address. This points to the Reverse DNS subdomain."
},
"users": {
"type": "array",
"items": {
"type": "object",
"required": [
"username",
"user_id"
],
"properties": {
"user_id": {
"type": "integer",
"description": "The ID of a user who can send mail from the IP address."
},
"username": {
"type": "string",
"description": "The username of a user who can send mail from the IP address."
}
}
},
"description": "The users who are able to send mail from the IP address."
},
"valid": {
"type": "boolean",
"description": "Indicates if this is a valid Reverse DNS."
},
"domain": {
"type": "string",
"description": "The root, or sending, domain."
},
"legacy": {
"type": "boolean",
"description": "Indicates if this Reverse DNS was created using the legacy whitelabel tool. If it is a legacy whitelabel, it will still function, but you'll need to create a new Reverse DNS if you need to update it."
},
"a_record": {
"type": "object",
"required": [
"valid",
"type",
"host",
"data"
],
"properties": {
"data": {
"type": "string",
"description": "The IP address being set up with Reverse DNS."
},
"host": {
"type": "string",
"description": "This is the web address that will be mapped to the IP address."
},
"type": {
"type": "string",
"description": "The type of DNS record."
},
"valid": {
"type": "boolean",
"description": "Indicates if the a_record is valid."
}
}
},
"subdomain": {
"type": "string",
"description": "The subdomain created for this reverse DNS. This is where the rDNS record points."
},
"last_validation_attempt_at": {
"type": "integer",
"description": "A Unix epoch timestamp representing the last time of a validation attempt."
}
}
}
segment_query_json
{
"type": "object",
"title": "segment_query_json",
"properties": {
"contacts": {
"type": "object",
"properties": {
"l": {
"type": "object",
"properties": {
"l": {
"type": "object",
"properties": {
"l": {
"type": "object",
"properties": {
"t": {
"type": "string"
},
"v": {
"type": "string"
}
}
},
"r": {
"type": "object",
"properties": {
"t": {
"type": "string"
},
"v": {
"type": "string"
}
}
},
"op": {
"type": "string"
}
}
},
"r": {
"type": "object",
"properties": {
"l": {
"type": "object",
"properties": {
"t": {
"type": "string"
},
"v": {
"type": "string"
},
"args": {
"type": "array",
"items": {
"type": "object",
"properties": {
"t": {
"type": "string"
},
"v": {
"type": "string"
}
}
}
}
}
},
"r": {
"type": "object",
"properties": {
"t": {
"type": "string"
},
"v": {
"type": "string"
}
}
},
"op": {
"type": "string"
}
}
},
"op": {
"type": "string"
}
}
},
"r": {
"type": "object",
"properties": {
"l": {
"type": "object",
"properties": {
"t": {
"type": "string"
},
"v": {
"type": "string"
}
}
},
"r": {
"type": "object",
"properties": {
"t": {
"type": "string"
},
"v": {
"type": "array",
"items": {
"type": "string"
}
}
}
},
"op": {
"type": "string"
}
}
},
"op": {
"type": "string"
}
}
}
}
}
segment_response
{
"type": "object",
"title": "segment_response",
"required": [
"id",
"name",
"query_dsl",
"contacts_count",
"contacts_sample",
"created_at",
"updated_at",
"sample_updated_at",
"next_sample_update",
"parent_list_ids",
"query_version",
"status"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"description": "ID assigned to the segment when created."
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Name of the segment."
},
"status": {
"$ref": "#/components/schemas/segment_status_response"
},
"query_dsl": {
"type": "string",
"description": "SQL query which will filter contacts based on the conditions provided"
},
"created_at": {
"type": "string",
"description": "ISO8601 timestamp of when the object was created"
},
"updated_at": {
"type": "string",
"description": "ISO8601 timestamp of when the object was last updated"
},
"query_version": {
"type": "string",
"description": "If not set, segment contains a Query for use with Segment v1 APIs. If set to '2', segment contains a SQL query for use in v2."
},
"contacts_count": {
"type": "integer",
"description": "Total number of contacts present in the segment"
},
"contacts_sample": {
"type": "array",
"items": {
"$ref": "#/components/schemas/contact_response"
},
"description": "A subset of all contacts that are in this segment"
},
"parent_list_ids": {
"type": "array",
"items": {
"type": "string"
},
"description": "The array of list ids to filter contacts on when building this segment. It allows only one such list id for now. We will support more in future",
"uniqueItems": true
},
"sample_updated_at": {
"type": "string",
"description": "ISO8601 timestamp of when the samples were last updated"
},
"next_sample_update": {
"type": "string",
"description": "ISO8601 timestamp of when the samples will be next updated"
}
}
}
segment_status_response
{
"type": "object",
"title": "segment_status_response",
"required": [
"query_validation"
],
"properties": {
"error_message": {
"type": "string",
"description": "Describes any errors that were encountered during query validation"
},
"query_validation": {
"type": "string",
"description": "Status of query validation. PENDING, VALID, or INVALID"
}
},
"description": "Segment status indicates whether the segment's contacts will be updated periodically"
}
segment_summary
{
"type": "object",
"title": "segment_summary",
"required": [
"id",
"contacts_count",
"created_at",
"sample_updated_at",
"updated_at"
],
"properties": {
"id": {
"type": "string",
"format": "uuid",
"maxLength": 36,
"minLength": 36
},
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1
},
"created_at": {
"type": "string",
"format": "date-time",
"description": "ISO8601 of created timestamp\n"
},
"updated_at": {
"type": "string",
"format": "date-time",
"description": "ISO8601 timestamp the object was last updated"
},
"contacts_count": {
"type": "integer"
},
"parent_list_id": {
"type": "string",
"format": "uuid",
"maxLength": 36,
"minLength": 36,
"description": "The id of the list if this segment is a child of a list. This implies the query `AND CONTAINS(list_ids, ${parent_list_id})`"
},
"sample_updated_at": {
"type": "string",
"format": "date-time",
"description": "ISO8601 timestamp the sample was last updated"
},
"next_sample_update": {
"type": "string",
"description": "ISO8601 string that is equal to `sample_updated_at` plus an internally calculated offset that depends on how often contacts enter or exit segments as the scheduled pipeline updates the samples."
}
}
}
segment_summary_v2
{
"type": "object",
"title": "segment_summary",
"properties": {
"results": {
"type": "array",
"items": {
"$ref": "#/components/schemas/segment_summary"
}
}
},
"description": ""
}
segment_update
{
"type": "object",
"title": "segment_update",
"properties": {
"name": {
"type": "string",
"maxLength": 100,
"minLength": 1,
"description": "Name of the segment."
},
"query_dsl": {
"type": "string",
"description": "SQL query which will filter contacts based on the conditions provided"
}
}
}