SendGrid Simplified email sending for common use cases Send a single simple email An email object that may contain the recipient’s name, but must always contain the sender’s email. An email object that may contain the recipient’s name, but must always contain the recipient’s email. The subject of your email. This may be overridden by SetGlobalSubject(). The text/plain content of the email body. The text/html content of the email body. A SendGridMessage object. Send a single dynamic template email An email object that may contain the recipient’s name, but must always contain the sender’s email. An email object that may contain the recipient’s name, but must always contain the recipient’s email. The ID of the template. The data with which to populate the dynamic template. A SendGridMessage object. Send a single simple email to multiple recipients An email object that may contain the recipient’s name, but must always contain the sender’s email. A list of email objects that may contain the recipient’s name, but must always contain the recipient’s email. The subject of your email. This may be overridden by SetGlobalSubject(). The text/plain content of the email body. The text/html content of the email body. A SendGridMessage object. Send a single simple email to multiple recipients An email object that may contain the recipient’s name, but must always contain the sender’s email. A list of email objects that may contain the recipient’s name, but must always contain the recipient’s email. The ID of the template. The data with which to populate the dynamic template. A SendGridMessage object. Send multiple emails to multiple recipients. An email object that may contain the recipient’s name, but must always contain the sender’s email. A list of email objects that may contain the recipient’s name, but must always contain the recipient’s email. The subject of your email. This may be overridden by SetGlobalSubject(). The text/plain content of the email body. The text/html content of the email body. Substitution key/values to customize the content for each email. A SendGridMessage object. Send multiple emails to multiple recipients. An email object that may contain the recipient’s name, but must always contain the sender’s email. A list of email objects that may contain the recipient’s name, but must always contain the recipient’s email. The ID of the template. The data with which to populate the dynamic template. A SendGridMessage object. Uncomplex conversion of a "]]> to EmailAddress "email@email.com" or "]]> string EmailsAddress Object Send a single simple email to multiple recipients with option for displaying all the recipients present in "To" section of email An email object that may contain the recipient’s name, but must always contain the sender’s email. A list of email objects that may contain the recipient’s name, but must always contain the recipient’s email. The subject of your email. This may be overridden by SetGlobalSubject(). The text/plain content of the email body. The text/html content of the email body. Displays all the recipients present in the "To" section of email.The default value is false A SendGridMessage object. An object allowing you to specify how to handle unsubscribes. Gets or sets the unsubscribe group to associate with this email. Gets or sets an array containing the unsubscribe groups that you would like to be displayed on the unsubscribe preferences page. https://sendgrid.com/docs/User_Guide/Suppressions/recipient_subscription_preferences.html Gets or sets an array of objects in which you can specify any attachments you want to include. Gets or sets the Base64 encoded content of the attachment. Gets or sets the mime type of the content you are attaching. For example, application/pdf or image/jpeg. Gets or sets the filename of the attachment. Gets or sets the content-disposition of the attachment specifying how you would like the attachment to be displayed. For example, "inline" results in the attached file being displayed automatically within the message while "attachment" results in the attached file requiring some action to be taken before it is displayed (e.g. opening or downloading the file). Defaults to "attachment". Can be either "attachment" or "inline". Gets or sets a unique id that you specify for the attachment. This is used when the disposition is set to "inline" and the attachment is an image, allowing the file to be displayed within the body of your email. Ex: Gets or sets the address specified in the mail_settings.bcc object will receive a blind carbon copy (BCC) of the very first personalization defined in the personalizations array. Gets or sets a value indicating whether this setting is enabled. Gets or sets the email address that you would like to receive the BCC. Allows you to bypass all unsubscribe groups and suppressions to ensure that the email is delivered to every single recipient. This should only be used in emergencies when it is absolutely necessary that every recipient receives your email. Ex: outage emails, or forgot password emails. Gets or sets a value indicating whether this setting is enabled. Allows you to track whether a recipient clicked a link in your email. Gets or sets a value indicating whether this setting is enabled. Gets or sets if this setting should be included in the text/plain portion of your email. Specifies the content of your email. You can include multiple mime types of content, but you must specify at least one. To include more than one mime type, simply add another object to the array containing the type and value parameters. If included, text/plain and text/html must be the first indices of the array in this order. If you choose to include the text/plain or text/html mime types, they must be the first indices of the content array in the order text/plain, text/html.*Content is NOT mandatory if you using a transactional template and have defined the template_id in the Request Initializes a new instance of the class. Initializes a new instance of the class. The mime type of the content you are including in your email. For example, text/plain or text/html. The actual content of the specified mime type that you are including in your email. Gets or sets the mime type of the content you are including in your email. For example, text/plain or text/html. Gets or sets the actual content of the specified mime type that you are including in your email. An email object containing the email address and name of the sender or recipient. Initializes a new instance of the class. Initializes a new instance of the class. The email address of the sender or recipient. The name of the sender or recipient. Gets or sets the name of the sender or recipient. Gets or sets the email address of the sender or recipient. The default footer that you would like appended to the bottom of every email. Gets or sets a value indicating whether this setting is enabled. Gets or sets the plain text content of your footer. Gets or sets the HTML content of your footer. Allows you to enable tracking provided by Google Analytics. Gets or sets a value indicating whether this setting is enabled. Gets or sets the name of the referrer source. (e.g. Google, SomeDomain.com, or Marketing Email) Gets or sets the name of the marketing medium. (e.g. Email) Gets or sets the identification of any paid keywords. Gets or sets the differentiation of your campaign from advertisements. Gets or sets the name of the campaign. Helper class for plain html mime types Initializes a new instance of the class. The actual content of the specified mime type that you are including in your email. Helper class for plain text mime types Initializes a new instance of the class. The actual content of the specified mime type that you are including in your email. A collection of different mail settings that you can use to specify how you would like this email to be handled. Gets or sets the address specified in the mail_settings.bcc object will receive a blind carbon copy (BCC) of the very first personalization defined in the personalizations array. Gets or sets the bypass of all unsubscribe groups and suppressions to ensure that the email is delivered to every single recipient. This should only be used in emergencies when it is absolutely necessary that every recipient receives your email. Ex: outage emails, or forgot password emails. Gets or sets the default footer that you would like appended to the bottom of every email. Gets or sets the ability to send a test email to ensure that your request body is valid and formatted correctly. For more information, please see our Classroom. https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/sandbox_mode.html Gets or sets the ability to test the content of your email for spam. Allows you to track whether the email was opened or not, but including a single pixel image in the body of the content. When the pixel is loaded, we can log that the email was opened. Gets or sets a value indicating whether this setting is enabled. Gets or sets the ability to specify a substitution tag that you can insert in the body of your email at a location that you desire. This tag will be replaced by the open tracking pixel. An array of messages and their metadata. Each object within personalizations can be thought of as an envelope - it defines who should receive an individual message and how that message should be handled. For more information, please see our documentation on Personalizations. Parameters in personalizations will override the parameters of the same name from the message level. https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/personalizations.html Gets or sets an array of recipients. Each email object within this array may contain the recipient’s name, but must always contain the recipient’s email. Gets or sets an array of recipients who will receive a copy of your email. Each email object within this array may contain the recipient’s name, but must always contain the recipient’s email. Gets or sets an array of recipients who will receive a blind carbon copy of your email. Each email object within this array may contain the recipient’s name, but must always contain the recipient’s email. Gets or sets the subject line of your email. Gets or sets the object allowing you to specify specific handling instructions for your email. Gets or sets an object following the pattern "substitution_tag":"value to substitute". All are assumed to be strings. These substitutions will apply to the content of your email, in addition to the subject and reply-to parameters. You may not include more than 100 substitutions per personalization object, and the total collective size of your substitutions may not exceed 10,000 bytes per personalization object. Gets or sets the values that are specific to this personalization that will be carried along with the email, activity data, and links. Substitutions will not be made on custom arguments. personalizations[x].custom_args will be merged with message level custom_args, overriding any conflicting keys. The combined total size of the resulting custom arguments, after merging, for each personalization may not exceed 10,000 bytes. Gets or sets a unix timestamp allowing you to specify when you want your email to be sent from Twilio SendGrid. This is not necessary if you want the email to be sent at the time of your API request. Gets or sets the template data object following the pattern "template data key":"template data value". All are assumed to be strings. These key value pairs will apply to the content of your template email, in addition to the subject and reply-to parameters. This allows you to send a test email to ensure that your request body is valid and formatted correctly. For more information, please see our Classroom. https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/sandbox_mode.html Gets or sets a value indicating whether this setting is enabled. This allows you to test the content of your email for spam. Gets or sets a value indicating whether this setting is enabled. Gets or sets the threshold used to determine if your content qualifies as spam on a scale from 1 to 10, with 10 being most strict, or most likely to be considered as spam. Gets or sets an Inbound Parse URL that you would like a copy of your email along with the spam report to be sent to. The post_to_url parameter must start with http:// or https://. Allows you to insert a subscription management link at the bottom of the text and html bodies of your email. If you would like to specify the location of the link within your email, you may use the substitution_tag. Gets or sets a value indicating whether this setting is enabled. Gets or sets the text to be appended to the email, with the subscription tracking link. You may control where the link is by using the tag (percent symbol) (percent symbol) Gets or sets the HTML to be appended to the email, with the subscription tracking link. You may control where the link is by using the tag (percent symbol) (percent symbol) Gets or sets a tag that will be replaced with the unsubscribe URL. for example: [unsubscribe_url]. If this parameter is used, it will override both the textand html parameters. The URL of the link will be placed at the substitution tag’s location, with no additional formatting. Settings to determine how you would like to track the metrics of how your recipients interact with your email. Gets or sets tracking whether a recipient clicked a link in your email. Gets or sets tracking whether the email was opened or not, but including a single pixel image in the body of the content. When the pixel is loaded, we can log that the email was opened. Gets or sets a subscription management link at the bottom of the text and html bodies of your email. If you would like to specify the location of the link within your email, you may use the substitution_tag. Gets or sets tracking provided by Google Analytics. Class SendGridMessage builds an object that sends an email through Twilio SendGrid. Gets or sets an email object containing the email address and name of the sender. Unicode encoding is not supported for the from field. Gets or sets the subject of your email. This may be overridden by personalizations[x].subject. Gets or sets a list of messages and their metadata. Each object within personalizations can be thought of as an envelope - it defines who should receive an individual message and how that message should be handled. For more information, please see our documentation on Personalizations. Parameters in personalizations will override the parameters of the same name from the message level. https://sendgrid.com/docs/Classroom/Send/v3_Mail_Send/personalizations.html Gets or sets a list in which you may specify the content of your email. You can include multiple mime types of content, but you must specify at least one. To include more than one mime type, simply add another object to the array containing the type and value parameters. If included, text/plain and text/html must be the first indices of the array in this order. If you choose to include the text/plain or text/html mime types, they must be the first indices of the content array in the order text/plain, text/html.*Content is NOT mandatory if you using a transactional template and have defined the template_id in the Request Gets or sets a Content object with a Mime Type of text/plain. Gets or sets a Content object with a Mime Type of text/html. Gets or sets a list of objects in which you can specify any attachments you want to include. Gets or sets the id of a template that you would like to use. If you use a template that contains content and a subject (either text or html), you do not need to specify those in the respective personalizations or message level parameters. Gets or sets an object containing key/value pairs of header names and the value to substitute for them. You must ensure these are properly encoded if they contain unicode characters. Must not be any of the following reserved headers: x-sg-id, x-sg-eid, received, dkim-signature, Content-Type, Content-Transfer-Encoding, To, From, Subject, Reply-To, CC, BCC Gets or sets an object of key/value pairs that define large blocks of content that can be inserted into your emails using substitution tags. Gets or sets a list of category names for this message. Each category name may not exceed 255 characters. You cannot have more than 10 categories per request. Gets or sets values that are specific to the entire send that will be carried along with the email and its activity data. Substitutions will not be made on custom arguments, so any string that is entered into this parameter will be assumed to be the custom argument that you would like to be used. This parameter is overridden by any conflicting personalizations[x].custom_args if that parameter has been defined. If personalizations[x].custom_args has been defined but does not conflict with the values defined within this parameter, the two will be merged. The combined total size of these custom arguments may not exceed 10,000 bytes. Gets or sets a unix timestamp allowing you to specify when you want your email to be sent from SendGrid. This is not necessary if you want the email to be sent at the time of your API request. Gets or sets an object allowing you to specify how to handle unsubscribes. Gets or sets an ID that represents a batch of emails (AKA multiple sends of the same email) to be associated to each other for scheduling. Including a batch_id in your request allows you to include this email in that batch, and also enables you to cancel or pause the delivery of that entire batch. For more information, please read about Cancel Scheduled Sends. https://sendgrid.com/docs/API_Reference/Web_API_v3/cancel_schedule_send.html Gets or sets the IP Pool that you would like to send this email from. Gets or sets a collection of different mail settings that you can use to specify how you would like this email to be handled. Gets or sets settings to determine how you would like to track the metrics of how your recipients interact with your email. Gets or sets an email object containing the email address and name of the individual who should receive responses to your email. Add a recipient email. Specify the recipient's email Specify the recipient's name Add a recipient email. An email recipient that may contain the recipient’s name, but must always contain the recipient’s email. Specify the index of the Personalization object where you want to add the recipient email. A personalization object to append to the message. Add recipient emails. A list of recipients. Each email object within this array may contain the recipient’s name, but must always contain the recipient’s email. Specify the index of the Personalization object where you want to add the recipient emails. A personalization object to append to the message. Add a cc email recipient. Specify the recipient's email Specify the recipient's name Add a cc email recipient. An email recipient that may contain the recipient’s name, but must always contain the recipient’s email. Specify the index of the Personalization object where you want to add the cc email. A personalization object to append to the message. Add cc recipient emails. A list of cc recipients. Each email object within this array may contain the recipient’s name, but must always contain the recipient’s email. Specify the index of the Personalization object where you want to add the cc emails. A personalization object to append to the message. Add a bcc recipient emails. Specify the recipient's email Specify the recipient's name Add a bcc recipient emails. An email recipient that may contain the recipient’s name, but must always contain the recipient’s email. Specify the index of the Personalization object where you want to add the bcc email. A personalization object to append to the message. Add bcc email recipients. A list of bcc recipients. Each email object within this array may contain the recipient’s name, but must always contain the recipient’s email. Specify the index of the Personalization object where you want to add the bcc emails. A personalization object to append to the message. Add a subject to the email. The subject line of your email. Specify the index of the Personalization object where you want to add the subject. A personalization object to append to the message. Add a header to the email. Header key. (e.g. X-Header) Header value. Specify the index of the Personalization object where you want to add the header. A personalization object to append to the message. Add headers to the email. A list of Headers. Specify the index of the Personalization object where you want to add the headers. A personalization object to append to the message. Add a substitution to the email. You may not include more than 100 substitutions per personalization object, and the total collective size of your substitutions may not exceed 10,000 bytes per personalization object. The substitution key. The substitution value. Specify the index of the Personalization object where you want to add the substitution. A personalization object to append to the message. Add substitutions to the email. A list of Substitutions. Specify the index of the Personalization object where you want to add the substitutions. A personalization object to append to the message. Add dynamic template data to the email. A Template Data object. Specify the index of the Personalization object where you want to add the substitutions. A personalization object to append to the message. Add a custom argument to the email. The custom argument key. The custom argument value. Specify the index of the Personalization object where you want to add the custom arg. A personalization object to append to the message. Add custom arguments to the email. A list of CustomArgs. Specify the index of the Personalization object where you want to add the custom args. A personalization object to append to the message. Specify the unix timestamp to specify when you want the email to be sent from Twilio SendGrid. Specify the unix timestamp for when you want the email to be sent from Twilio SendGrid Specify the index of the Personalization object where you want to add the send at timestamp. A personalization object to append to the message. Set the from email. Specify the recipient's email Specify the recipient's name Set the from email. An email object containing the email address and name of the sender. Unicode encoding is not supported for the from field. Set the reply to email. An email object containing the email address and name of the individual who should receive responses to your email. Set a global subject line. The subject of your email. This may be overridden by personalizations[x].subject. Add content to the email. The mime type of the content you are including in your email. For example, text/plain or text/html. The actual content of the specified mime type that you are including in your email. Add contents to the email. A list of Content. Add an attachment from a stream to the email. No attachment will be added in the case that the stream cannot be read. Streams of length greater than int.MaxValue are truncated. The filename the attachment will display in the email. The stream to use as content of the attachment. The mime type of the content you are attaching. For example, application/pdf or image/jpeg. The content-disposition of the attachment specifying how you would like the attachment to be displayed. For example, "inline" results in the attached file being displayed automatically within the message while "attachment" results in the attached file requiring some action to be taken before it is displayed (e.g. opening or downloading the file). Defaults to "attachment". Can be either "attachment" or "inline". A unique id that you specify for the attachment. This is used when the disposition is set to "inline" and the attachment is an image, allowing the file to be displayed within the body of your email. Ex: ]]> A cancellation token which can notify if the task should be canceled. A representing the asynchronous operation. Add an attachment to the email. The filename the attachment will display in the email. The Base64 encoded content of the attachment. The mime type of the content you are attaching. For example, application/pdf or image/jpeg. The content-disposition of the attachment specifying how you would like the attachment to be displayed. For example, "inline" results in the attached file being displayed automatically within the message while "attachment" results in the attached file requiring some action to be taken before it is displayed (e.g. opening or downloading the file). Defaults to "attachment". Can be either "attachment" or "inline". A unique id that you specify for the attachment. This is used when the disposition is set to "inline" and the attachment is an image, allowing the file to be displayed within the body of your email. Ex: ]]> Add an attachment to the email. An Attachment. Add attachments to the email. A list of Attachments. Add a template id to the email. The id of a template that you would like to use. If you use a template that contains content and a subject (either text or html), you do not need to specify those in the respective personalizations or message level parameters. Add a section substitution to the email. The section key. The section replacement value. Add sections to the email. A list of Sections. Add a global header to the email. Header key. (e.g. X-Header) Header value. Add global headers to the email. A list of Headers. Add a category to the email. A category name, not to exceed 255 characters. There is a limit of 10 categories per request. Add categories to the email. A list of Categories. Add a global custom argument. The custom arguments key. The value of this key will be overridden by custom args at the personalization level. The custom argument value. Add global custom arguments. A list of CustomArgs. Set the global send at unix timestamp. A unix timestamp allowing you to specify when you want your email to be sent from Twilio SendGrid. This is not necessary if you want the email to be sent at the time of your API request. Set the email's batch id. This ID represents a batch of emails (AKA multiple sends of the same email) to be associated to each other for scheduling. Including a batch_id in your request allows you to include this email in that batch, and also enables you to cancel or pause the delivery of that entire batch. For more information, please read about Cancel Scheduled Sends. https://sendgrid.com/docs/API_Reference/Web_API_v3/cancel_schedule_send.html Set advanced suppression management. (ASM) The unsubscribe group to associate with this email. An array containing the unsubscribe groups that you would like to be displayed on the unsubscribe preferences page. https://sendgrid.com/docs/User_Guide/Suppressions/recipient_subscription_preferences.html Set this email's IP Pool. The IP Pool that you would like to send this email from. Set the bcc settings. The address specified in the mail_settings.bcc object will receive a blind carbon copy (BCC) of the very first personalization defined in the personalizations array. Gets or sets a value indicating whether this setting is enabled. The email address that you would like to receive the BCC. Set the bypass list management setting. Allows you to bypass all unsubscribe groups and suppressions to ensure that the email is delivered to every single recipient. This should only be used in emergencies when it is absolutely necessary that every recipient receives your email. Ex: outage emails, or forgot password emails. Gets or sets a value indicating whether this setting is enabled. Set the footer setting. The default footer that you would like appended to the bottom of every email. Gets or sets a value indicating whether this setting is enabled. The HTML content of your footer. The plain text content of your footer. Set the sandbox mode setting. This allows you to send a test email to ensure that your request body is valid and formatted correctly. For more information, please see our Classroom. Gets or sets a value indicating whether this setting is enabled. Set the spam check setting. This allows you to test the content of your email for spam. Gets or sets a value indicating whether this setting is enabled. The threshold used to determine if your content qualifies as spam on a scale from 1 to 10, with 10 being most strict, or most likely to be considered as spam. An Inbound Parse URL that you would like a copy of your email along with the spam report to be sent to. The post_to_url parameter must start with http:// or https://. Set the click tracking setting. Allows you to track whether a recipient clicked a link in your email. Gets or sets a value indicating whether this setting is enabled. Indicates if this setting should be included in the text/plain portion of your email. Set the open tracking setting. Allows you to track whether the email was opened or not, but including a single pixel image in the body of the content. When the pixel is loaded, we can log that the email was opened. Gets or sets a value indicating whether this setting is enabled. Allows you to specify a substitution tag that you can insert in the body of your email at a location that you desire. This tag will be replaced by the open tracking pixel. Set the subscription tracking setting. Allows you to insert a subscription management link at the bottom of the text and html bodies of your email. If you would like to specify the location of the link within your email, you may use the substitution_tag. Gets or sets a value indicating whether this setting is enabled. HTML to be appended to the email, with the subscription tracking link. You may control where the link is by using the tag ]]> Text to be appended to the email, with the subscription tracking link. You may control where the link is by using the tag ]]> A tag that will be replaced with the unsubscribe URL. for example: [unsubscribe_url]. If this parameter is used, it will override both the textand html parameters. The URL of the link will be placed at the substitution tag’s location, with no additional formatting. Set the Google analytics setting. Allows you to enable tracking provided by Google Analytics. Gets or sets a value indicating whether this setting is enabled. The name of the campaign. Used to differentiate your campaign from advertisements. Name of the marketing medium. (e.g. Email) Name of the referrer source. (e.g. Google, SomeDomain.com, or Marketing Email) Used to identify any paid keywords. Creates the JSON object required to make a request to Twilio SendGrid. The JSON object required to make a request to Twilio SendGrid. Defines the reliability settings to use on HTTP requests Initializes a new instance of the class with default settings. Initializes a new instance of the class. The maximum number of retries to execute against when sending an HTTP Request before throwing an exception The minimum amount of time to wait between between HTTP retries the maximum amount of time to wait between between HTTP retries the value that will be used to calculate a random delta in the exponential delay between retries Gets the maximum number of retries to execute against when sending an HTTP Request before throwing an exception. Defaults to 0 (no retries, you must explicitly enable) Gets the minimum amount of time to wait between between HTTP retries. Defaults to 1 second Gets the maximum amount of time to wait between between HTTP retries. Defaults to 10 seconds Gets the value that will be used to calculate a random delta in the exponential delay between retries. Defaults to 1 second A delegating handler that provides retry functionality while executing a request Initializes a new instance of the class. A ReliabilitySettings instance Initializes a new instance of the class. A HttpMessageHandler instance to set as the inner handler A ReliabilitySettings instance A HTTP client wrapper for interacting with Twilio SendGrid's API Gets or sets the path to the API resource. Gets or sets the API version. Gets or sets the request media type. Add the authorization header, override to customize Authorization header Authorization value to add to the header Make the call to the API server, override for testing or customization The parameters for the API call Cancel the asynchronous call Response object Prepare for async call to the API server HTTP verb JSON formatted string JSON formatted query paramaters The path to the API endpoint. Cancel the asynchronous call. Response object The method will NOT catch and swallow exceptions generated by sending a request through the internal http client. Any underlying exception will pass right through. In particular, this means that you may expect a TimeoutException if you are not connected to the internet. Make a request to send an email through Twilio SendGrid asynchronously. A SendGridMessage object with the details for the request. Cancel the asynchronous call. A Response object. Helper for the common Twilio SendGrid email mime types. The mime type for HTML content. The mime type for plain text content. The response received from an API call to Twilio SendGrid The status code returned from Twilio SendGrid. The response body returned from Twilio SendGrid. The response headers returned from Twilio SendGrid. Initializes a new instance of the class. https://msdn.microsoft.com/en-us/library/system.net.httpstatuscode(v=vs.110).aspx https://msdn.microsoft.com/en-us/library/system.net.http.httpcontent(v=vs.118).aspx https://msdn.microsoft.com/en-us/library/system.net.http.headers.httpresponseheaders(v=vs.118).aspx Gets or sets the status code returned from Twilio SendGrid. Gets or sets the response body returned from Twilio SendGrid. Gets or sets the response headers returned from Twilio SendGrid. Converts string formatted response body to a Dictionary. https://msdn.microsoft.com/en-us/library/system.net.http.httpcontent(v=vs.118).aspx Dictionary object representation of HttpContent Converts string formatted response headers to a Dictionary. https://msdn.microsoft.com/en-us/library/system.net.http.headers.httpresponseheaders(v=vs.118).aspx Dictionary object representation of HttpResponseHeaders A HTTP client wrapper for interacting with Twilio SendGrid's API The HttpClient instance to use for all calls from this SendGridClient instance. Initializes a new instance of the class. Web proxy. Your Twilio SendGrid API key. Base url (e.g. https://api.sendgrid.com) A dictionary of request headers API version, override AddVersion to customize Path to endpoint (e.g. /path/to/endpoint) Interface to the Twilio SendGrid REST API Initializes a new instance of the class. A instance that defines the configuration settings to use with the client Interface to the Twilio SendGrid REST API Initializes a new instance of the class. An optional http client which may me injected in order to facilitate testing. Your Twilio SendGrid API key. Base url (e.g. https://api.sendgrid.com) A dictionary of request headers API version, override AddVersion to customize Path to endpoint (e.g. /path/to/endpoint) Interface to the Twilio SendGrid REST API Initializes a new instance of the class. Your Twilio SendGrid API key. Base url (e.g. https://api.sendgrid.com) A dictionary of request headers API version, override AddVersion to customize Path to endpoint (e.g. /path/to/endpoint) Interface to the Twilio SendGrid REST API Initializes a new instance of the class. An optional http client which may me injected in order to facilitate testing. A instance that defines the configuration settings to use with the client Interface to the Twilio SendGrid REST API The supported API methods. Remove a resource. Get a resource. Modify a portion of the resource. Create a resource or execute a function. (e.g send an email) Update an entire resource. Gets or sets the path to the API resource. Gets or sets the API version. Gets or sets the request media type. Add the authorization header, override to customize Authorization header Authorization value to add to the header Make the call to the API server, override for testing or customization The parameters for the API call Cancel the asynchronous call Response object Prepare for async call to the API server HTTP verb JSON formatted string JSON formatted query paramaters The path to the API endpoint. Cancel the asynchronous call. Response object The method will NOT catch and swallow exceptions generated by sending a request through the internal http client. Any underlying exception will pass right through. In particular, this means that you may expect a TimeoutException if you are not connected to the internet. Make a request to send an email through Twilio SendGrid asynchronously. A SendGridMessage object with the details for the request. Cancel the asynchronous call. A Response object. Build the final URL The URL path. A string of JSON formatted query parameters (e.g {'param': 'param_value'}) Final URL Common method to initiate internal fields regardless of which constructor was used. Your Twilio SendGrid API key. Base url (e.g. https://api.sendgrid.com) A dictionary of request headers API version, override AddVersion to customize Path to endpoint (e.g. /path/to/endpoint) Parses a JSON string without removing duplicate keys. This function flattens all Objects/Array. This means that for example {'id': 1, 'id': 2, 'id': 3} and {'id': [1, 2, 3]} result in the same output. The JSON string to parse. A dictionary of all values. Defines the options to use with the Twilio SendGrid client Initializes a new instance of the class. Gets or sets the reliability settings to use on HTTP Requests Gets or sets the Twilio SendGrid API key Gets or sets the request headers to use on HttpRequests sent to Twilio SendGrid Gets or sets base url (e.g. https://api.sendgrid.com, this is the default) Gets or sets API version, override AddVersion to customize Gets or sets the path to the API endpoint.