sendgrid

package module
v1.4.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 25, 2025 License: MIT Imports: 16 Imported by: 0

README

SendGrid API in Go

GoDoc test lint codecov

This library supports most if not all of the SendGrid REST calls.

Installing

go get
$ go get -u github.com/kenzo0107/sendgrid

Example

Get Teammate
package main

import (
	"context"
	"log"
	"os"

	"github.com/kenzo0107/sendgrid"
)

func main() {
	apiKey := os.Getenv("SENDGRID_API_KEY")

	c := sendgrid.New(apiKey)
	u, err := c.GetTeammate(context.TODO(), "username")
	if err != nil {
		fmt.Printf("%s\n", err)
		return
	}
	log.Printf("user: %#v\n", u)
}

License

MIT License

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Bool

func Bool(v bool) *bool

Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.

func OptionBaseURL

func OptionBaseURL(endpoint string) func(*Client)

OptionBaseURL - provide a custom base url to the sendgrid client.

func OptionDebug

func OptionDebug(b bool) func(*Client)

OptionDebug enable debugging for the client

func OptionHTTPClient

func OptionHTTPClient(client httpClient) func(*Client)

OptionHTTPClient - provide a custom http client to the sendgrid client.

func OptionLog

func OptionLog(l logger) func(*Client)

OptionLog set logging for client.

func OptionSubuser

func OptionSubuser(subuser string) func(*Client)

OptionBaseURL - provide a custom base url to the sendgrid client.

func String

func String(v string) *string

String is a helper routine that allocates a new string value to store v and returns a pointer to it.

Types

type APIKey added in v0.0.2

type APIKey struct {
	ApiKeyId string `json:"api_key_id,omitempty"`
	Name     string `json:"name,omitempty"`
}

type ARecord added in v0.0.17

type ARecord struct {
	Valid bool   `json:"valid,omitempty"`
	Type  string `json:"type,omitempty"`
	Host  string `json:"host,omitempty"`
	Data  string `json:"data,omitempty"`
}

type ARecordValidationResults added in v0.0.17

type ARecordValidationResults struct {
	Valid  bool   `json:"valid,omitempty"`
	Reason string `json:"reason,omitempty"`
}

type Alert added in v1.4.0

type Alert struct {
	ID         int64  `json:"id,omitempty"`
	EmailTo    string `json:"email_to,omitempty"`
	Frequency  string `json:"frequency,omitempty"`
	Type       string `json:"type,omitempty"`
	Percentage int64  `json:"percentage,omitempty"`
	CreatedAt  int64  `json:"created_at,omitempty"`
	UpdatedAt  int64  `json:"updated_at,omitempty"`
}
type BrandedLink struct {
	ID        int64          `json:"id,omitempty"`
	Domain    string         `json:"domain,omitempty"`
	Subdomain string         `json:"subdomain,omitempty"`
	Username  string         `json:"username,omitempty"`
	UserID    int64          `json:"user_id,omitempty"`
	Default   bool           `json:"default,omitempty"`
	Valid     bool           `json:"valid,omitempty"`
	Legacy    bool           `json:"legacy,omitempty"`
	DNS       DNSBrandedLink `json:"dns,omitempty"`
}

type Client

type Client struct {
	// contains filtered or unexported fields
}

Client : sendgrid client

func New

func New(apiKey string, options ...Option) *Client

New builds a sendgrid client from the provided token, baseURL and options

func (*Client) AddIPToAuthenticatedDomain added in v0.0.6

func (c *Client) AddIPToAuthenticatedDomain(ctx context.Context, domainId int64, input *InputAddIPToAuthenticatedDomain) (*OutputAddIPToAuthenticatedDomain, error)

NOTE: The 'dns' key in the API response for adding an IP to the authenticated domain is different from what is documented. see: https://docs.sendgrid.com/api-reference/domain-authentication/add-an-ip-to-an-authenticated-domain#responses

func (*Client) AddOptions

func (c *Client) AddOptions(s string, opts interface{}) (string, error)

AddOptions adds the parameters in opt as URL query parameters to s. opt must be a struct whose fields may contain "url" tags.

func (*Client) AssociateAuthenticatedDomainWithSubuser added in v0.0.6

func (c *Client) AssociateAuthenticatedDomainWithSubuser(ctx context.Context, domainId int64, input *InputAssociateAuthenticatedDomainWithSubuser) (*OutputAssociateAuthenticatedDomainWithSubuser, error)

func (*Client) AssociateBrandedLinkWithSubuser added in v0.0.7

func (c *Client) AssociateBrandedLinkWithSubuser(ctx context.Context, id int64, input *InputAssociateBrandedLinkWithSubuser) (*OutputAssociateBrandedLinkWithSubuser, error)

func (*Client) AuthenticateDomain added in v0.0.6

func (c *Client) AuthenticateDomain(ctx context.Context, input *InputAuthenticateDomain) (*OutputAuthenticateDomain, error)

func (*Client) CompletedStepsVerifiedSender added in v0.0.10

func (c *Client) CompletedStepsVerifiedSender(ctx context.Context) (*CompletedStepsVerifiedSender, error)

func (*Client) CreateAPIKey added in v0.0.2

func (c *Client) CreateAPIKey(ctx context.Context, input *InputCreateAPIKey) (*OutputCreateAPIKey, error)
func (c *Client) CreateBrandedLink(ctx context.Context, input *InputCreateBrandedLink) (*OutputCreateBrandedLink, error)

func (*Client) CreateSSOCertificate added in v0.0.20

func (c *Client) CreateSSOCertificate(ctx context.Context, input *InputCreateSSOCertificate) (*OutputCreateSSOCertificate, error)

func (*Client) CreateSubuser added in v0.0.3

func (c *Client) CreateSubuser(ctx context.Context, input *InputCreateSubuser) (*OutputCreateSubuser, error)

func (*Client) CreateVerifiedSenderRequest added in v0.0.10

func (c *Client) CreateVerifiedSenderRequest(ctx context.Context, input *InputCreateVerifiedSenderRequest) (*OutputCreateVerifiedSenderRequest, error)

func (*Client) Debug

func (c *Client) Debug() bool

Debug returns if debug is enabled.

func (*Client) Debugf

func (c *Client) Debugf(format string, v ...interface{})

Debugf print a formatted debug line.

func (*Client) Debugln

func (c *Client) Debugln(v ...interface{})

Debugln print a debug line.

func (*Client) DeleteAPIKey added in v0.0.2

func (c *Client) DeleteAPIKey(ctx context.Context, apiKeyId string) error

func (*Client) DeleteAuthenticatedDomain added in v0.0.6

func (c *Client) DeleteAuthenticatedDomain(ctx context.Context, domainId int64) error
func (c *Client) DeleteBrandedLink(ctx context.Context, id int64) error

func (*Client) DeleteDesign added in v1.0.3

func (c *Client) DeleteDesign(ctx context.Context, id string) error

see: https://docs.sendgrid.com/api-reference/designs-api/delete-design

func (*Client) DeleteEventWebhook added in v1.0.2

func (c *Client) DeleteEventWebhook(ctx context.Context, id string) error

see: https://docs.sendgrid.com/api-reference/webhooks/delete-an-event-webhook

func (*Client) DeleteInboundParseWebhook added in v1.1.1

func (c *Client) DeleteInboundParseWebhook(ctx context.Context, hostname string) error

see: https://docs.sendgrid.com/api-reference/settings-inbound-parse/delete-a-parse-setting

func (*Client) DeletePendingTeammate

func (c *Client) DeletePendingTeammate(ctx context.Context, token string) error

func (*Client) DeleteSubuser added in v0.0.3

func (c *Client) DeleteSubuser(ctx context.Context, username string) error

func (*Client) DeleteTeammate

func (c *Client) DeleteTeammate(ctx context.Context, username string) error

func (*Client) DeleteVerifiedSender added in v0.0.10

func (c *Client) DeleteVerifiedSender(ctx context.Context, id int64) error

func (*Client) DisassociateAuthenticatedDomainFromSubuser added in v0.0.6

func (c *Client) DisassociateAuthenticatedDomainFromSubuser(ctx context.Context, subuserName string) error

func (*Client) DisassociateBrandedLinkWithSubuser added in v0.0.7

func (c *Client) DisassociateBrandedLinkWithSubuser(ctx context.Context, username string) error

func (*Client) Do

func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) error

Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response body will be written to v, without attempting to first decode it. If rate limit is exceeded and reset time is in the future, Do returns *RateLimitError immediately without making a network API call.

The provided ctx must be non-nil, if it is nil an error is returned. If it is canceled or times out, ctx.Err() will be returned.

func (*Client) GetAPIKey added in v0.0.2

func (c *Client) GetAPIKey(ctx context.Context, apiKeyId string) (*OutputGetAPIKey, error)

func (*Client) GetAPIKeys added in v0.0.2

func (c *Client) GetAPIKeys(ctx context.Context) (*OutputGetAPIKeys, error)

func (*Client) GetAuthenticatedDomain added in v0.0.6

func (c *Client) GetAuthenticatedDomain(ctx context.Context, domainId int64) (*OutputGetAuthenticatedDomain, error)

func (*Client) GetAuthenticatedDomainAssociatedWithSubuser added in v0.0.6

func (c *Client) GetAuthenticatedDomainAssociatedWithSubuser(ctx context.Context, subuserName string) (*OutputGetAuthenticatedDomainAssociatedWithSubuser, error)

func (*Client) GetAuthenticatedDomains added in v0.0.6

func (c *Client) GetAuthenticatedDomains(ctx context.Context, input *InputGetAuthenticatedDomains) ([]*DomainAuthentication, error)
func (c *Client) GetBrandedLink(ctx context.Context, id int64) (*OutputGetBrandedLink, error)
func (c *Client) GetBrandedLinks(ctx context.Context, input *InputGetBrandedLinks) ([]*BrandedLink, error)

func (*Client) GetDefaultAuthentication added in v0.0.6

func (c *Client) GetDefaultAuthentication(ctx context.Context, input *InputGetDefaultAuthentication) (*OutputGetDefaultAuthentication, error)
func (c *Client) GetDefaultBrandedLink(ctx context.Context) (*OutputGetDefaultBrandedLink, error)

func (*Client) GetPendingTeammates

func (c *Client) GetPendingTeammates(ctx context.Context) (*OutputGetPendingTeammates, error)

func (*Client) GetSenderVerificationDomainWarnList added in v0.0.10

func (c *Client) GetSenderVerificationDomainWarnList(ctx context.Context) (*CompletedStepsVerifiedSender, error)

see: https://docs.sendgrid.com/api-reference/sender-verification/domain-warn-list This endpoint returns a list of domains known to implement DMARC and categorizes them by failure type — hard failure or soft failure. Domains listed as hard failures will not deliver mail when used as a Sender Identity due to the domain's DMARC policy settings.

func (c *Client) GetSubuserBrandedLink(ctx context.Context, subuser string) (*OutputGetSubuserBrandedLink, error)

func (*Client) GetSubuserReputations added in v0.0.3

func (c *Client) GetSubuserReputations(ctx context.Context, usernames string) ([]*Reputation, error)

func (*Client) GetSubusers added in v0.0.3

func (c *Client) GetSubusers(ctx context.Context, input *InputGetSubusers) ([]*Subuser, error)

func (*Client) GetTeammate

func (c *Client) GetTeammate(ctx context.Context, username string) (*OutputGetTeammate, error)

func (*Client) GetTeammates

func (c *Client) GetTeammates(ctx context.Context) (*OutputGetTeammates, error)

func (*Client) GetVerifiedSenders added in v0.0.10

func (c *Client) GetVerifiedSenders(ctx context.Context, input *InputGetVerifiedSenders) ([]*VerifiedSender, error)

func (*Client) InviteTeammate

func (c *Client) InviteTeammate(ctx context.Context, input *InputInviteTeammate) (*OutputInviteTeammate, error)

func (*Client) NewRequest

func (c *Client) NewRequest(method, urlStr string, body interface{}) (*http.Request, error)

NewRequest creates an API request. A relative URL can be provided in urlStr, in which case it is resolved relative to the BaseURL of the Client. Relative URLs should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included as the request body.

func (*Client) RemoveIPFromAuthenticatedDomain added in v0.0.6

func (c *Client) RemoveIPFromAuthenticatedDomain(ctx context.Context, domainId int64, ip string) error

NOTE: The 'dns' key in the API response for removing an IP to the authenticated domain is different from what is documented. see: https://docs.sendgrid.com/api-reference/domain-authentication/remove-an-ip-from-an-authenticated-domain#responses

func (*Client) ResendVerifiedSenderRequest added in v0.0.10

func (c *Client) ResendVerifiedSenderRequest(ctx context.Context, id int64) error

func (*Client) UpdateAPIKeyName added in v0.0.2

func (c *Client) UpdateAPIKeyName(ctx context.Context, apiKeyId string, input *InputUpdateAPIKeyName) (*OutputUpdateAPIKeyName, error)

func (*Client) UpdateAPIKeyNameAndScopes added in v0.0.2

func (c *Client) UpdateAPIKeyNameAndScopes(ctx context.Context, apiKeyId string, input *InputUpdateAPIKeyNameAndScopes) (*OutputUpdateAPIKeyNameAndScopes, error)
func (c *Client) UpdateBrandedLink(ctx context.Context, id int64, input *InputUpdateBrandedLink) (*OutputUpdateBrandedLink, error)

func (*Client) UpdateDomainAuthentication added in v0.0.6

func (c *Client) UpdateDomainAuthentication(ctx context.Context, domainId int64, input *InputUpdateDomainAuthentication) (*OutputUpdateDomainAuthentication, error)

func (*Client) UpdateSubuserIps added in v0.0.3

func (c *Client) UpdateSubuserIps(ctx context.Context, username string, ips []string) error

func (*Client) UpdateSubuserStatus added in v0.0.3

func (c *Client) UpdateSubuserStatus(ctx context.Context, username string, input *InputUpdateSubuserStatus) error

func (*Client) UpdateTeammatePermissions

func (c *Client) UpdateTeammatePermissions(ctx context.Context, username string, input *InputUpdateTeammatePermissions) (*OutputUpdateTeammatePermissions, error)

func (*Client) UpdateVerifiedSender added in v0.0.10

func (c *Client) UpdateVerifiedSender(ctx context.Context, id int64, input *InputUpdateVerifiedSender) (*OutputUpdateVerifiedSender, error)
func (c *Client) ValidateBrandedLink(ctx context.Context, id int64) (*OutputValidateBrandedLink, error)

func (*Client) ValidateDomainAuthentication added in v0.0.6

func (c *Client) ValidateDomainAuthentication(ctx context.Context, domainId int64) (*OutputValidateDomainAuthentication, error)

func (*Client) VerifySenderRequest added in v0.0.10

func (c *Client) VerifySenderRequest(ctx context.Context, token string) error

type CompletedStepsVerifiedSender added in v0.0.10

type CompletedStepsVerifiedSender struct {
	SenderVerified bool `json:"sender_verified,omitempty"`
	DomainVerified bool `json:"domain_verified,omitempty"`
}

type CreditAllocation added in v0.0.3

type CreditAllocation struct {
	Type string `json:"type"`
}

type DNS added in v0.0.6

type DNS struct {
	MailCname Record `json:"mail_cname,omitempty"`
	Dkim1     Record `json:"dkim1,omitempty"`
	Dkim2     Record `json:"dkim2,omitempty"`
}
type DNSBrandedLink struct {
	DomainCname Record `json:"domain_cname,omitempty"`
	OwnerCname  Record `json:"owner_cname,omitempty"`
}

type Design added in v1.0.3

type Design struct {
	ID           string `json:"id,omitempty"`
	UpdatedAt    string `json:"updated_at,omitempty"`
	CreatedAt    string `json:"created_at,omitempty"`
	ThumbnailURL string `json:"thumbnail_url,omitempty"`
	Name         string `json:"name,omitempty"`
	Editor       string `json:"editor,omitempty"`
}

type DomainAuthentication added in v0.0.6

type DomainAuthentication struct {
	ID                      int64                         `json:"id,omitempty"`
	UserID                  int64                         `json:"user_id,omitempty"`
	Subdomain               string                        `json:"subdomain,omitempty"`
	Domain                  string                        `json:"domain,omitempty"`
	Username                string                        `json:"username,omitempty"`
	IPs                     []string                      `json:"ips,omitempty"`
	CustomSpf               bool                          `json:"custom_spf,omitempty"`
	Default                 bool                          `json:"default,omitempty"`
	Legacy                  bool                          `json:"legacy,omitempty"`
	AutomaticSecurity       bool                          `json:"automatic_security,omitempty"`
	Valid                   bool                          `json:"valid,omitempty"`
	DNS                     DNS                           `json:"dns,omitempty"`
	Subusers                []SubuserSenderAuthentication `json:"subusers,omitempty"`
	LastValidationAttemptAt int64                         `json:"last_validation_attempt_at,omitempty"`
}

type Error

type Error struct {
	Field   *string `json:"field,omitempty"`
	Message *string `json:"message,omitempty"`
}

Error is sendgrid error

type ErrorResponse

type ErrorResponse struct {
	Error string `json:"error"`
}

ErrorResponse is sendgrid error response

func (ErrorResponse) Err added in v0.0.16

func (t ErrorResponse) Err() error

Err : error

type ErrorsResponse added in v0.0.16

type ErrorsResponse struct {
	Errors []*Error `json:"errors"`
}

ErrorsResponse is sendgrid error response

func (ErrorsResponse) Errs added in v0.0.16

func (t ErrorsResponse) Errs() error

Errs : error list

type EventWebhook added in v1.0.2

type EventWebhook struct {
	ID               string `json:"id,omitempty"`
	Enabled          bool   `json:"enabled,omitempty"`
	URL              string `json:"url,omitempty"`
	GroupResubscribe bool   `json:"group_resubscribe,omitempty"`
	Delivered        bool   `json:"delivered,omitempty"`
	GroupUnsubscribe bool   `json:"group_unsubscribe,omitempty"`
	SpamReport       bool   `json:"spam_report,omitempty"`
	Bounce           bool   `json:"bounce,omitempty"`
	Deferred         bool   `json:"deferred,omitempty"`
	Unsubscribe      bool   `json:"unsubscribe,omitempty"`
	Processed        bool   `json:"processed,omitempty"`
	Open             bool   `json:"open,omitempty"`
	Click            bool   `json:"click,omitempty"`
	Dropped          bool   `json:"dropped,omitempty"`
	FriendlyName     string `json:"friendly_name,omitempty"`
	OAuthClientID    string `json:"oauth_client_id,omitempty"`
	OAuthTokenURL    string `json:"oauth_token_url,omitempty"`
	PublicKey        string `json:"public_key,omitempty"`
}

type InboundParseWebhook added in v1.1.1

type InboundParseWebhook struct {
	URL       string `json:"url,omitempty"`
	Hostname  string `json:"hostname,omitempty"`
	SpamCheck bool   `json:"spam_check,omitempty"`
	SendRaw   bool   `json:"send_raw,omitempty"`
}

type InputAddIPToAuthenticatedDomain added in v0.0.6

type InputAddIPToAuthenticatedDomain struct {
	IP string `json:"ip,omitempty"`
}

type InputAssociateAuthenticatedDomainWithSubuser added in v0.0.6

type InputAssociateAuthenticatedDomainWithSubuser struct {
	Username string `json:"username,omitempty"`
}

type InputAssociateBrandedLinkWithSubuser added in v0.0.7

type InputAssociateBrandedLinkWithSubuser struct {
	Username string `json:"username,omitempty"`
}

type InputAuthenticateDomain added in v0.0.6

type InputAuthenticateDomain struct {
	Domain             string   `json:"domain,omitempty"`
	Subdomain          string   `json:"subdomain,omitempty"`
	Username           string   `json:"username,omitempty"`
	IPs                []string `json:"ips,omitempty"`
	CustomSpf          bool     `json:"custom_spf,omitempty"`
	Default            bool     `json:"default,omitempty"`
	AutomaticSecurity  bool     `json:"automatic_security,omitempty"`
	CustomDkimSelector string   `json:"custom_dkim_selector,omitempty"`
}

type InputCreateAPIKey added in v0.0.2

type InputCreateAPIKey struct {
	Name   string   `json:"name,omitempty"`
	Scopes []string `json:"scopes,omitempty"`
}

type InputCreateAlert added in v1.4.0

type InputCreateAlert struct {
	Type       string `json:"type,omitempty"`
	EmailTo    string `json:"email_to,omitempty"`
	Frequency  string `json:"frequency,omitempty"`
	Percentage int64  `json:"percentage,omitempty"`
}
type InputCreateBrandedLink struct {
	Domain    string `json:"domain,omitempty"`
	Subdomain string `json:"subdomain,omitempty"`
	Default   bool   `json:"default"`
}

type InputCreateDesign added in v1.0.3

type InputCreateDesign struct {
	Name                 string   `json:"name,omitempty"`
	Editor               string   `json:"editor,omitempty"`
	HTMLContent          string   `json:"html_content,omitempty"`
	PlainContent         string   `json:"plain_content,omitempty"`
	GeneratePlainContent bool     `json:"generate_plain_content"`
	Subject              string   `json:"subject,omitempty"`
	Categories           []string `json:"categories,omitempty"`
}

type InputCreateEventWebhook added in v1.0.2

type InputCreateEventWebhook struct {
	Enabled           bool   `json:"enabled"`
	URL               string `json:"url,omitempty"`
	GroupResubscribe  bool   `json:"group_resubscribe"`
	Delivered         bool   `json:"delivered"`
	GroupUnsubscribe  bool   `json:"group_unsubscribe"`
	SpamReport        bool   `json:"spam_report"`
	Bounce            bool   `json:"bounce"`
	Deferred          bool   `json:"deferred"`
	Unsubscribe       bool   `json:"unsubscribe"`
	Processed         bool   `json:"processed"`
	Open              bool   `json:"open"`
	Click             bool   `json:"click"`
	Dropped           bool   `json:"dropped"`
	FriendlyName      string `json:"friendly_name,omitempty"`
	OAuthClientID     string `json:"oauth_client_id,omitempty"`
	OAuthClientSecret string `json:"oauth_client_secret,omitempty"`
	OAuthTokenURL     string `json:"oauth_token_url,omitempty"`
}

type InputCreateInboundParseWebhook added in v1.1.1

type InputCreateInboundParseWebhook struct {
	URL       string `json:"url,omitempty"`
	Hostname  string `json:"hostname,omitempty"`
	SpamCheck bool   `json:"spam_check"`
	SendRaw   bool   `json:"send_raw"`
}

type InputCreateReverseDNS added in v0.0.17

type InputCreateReverseDNS struct {
	IP        string `json:"ip,omitempty"`
	Subdomain string `json:"subdomain,omitempty"`
	Domain    string `json:"domain,omitempty"`
}

type InputCreateSSOCertificate added in v0.0.20

type InputCreateSSOCertificate struct {
	PublicCertificate string `json:"public_certificate,omitempty"`
	Enabled           bool   `json:"enabled"`
	IntegrationID     string `json:"integration_id,omitempty"`
}

type InputCreateSSOIntegration added in v0.0.19

type InputCreateSSOIntegration struct {
	Name                 string `json:"name,omitempty"`
	Enabled              bool   `json:"enabled"`
	SigninURL            string `json:"signin_url,omitempty"`
	SignoutURL           string `json:"signout_url,omitempty"`
	EntityID             string `json:"entity_id,omitempty"`
	CompletedIntegration bool   `json:"completed_integration"`
}

type InputCreateSSOTeammate added in v1.2.0

type InputCreateSSOTeammate struct {
	Email                      string               `json:"email"`
	FirstName                  string               `json:"first_name"`
	LastName                   string               `json:"last_name"`
	IsAdmin                    bool                 `json:"is_admin"`
	IsSSO                      bool                 `json:"is_sso"`
	Persona                    string               `json:"persona,omitempty"`
	Scopes                     []string             `json:"scopes,omitempty"`
	HasRestrictedSubuserAccess bool                 `json:"has_restricted_subuser_access,omitempty"`
	SubuserAccess              []InputSubuserAccess `json:"subuser_access,omitempty"`
}

type InputCreateSubuser added in v0.0.3

type InputCreateSubuser struct {
	Username string   `json:"username"`
	Email    string   `json:"email"`
	Password string   `json:"password"`
	Ips      []string `json:"ips"`
}

type InputCreateSuppressionGroup added in v0.0.13

type InputCreateSuppressionGroup struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	IsDefault   bool   `json:"is_default"`
}

type InputCreateTemplate added in v0.0.14

type InputCreateTemplate struct {
	Name       string `json:"name,omitempty"`
	Generation string `json:"generation,omitempty"`
}

type InputCreateTemplateVersion added in v0.0.14

type InputCreateTemplateVersion struct {
	Active               int    `json:"active,omitempty"`
	Name                 string `json:"name,omitempty"`
	HTMLContent          string `json:"html_content,omitempty"`
	PlainContent         string `json:"plain_content,omitempty"`
	GeneratePlainContent bool   `json:"generate_plain_content"`
	Subject              string `json:"subject,omitempty"`
	Editor               string `json:"editor,omitempty"`
	TestData             string `json:"test_data,omitempty"`
}

type InputCreateVerifiedSenderRequest added in v0.0.10

type InputCreateVerifiedSenderRequest struct {
	Nickname    string `json:"nickname,omitempty"`
	FromEmail   string `json:"from_email,omitempty"`
	FromName    string `json:"from_name,omitempty"`
	ReplyTo     string `json:"reply_to,omitempty"`
	ReplyToName string `json:"reply_to_name,omitempty"`
	Address     string `json:"address,omitempty"`
	Address2    string `json:"address2,omitempty"`
	State       string `json:"state,omitempty"`
	City        string `json:"city,omitempty"`
	Zip         string `json:"zip,omitempty"`
	Country     string `json:"country,omitempty"`
}

type InputDuplicateTemplate added in v0.0.14

type InputDuplicateTemplate struct {
	Name string `json:"name,omitempty"`
}

type InputGetAuthenticatedDomains added in v0.0.6

type InputGetAuthenticatedDomains struct {
	Limit           int
	Offset          int
	ExcludeSubusers bool
	Username        string
	Domain          string
}
type InputGetBrandedLinks struct {
	Limit int
}

type InputGetDefaultAuthentication added in v0.0.6

type InputGetDefaultAuthentication struct {
	Domain string
}

type InputGetReverseDNSs added in v0.0.17

type InputGetReverseDNSs struct {
	Limit  int    `json:"limit,omitempty"`
	Offset int    `json:"offset,omitempty"`
	IP     string `json:"ip,omitempty"`
}

type InputGetSSOIntegrations added in v0.0.19

type InputGetSSOIntegrations struct {
	Si bool `json:"si,omitempty"`
}

type InputGetSubusers added in v0.0.3

type InputGetSubusers struct {
	Username string
	Limit    int
	Offset   int
}

type InputGetTeammateSubuserAccess added in v1.3.0

type InputGetTeammateSubuserAccess struct {
	AfterSubuserID int64  `json:"after_subuser_id,omitempty"`
	Limit          int64  `json:"limit,omitempty"`
	Username       string `json:"username,omitempty"`
}

type InputGetTemplates added in v0.0.14

type InputGetTemplates struct {
	Generations string
	PageSize    int
	PageToken   string
}

type InputGetVerifiedSenders added in v0.0.10

type InputGetVerifiedSenders struct {
	Limit      int
	LastSeenID int
	ID         int64
}

type InputInviteTeammate

type InputInviteTeammate struct {
	Email   string   `json:"email"`
	IsAdmin bool     `json:"is_admin"`
	Scopes  []string `json:"scopes"`
}

type InputSubuserAccess added in v1.2.0

type InputSubuserAccess struct {
	ID             int64    `json:"id,omitempty"`
	PermissionType string   `json:"permission_type,omitempty"`
	Scopes         []string `json:"scopes,omitempty"`
}

type InputUpdateAPIKeyName added in v0.0.2

type InputUpdateAPIKeyName struct {
	Name string `json:"name"`
}

type InputUpdateAPIKeyNameAndScopes added in v0.0.2

type InputUpdateAPIKeyNameAndScopes struct {
	Name   string   `json:"name"`
	Scopes []string `json:"scopes,omitempty"`
}

type InputUpdateAlert added in v1.4.0

type InputUpdateAlert struct {
	EmailTo    string `json:"email_to,omitempty"`
	Frequency  string `json:"frequency,omitempty"`
	Percentage int64  `json:"percentage,omitempty"`
}
type InputUpdateBrandedLink struct {
	Default bool `json:"default"`
}

type InputUpdateClickTrackingSettings added in v0.0.18

type InputUpdateClickTrackingSettings struct {
	Enabled bool `json:"enabled"`
}

type InputUpdateDesign added in v1.0.3

type InputUpdateDesign struct {
	Name                 string   `json:"name,omitempty"`
	HTMLContent          string   `json:"html_content,omitempty"`
	PlainContent         string   `json:"plain_content,omitempty"`
	GeneratePlainContent bool     `json:"generate_plain_content"`
	Subject              string   `json:"subject,omitempty"`
	Categories           []string `json:"categories,omitempty"`
}

type InputUpdateDomainAuthentication added in v0.0.6

type InputUpdateDomainAuthentication struct {
	Default   bool `json:"default"`
	CustomSpf bool `json:"custom_spf"`
}

type InputUpdateEnforceTLS added in v0.0.15

type InputUpdateEnforceTLS struct {
	RequireTLS       bool    `json:"require_tls"`
	RequireValidCert bool    `json:"require_valid_cert"`
	Version          float64 `json:"version,omitempty"`
}

type InputUpdateEventWebhook added in v1.0.2

type InputUpdateEventWebhook struct {
	Enabled           bool   `json:"enabled"`
	URL               string `json:"url,omitempty"`
	GroupResubscribe  bool   `json:"group_resubscribe"`
	Delivered         bool   `json:"delivered"`
	GroupUnsubscribe  bool   `json:"group_unsubscribe"`
	SpamReport        bool   `json:"spam_report"`
	Bounce            bool   `json:"bounce"`
	Deferred          bool   `json:"deferred"`
	Unsubscribe       bool   `json:"unsubscribe"`
	Processed         bool   `json:"processed"`
	Open              bool   `json:"open"`
	Click             bool   `json:"click"`
	Dropped           bool   `json:"dropped"`
	FriendlyName      string `json:"friendly_name,omitempty"`
	OAuthClientID     string `json:"oauth_client_id,omitempty"`
	OAuthClientSecret string `json:"oauth_client_secret,omitempty"`
	OAuthTokenURL     string `json:"oauth_token_url,omitempty"`
}

type InputUpdateGoogleAnalyticsSettings added in v0.0.18

type InputUpdateGoogleAnalyticsSettings struct {
	Enabled     bool   `json:"enabled"`
	UTMCampaign string `json:"utm_campaign,omitempty"`
	UTMContent  string `json:"utm_content,omitempty"`
	UTMMedium   string `json:"utm_medium,omitempty"`
	UTMSource   string `json:"utm_source,omitempty"`
	UTMTerm     string `json:"utm_term,omitempty"`
}

type InputUpdateInboundParseWebhook added in v1.1.1

type InputUpdateInboundParseWebhook struct {
	URL       string `json:"url,omitempty"`
	SpamCheck bool   `json:"spam_check"`
	SendRaw   bool   `json:"send_raw"`
}

type InputUpdateOpenTrackingSettings added in v0.0.18

type InputUpdateOpenTrackingSettings struct {
	Enabled bool `json:"enabled"`
}

type InputUpdateSSOCertificate added in v0.0.19

type InputUpdateSSOCertificate struct {
	PublicCertificate string `json:"public_certificate,omitempty"`
	Enabled           bool   `json:"enabled"`
	IntegrationID     string `json:"integration_id,omitempty"`
}

type InputUpdateSSOIntegration added in v0.0.19

type InputUpdateSSOIntegration struct {
	Name                 string `json:"name,omitempty"`
	Enabled              bool   `json:"enabled"`
	SigninURL            string `json:"signin_url,omitempty"`
	SignoutURL           string `json:"signout_url,omitempty"`
	EntityID             string `json:"entity_id,omitempty"`
	CompletedIntegration bool   `json:"completed_integration"`
}

type InputUpdateSSOTeammate added in v1.2.0

type InputUpdateSSOTeammate struct {
	FirstName                  string               `json:"first_name"`
	LastName                   string               `json:"last_name"`
	IsAdmin                    bool                 `json:"is_admin"`
	Persona                    string               `json:"persona,omitempty"`
	Scopes                     []string             `json:"scopes,omitempty"`
	HasRestrictedSubuserAccess bool                 `json:"has_restricted_subuser_access,omitempty"`
	SubuserAccess              []InputSubuserAccess `json:"subuser_access,omitempty"`
}

type InputUpdateSubscriptionTrackingSettings added in v0.0.18

type InputUpdateSubscriptionTrackingSettings struct {
	Enabled      bool   `json:"enabled"`
	HTMLContent  string `json:"html_content,omitempty"`
	Landing      string `json:"landing,omitempty"`
	PlainContent string `json:"plain_content,omitempty"`
	Replace      string `json:"replace,omitempty"`
	URL          string `json:"url,omitempty"`
}

type InputUpdateSubuserStatus added in v0.0.3

type InputUpdateSubuserStatus struct {
	Disabled bool `json:"disabled"`
}

type InputUpdateSuppressionGroup added in v0.0.13

type InputUpdateSuppressionGroup struct {
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	IsDefault   bool   `json:"is_default"`
}

type InputUpdateTeammatePermissions

type InputUpdateTeammatePermissions struct {
	IsAdmin bool     `json:"is_admin"`
	Scopes  []string `json:"scopes"`
}

type InputUpdateTemplate added in v0.0.14

type InputUpdateTemplate struct {
	Name string `json:"name,omitempty"`
}

type InputUpdateTemplateVersion added in v0.0.14

type InputUpdateTemplateVersion struct {
	Active               int    `json:"active,omitempty"`
	Name                 string `json:"name,omitempty"`
	HTMLContent          string `json:"html_content,omitempty"`
	PlainContent         string `json:"plain_content,omitempty"`
	GeneratePlainContent bool   `json:"generate_plain_content"`
	Subject              string `json:"subject,omitempty"`
	Editor               string `json:"editor,omitempty"`
	TestData             string `json:"test_data,omitempty"`
}

type InputUpdateVerifiedSender added in v0.0.10

type InputUpdateVerifiedSender struct {
	Nickname    string `json:"nickname,omitempty"`
	FromEmail   string `json:"from_email,omitempty"`
	FromName    string `json:"from_name,omitempty"`
	ReplyTo     string `json:"reply_to,omitempty"`
	ReplyToName string `json:"reply_to_name,omitempty"`
	Address     string `json:"address,omitempty"`
	Address2    string `json:"address2,omitempty"`
	State       string `json:"state,omitempty"`
	City        string `json:"city,omitempty"`
	Zip         string `json:"zip,omitempty"`
	Country     string `json:"country,omitempty"`
}

type Member added in v1.2.1

type Member struct {
	Teammate

	Company string   `json:"company,omitempty"`
	IsSSO   bool     `json:"is_sso,omitempty"`
	Scopes  []string `json:"scopes,omitempty"`
}

consolidating normal teammate and SSO teammate fields

type Metadata added in v0.0.14

type Metadata struct {
	Prev  string `json:"prev,omitempty"`
	Self  string `json:"self,omitempty"`
	Next  string `json:"next,omitempty"`
	Count int    `json:"count,omitempty"`
}

type MetadataGetTeammateSubuserAccess added in v1.3.0

type MetadataGetTeammateSubuserAccess struct {
	NextParams NextParams `json:"next_params,omitempty"`
}

type NextParams added in v1.3.0

type NextParams struct {
	Limit          int64  `json:"limit"`
	AfterSubuserID int64  `json:"after_subuser_id,omitempty"`
	Username       string `json:"username,omitempty"`
}

type Option

type Option func(*Client)

Option defines an option for a Client

type OutputActivateTemplateVersion added in v0.0.14

type OutputActivateTemplateVersion struct {
	ID                   string    `json:"id,omitempty"`
	TemplateID           string    `json:"template_id,omitempty"`
	Active               int       `json:"active,omitempty"`
	Name                 string    `json:"name,omitempty"`
	HTMLContent          string    `json:"html_content,omitempty"`
	PlainContent         string    `json:"plain_content,omitempty"`
	GeneratePlainContent bool      `json:"generate_plain_content,omitempty"`
	Subject              string    `json:"subject,omitempty"`
	Editor               string    `json:"editor,omitempty"`
	TestData             string    `json:"test_data,omitempty"`
	UpdatedAt            string    `json:"updated_at,omitempty"`
	Warnings             []Warning `json:"warnings,omitempty"`
	ThumbnailURL         string    `json:"thumbnail_url,omitempty"`
}

type OutputAddIPToAuthenticatedDomain added in v0.0.6

type OutputAddIPToAuthenticatedDomain struct {
	ID                      int64    `json:"id,omitempty"`
	UserID                  int64    `json:"user_id,omitempty"`
	Subdomain               string   `json:"subdomain,omitempty"`
	Domain                  string   `json:"domain,omitempty"`
	Username                string   `json:"username,omitempty"`
	IPs                     []string `json:"ips,omitempty"`
	CustomSpf               bool     `json:"custom_spf,omitempty"`
	Default                 bool     `json:"default,omitempty"`
	Legacy                  bool     `json:"legacy,omitempty"`
	AutomaticSecurity       bool     `json:"automatic_security,omitempty"`
	Valid                   bool     `json:"valid,omitempty"`
	DNS                     DNS      `json:"dns,omitempty"`
	LastValidationAttemptAt int64    `json:"last_validation_attempt_at,omitempty"`
}

type OutputAssociateAuthenticatedDomainWithSubuser added in v0.0.6

type OutputAssociateAuthenticatedDomainWithSubuser struct {
	ID                      int64    `json:"id,omitempty"`
	UserID                  int64    `json:"user_id,omitempty"`
	Subdomain               string   `json:"subdomain,omitempty"`
	Domain                  string   `json:"domain,omitempty"`
	Username                string   `json:"username,omitempty"`
	IPs                     []string `json:"ips,omitempty"`
	CustomSpf               bool     `json:"custom_spf,omitempty"`
	Default                 bool     `json:"default,omitempty"`
	Legacy                  bool     `json:"legacy,omitempty"`
	AutomaticSecurity       bool     `json:"automatic_security,omitempty"`
	Valid                   bool     `json:"valid,omitempty"`
	DNS                     DNS      `json:"dns,omitempty"`
	LastValidationAttemptAt int64    `json:"last_validation_attempt_at,omitempty"`
}

type OutputAssociateBrandedLinkWithSubuser added in v0.0.7

type OutputAssociateBrandedLinkWithSubuser struct {
	ID        int64          `json:"id,omitempty"`
	Domain    string         `json:"domain,omitempty"`
	Subdomain string         `json:"subdomain,omitempty"`
	Username  string         `json:"username,omitempty"`
	UserID    int64          `json:"user_id,omitempty"`
	Default   bool           `json:"default,omitempty"`
	Valid     bool           `json:"valid,omitempty"`
	Legacy    bool           `json:"legacy,omitempty"`
	DNS       DNSBrandedLink `json:"dns,omitempty"`
}

type OutputAuthenticateDomain added in v0.0.6

type OutputAuthenticateDomain struct {
	ID                int64    `json:"id,omitempty"`
	UserID            int64    `json:"user_id,omitempty"`
	Subdomain         string   `json:"subdomain,omitempty"`
	Domain            string   `json:"domain,omitempty"`
	Username          string   `json:"username,omitempty"`
	IPs               []string `json:"ips,omitempty"`
	CustomSpf         bool     `json:"custom_spf,omitempty"`
	Default           bool     `json:"default,omitempty"`
	Legacy            bool     `json:"legacy,omitempty"`
	AutomaticSecurity bool     `json:"automatic_security,omitempty"`
	Valid             bool     `json:"valid,omitempty"`
	DNS               DNS      `json:"dns,omitempty"`
}

type OutputCompletedStepsVerifiedSender added in v0.0.10

type OutputCompletedStepsVerifiedSender struct {
	CompletedStepsVerifiedSender *CompletedStepsVerifiedSender `json:"results,omitempty"`
}

type OutputCreateAPIKey added in v0.0.2

type OutputCreateAPIKey struct {
	ApiKey   string   `json:"api_key,omitempty"`
	ApiKeyId string   `json:"api_key_id,omitempty"`
	Name     string   `json:"name,omitempty"`
	Scopes   []string `json:"scopes,omitempty"`
}

type OutputCreateAlert added in v1.4.0

type OutputCreateAlert struct {
	ID         int64  `json:"id,omitempty"`
	EmailTo    string `json:"email_to,omitempty"`
	Frequency  string `json:"frequency,omitempty"`
	Type       string `json:"type,omitempty"`
	Percentage int64  `json:"percentage,omitempty"`
	CreatedAt  int64  `json:"created_at,omitempty"`
	UpdatedAt  int64  `json:"updated_at,omitempty"`
}
type OutputCreateBrandedLink struct {
	ID        int64          `json:"id,omitempty"`
	Domain    string         `json:"domain,omitempty"`
	Subdomain string         `json:"subdomain,omitempty"`
	Username  string         `json:"username,omitempty"`
	UserID    int64          `json:"user_id,omitempty"`
	Default   bool           `json:"default,omitempty"`
	Valid     bool           `json:"valid,omitempty"`
	Legacy    bool           `json:"legacy,omitempty"`
	DNS       DNSBrandedLink `json:"dns,omitempty"`
}

type OutputCreateDesign added in v1.0.3

type OutputCreateDesign struct {
	ID                   string   `json:"id,omitempty"`
	UpdatedAt            string   `json:"updated_at,omitempty"`
	CreatedAt            string   `json:"created_at,omitempty"`
	ThumbnailURL         string   `json:"thumbnail_url,omitempty"`
	Name                 string   `json:"name,omitempty"`
	Editor               string   `json:"editor,omitempty"`
	HTMLContent          string   `json:"html_content,omitempty"`
	PlainContent         string   `json:"plain_content,omitempty"`
	GeneratePlainContent bool     `json:"generate_plain_content,omitempty"`
	Subject              string   `json:"subject,omitempty"`
	Categories           []string `json:"categories,omitempty"`
}

type OutputCreateEventWebhook added in v1.0.2

type OutputCreateEventWebhook struct {
	ID                  string `json:"id,omitempty"`
	Enabled             bool   `json:"enabled,omitempty"`
	URL                 string `json:"url,omitempty"`
	AccountStatusChange bool   `json:"account_status_change,omitempty"`
	GroupResubscribe    bool   `json:"group_resubscribe,omitempty"`
	Delivered           bool   `json:"delivered,omitempty"`
	GroupUnsubscribe    bool   `json:"group_unsubscribe,omitempty"`
	SpamReport          bool   `json:"spam_report,omitempty"`
	Bounce              bool   `json:"bounce,omitempty"`
	Deferred            bool   `json:"deferred,omitempty"`
	Unsubscribe         bool   `json:"unsubscribe,omitempty"`
	Processed           bool   `json:"processed,omitempty"`
	Open                bool   `json:"open,omitempty"`
	Click               bool   `json:"click,omitempty"`
	Dropped             bool   `json:"dropped,omitempty"`
	FriendlyName        string `json:"friendly_name,omitempty"`
	CreatedDate         string `json:"created_date,omitempty"`
	UpdatedDate         string `json:"updated_date,omitempty"`
	OAuthClientID       string `json:"oauth_client_id,omitempty"`
	OAuthTokenURL       string `json:"oauth_token_url,omitempty"`
}

type OutputCreateInboundParseWebhook added in v1.1.1

type OutputCreateInboundParseWebhook struct {
	URL       string `json:"url,omitempty"`
	Hostname  string `json:"hostname,omitempty"`
	SpamCheck bool   `json:"spam_check,omitempty"`
	SendRaw   bool   `json:"send_raw,omitempty"`
}

type OutputCreateReverseDNS added in v0.0.17

type OutputCreateReverseDNS struct {
	ID                      int64   `json:"id,omitempty"`
	IP                      string  `json:"ip,omitempty"`
	RDNS                    string  `json:"rdns,omitempty"`
	Users                   []*User `json:"users,omitempty"`
	Subdomain               string  `json:"subdomain,omitempty"`
	Domain                  string  `json:"domain,omitempty"`
	Valid                   bool    `json:"valid,omitempty"`
	Legacy                  bool    `json:"legacy,omitempty"`
	LastValidationAttemptAt int64   `json:"last_validation_attempt_at,omitempty"`
	ARecord                 ARecord `json:"a_record,omitempty"`
}

type OutputCreateSSOCertificate added in v0.0.20

type OutputCreateSSOCertificate struct {
	ID                int64  `json:"id,omitempty"`
	PublicCertificate string `json:"public_certificate,omitempty"`
	NotBefore         int64  `json:"not_before,omitempty"`
	NotAfter          int64  `json:"not_after,omitempty"`
	IntegrationID     string `json:"integration_id,omitempty"`
}

type OutputCreateSSOIntegration added in v0.0.19

type OutputCreateSSOIntegration struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Enabled              bool   `json:"enabled,omitempty"`
	SigninURL            string `json:"signin_url,omitempty"`
	SignoutURL           string `json:"signout_url,omitempty"`
	EntityID             string `json:"entity_id,omitempty"`
	CompletedIntegration bool   `json:"completed_integration,omitempty"`
	LastUpdated          int64  `json:"last_updated,omitempty"`
	SingleSignonURL      string `json:"single_signon_url,omitempty"`
	AudienceURL          string `json:"audience_url,omitempty"`
}

type OutputCreateSSOTeammate added in v1.2.0

type OutputCreateSSOTeammate struct {
	FirstName                  string                `json:"first_name,omitempty"`
	LastName                   string                `json:"last_name,omitempty"`
	Email                      string                `json:"email,omitempty"`
	IsAdmin                    bool                  `json:"is_admin,omitempty"`
	IsSSO                      bool                  `json:"is_sso,omitempty"`
	Scopes                     []string              `json:"scopes,omitempty"`
	HasRestrictedSubuserAccess bool                  `json:"has_restricted_subuser_access,omitempty"`
	SubuserAccess              []OutputSubuserAccess `json:"subuser_access,omitempty"`
}

type OutputCreateSubuser added in v0.0.3

type OutputCreateSubuser struct {
	UserID             int64            `json:"user_id"`
	Username           string           `json:"username"`
	Email              string           `json:"email"`
	SignupSessionToken string           `json:"signup_session_token"`
	AuthorizationToken string           `json:"authorization_token"`
	CreditAllocation   CreditAllocation `json:"credit_allocation"`
}

type OutputCreateSuppressionGroup added in v0.0.13

type OutputCreateSuppressionGroup struct {
	ID          int64  `json:"id,omitempty"`
	Name        string `json:"name,omitempty"`
	Description string `json:"description,omitempty"`
	IsDefault   bool   `json:"is_default,omitempty"`
}

type OutputCreateTemplate added in v0.0.14

type OutputCreateTemplate struct {
	ID         string    `json:"id,omitempty"`
	Name       string    `json:"name,omitempty"`
	Generation string    `json:"generation,omitempty"`
	UpdatedAt  string    `json:"updated_at,omitempty"`
	Versions   []Version `json:"versions,omitempty"`
	Warning    Warning   `json:"warning,omitempty"`
}

type OutputCreateTemplateVersion added in v0.0.14

type OutputCreateTemplateVersion struct {
	ID                   string    `json:"id,omitempty"`
	TemplateID           string    `json:"template_id,omitempty"`
	Active               int       `json:"active,omitempty"`
	Name                 string    `json:"name,omitempty"`
	HTMLContent          string    `json:"html_content,omitempty"`
	PlainContent         string    `json:"plain_content,omitempty"`
	GeneratePlainContent bool      `json:"generate_plain_content,omitempty"`
	Subject              string    `json:"subject,omitempty"`
	Editor               string    `json:"editor,omitempty"`
	TestData             string    `json:"test_data,omitempty"`
	UpdatedAt            string    `json:"updated_at,omitempty"`
	Warnings             []Warning `json:"warnings,omitempty"`
	ThumbnailURL         string    `json:"thumbnail_url,omitempty"`
}

type OutputCreateVerifiedSenderRequest added in v0.0.10

type OutputCreateVerifiedSenderRequest struct {
	ID          int64  `json:"id,omitempty"`
	Nickname    string `json:"nickname,omitempty"`
	FromEmail   string `json:"from_email,omitempty"`
	FromName    string `json:"from_name,omitempty"`
	ReplyTo     string `json:"reply_to,omitempty"`
	ReplyToName string `json:"reply_to_name,omitempty"`
	Address     string `json:"address,omitempty"`
	Address2    string `json:"address2,omitempty"`
	State       string `json:"state,omitempty"`
	City        string `json:"city,omitempty"`
	Zip         string `json:"zip,omitempty"`
	Country     string `json:"country,omitempty"`
	Verified    bool   `json:"verified,omitempty"`
	Locked      bool   `json:"locked,omitempty"`
}

type OutputDuplicateTemplate added in v0.0.14

type OutputDuplicateTemplate struct {
	ID         string    `json:"id,omitempty"`
	Name       string    `json:"name,omitempty"`
	Generation string    `json:"generation,omitempty"`
	UpdatedAt  string    `json:"updated_at,omitempty"`
	Versions   []Version `json:"versions,omitempty"`
	Warning    Warning   `json:"warning,omitempty"`
}

type OutputGetAPIKey added in v0.0.2

type OutputGetAPIKey struct {
	ApiKeyId string   `json:"api_key_id,omitempty"`
	Name     string   `json:"name,omitempty"`
	Scopes   []string `json:"scopes,omitempty"`
}

type OutputGetAPIKeys added in v0.0.2

type OutputGetAPIKeys struct {
	APIKeys []APIKey `json:"result,omitempty"`
}

type OutputGetAlert added in v1.4.0

type OutputGetAlert struct {
	ID         int64  `json:"id,omitempty"`
	EmailTo    string `json:"email_to,omitempty"`
	Frequency  string `json:"frequency,omitempty"`
	Type       string `json:"type,omitempty"`
	Percentage int64  `json:"percentage,omitempty"`
	CreatedAt  int64  `json:"created_at,omitempty"`
	UpdatedAt  int64  `json:"updated_at,omitempty"`
}

type OutputGetAuthenticatedDomain added in v0.0.6

type OutputGetAuthenticatedDomain struct {
	ID                int64    `json:"id,omitempty"`
	UserID            int64    `json:"user_id,omitempty"`
	Subdomain         string   `json:"subdomain,omitempty"`
	Domain            string   `json:"domain,omitempty"`
	Username          string   `json:"username,omitempty"`
	IPs               []string `json:"ips,omitempty"`
	CustomSpf         bool     `json:"custom_spf,omitempty"`
	Default           bool     `json:"default,omitempty"`
	Legacy            bool     `json:"legacy,omitempty"`
	AutomaticSecurity bool     `json:"automatic_security,omitempty"`
	Valid             bool     `json:"valid,omitempty"`
	DNS               DNS      `json:"dns,omitempty"`
}

type OutputGetAuthenticatedDomainAssociatedWithSubuser added in v0.0.6

type OutputGetAuthenticatedDomainAssociatedWithSubuser struct {
	ID                      int64    `json:"id,omitempty"`
	UserID                  int64    `json:"user_id,omitempty"`
	Subdomain               string   `json:"subdomain,omitempty"`
	Domain                  string   `json:"domain,omitempty"`
	Username                string   `json:"username,omitempty"`
	IPs                     []string `json:"ips,omitempty"`
	CustomSpf               bool     `json:"custom_spf,omitempty"`
	Default                 bool     `json:"default,omitempty"`
	Legacy                  bool     `json:"legacy,omitempty"`
	AutomaticSecurity       bool     `json:"automatic_security,omitempty"`
	Valid                   bool     `json:"valid,omitempty"`
	DNS                     DNS      `json:"dns,omitempty"`
	LastValidationAttemptAt int64    `json:"last_validation_attempt_at,omitempty"`
}
type OutputGetBrandedLink struct {
	ID        int64          `json:"id,omitempty"`
	Domain    string         `json:"domain,omitempty"`
	Subdomain string         `json:"subdomain,omitempty"`
	Username  string         `json:"username,omitempty"`
	UserID    int64          `json:"user_id,omitempty"`
	Default   bool           `json:"default,omitempty"`
	Valid     bool           `json:"valid,omitempty"`
	Legacy    bool           `json:"legacy,omitempty"`
	DNS       DNSBrandedLink `json:"dns,omitempty"`
}

type OutputGetClickTrackingSettings added in v0.0.18

type OutputGetClickTrackingSettings struct {
	EnableText bool `json:"enable_text,omitempty"`
	Enabled    bool `json:"enabled,omitempty"`
}

type OutputGetDefaultAuthentication added in v0.0.6

type OutputGetDefaultAuthentication struct {
	ID                      int64                         `json:"id,omitempty"`
	UserID                  int64                         `json:"user_id,omitempty"`
	Subdomain               string                        `json:"subdomain,omitempty"`
	Domain                  string                        `json:"domain,omitempty"`
	Username                string                        `json:"username,omitempty"`
	IPs                     []string                      `json:"ips,omitempty"`
	CustomSpf               bool                          `json:"custom_spf,omitempty"`
	Default                 bool                          `json:"default,omitempty"`
	Legacy                  bool                          `json:"legacy,omitempty"`
	AutomaticSecurity       bool                          `json:"automatic_security,omitempty"`
	Valid                   bool                          `json:"valid,omitempty"`
	DNS                     DNS                           `json:"dns,omitempty"`
	Subusers                []SubuserSenderAuthentication `json:"subusers,omitempty"`
	LastValidationAttemptAt int64                         `json:"last_validation_attempt_at,omitempty"`
}
type OutputGetDefaultBrandedLink struct {
	ID        int64          `json:"id,omitempty"`
	Domain    string         `json:"domain,omitempty"`
	Subdomain string         `json:"subdomain,omitempty"`
	Username  string         `json:"username,omitempty"`
	UserID    int64          `json:"user_id,omitempty"`
	Default   bool           `json:"default,omitempty"`
	Valid     bool           `json:"valid,omitempty"`
	Legacy    bool           `json:"legacy,omitempty"`
	DNS       DNSBrandedLink `json:"dns,omitempty"`
}

type OutputGetDesign added in v1.0.3

type OutputGetDesign struct {
	ID                   string   `json:"id,omitempty"`
	UpdatedAt            string   `json:"updated_at,omitempty"`
	CreatedAt            string   `json:"created_at,omitempty"`
	ThumbnailURL         string   `json:"thumbnail_url,omitempty"`
	Name                 string   `json:"name,omitempty"`
	Editor               string   `json:"editor,omitempty"`
	HTMLContent          string   `json:"html_content,omitempty"`
	PlainContent         string   `json:"plain_content,omitempty"`
	GeneratePlainContent bool     `json:"generate_plain_content,omitempty"`
	Subject              string   `json:"subject,omitempty"`
	Categories           []string `json:"categories,omitempty"`
}

type OutputGetDesigns added in v1.0.3

type OutputGetDesigns struct {
	Result   []*Design `json:"result,omitempty"`
	Metadata _Metadata `json:"_metadata,omitempty"`
}

type OutputGetEnforceTLS added in v0.0.15

type OutputGetEnforceTLS struct {
	RequireTLS       bool    `json:"require_tls,omitempty"`
	RequireValidCert bool    `json:"require_valid_cert,omitempty"`
	Version          float64 `json:"version,omitempty"`
}

type OutputGetEventWebhook added in v1.0.2

type OutputGetEventWebhook struct {
	ID               string `json:"id,omitempty"`
	Enabled          bool   `json:"enabled,omitempty"`
	URL              string `json:"url,omitempty"`
	GroupResubscribe bool   `json:"group_resubscribe,omitempty"`
	Delivered        bool   `json:"delivered,omitempty"`
	GroupUnsubscribe bool   `json:"group_unsubscribe,omitempty"`
	SpamReport       bool   `json:"spam_report,omitempty"`
	Bounce           bool   `json:"bounce,omitempty"`
	Deferred         bool   `json:"deferred,omitempty"`
	Unsubscribe      bool   `json:"unsubscribe,omitempty"`
	Processed        bool   `json:"processed,omitempty"`
	Open             bool   `json:"open,omitempty"`
	Click            bool   `json:"click,omitempty"`
	Dropped          bool   `json:"dropped,omitempty"`
	FriendlyName     string `json:"friendly_name,omitempty"`
	OAuthClientID    string `json:"oauth_client_id,omitempty"`
	OAuthTokenURL    string `json:"oauth_token_url,omitempty"`
	PublicKey        string `json:"public_key,omitempty"`
}

type OutputGetEventWebhooks added in v1.0.2

type OutputGetEventWebhooks struct {
	MaxAllowed int             `json:"max_allowed,omitempty"`
	Webhooks   []*EventWebhook `json:"webhooks,omitempty"`
}

type OutputGetGoogleAnalyticsSettings added in v0.0.18

type OutputGetGoogleAnalyticsSettings struct {
	Enabled     bool   `json:"enabled,omitempty"`
	UTMCampaign string `json:"utm_campaign,omitempty"`
	UTMContent  string `json:"utm_content,omitempty"`
	UTMMedium   string `json:"utm_medium,omitempty"`
	UTMSource   string `json:"utm_source,omitempty"`
	UTMTerm     string `json:"utm_term,omitempty"`
}

type OutputGetInboundParseWebhook added in v1.1.1

type OutputGetInboundParseWebhook struct {
	URL       string `json:"url,omitempty"`
	Hostname  string `json:"hostname,omitempty"`
	SpamCheck bool   `json:"spam_check,omitempty"`
	SendRaw   bool   `json:"send_raw,omitempty"`
}

type OutputGetInboundParseWebhooks added in v1.1.1

type OutputGetInboundParseWebhooks struct {
	Result []*InboundParseWebhook `json:"result,omitempty"`
}

type OutputGetOpenTrackingSettings added in v0.0.18

type OutputGetOpenTrackingSettings struct {
	Enabled bool `json:"enabled,omitempty"`
}

type OutputGetPendingTeammates

type OutputGetPendingTeammates struct {
	PendingTeammates []PendingTeammate `json:"result,omitempty"`
}

type OutputGetReverseDNS added in v0.0.17

type OutputGetReverseDNS struct {
	ID                      int64   `json:"id,omitempty"`
	IP                      string  `json:"ip,omitempty"`
	RDNS                    string  `json:"rdns,omitempty"`
	Users                   []*User `json:"users,omitempty"`
	Subdomain               string  `json:"subdomain,omitempty"`
	Domain                  string  `json:"domain,omitempty"`
	Valid                   bool    `json:"valid,omitempty"`
	Legacy                  bool    `json:"legacy,omitempty"`
	LastValidationAttemptAt int64   `json:"last_validation_attempt_at,omitempty"`
	ARecord                 ARecord `json:"a_record,omitempty"`
}

type OutputGetSSOCertificate added in v0.0.19

type OutputGetSSOCertificate struct {
	ID                int64  `json:"id,omitempty"`
	PublicCertificate string `json:"public_certificate,omitempty"`
	NotBefore         int64  `json:"not_before,omitempty"`
	NotAfter          int64  `json:"not_after,omitempty"`
	IntegrationID     string `json:"integration_id,omitempty"`
}

type OutputGetSSOIntegration added in v0.0.19

type OutputGetSSOIntegration struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Enabled              bool   `json:"enabled,omitempty"`
	SigninURL            string `json:"signin_url,omitempty"`
	SignoutURL           string `json:"signout_url,omitempty"`
	EntityID             string `json:"entity_id,omitempty"`
	CompletedIntegration bool   `json:"completed_integration,omitempty"`
	LastUpdated          int64  `json:"last_updated,omitempty"`
	SingleSignonURL      string `json:"single_signon_url,omitempty"`
	AudienceURL          string `json:"audience_url,omitempty"`
}

type OutputGetSubscriptionTrackingSettings added in v0.0.18

type OutputGetSubscriptionTrackingSettings struct {
	Enabled      bool   `json:"enabled,omitempty"`
	HTMLContent  string `json:"html_content,omitempty"`
	Landing      string `json:"landing,omitempty"`
	PlainContent string `json:"plain_content,omitempty"`
	Replace      string `json:"replace,omitempty"`
	URL          string `json:"url,omitempty"`
}
type OutputGetSubuserBrandedLink struct {
	ID        int64          `json:"id,omitempty"`
	Domain    string         `json:"domain,omitempty"`
	Subdomain string         `json:"subdomain,omitempty"`
	Username  string         `json:"username,omitempty"`
	UserID    int64          `json:"user_id,omitempty"`
	Default   bool           `json:"default,omitempty"`
	Valid     bool           `json:"valid,omitempty"`
	Legacy    bool           `json:"legacy,omitempty"`
	DNS       DNSBrandedLink `json:"dns,omitempty"`
}

type OutputGetTeammate

type OutputGetTeammate struct {
	Username  string   `json:"username,omitempty"`
	FirstName string   `json:"first_name,omitempty"`
	LastName  string   `json:"last_name,omitempty"`
	Email     string   `json:"email,omitempty"`
	Scopes    []string `json:"scopes,omitempty"`
	UserType  string   `json:"user_type,omitempty"`
	IsAdmin   bool     `json:"is_admin,omitempty"`
	Phone     string   `json:"phone,omitempty"`
	Website   string   `json:"website,omitempty"`
	Address   string   `json:"address,omitempty"`
	Address2  string   `json:"address2,omitempty"`
	City      string   `json:"city,omitempty"`
	State     string   `json:"state,omitempty"`
	Zip       string   `json:"zip,omitempty"`
	Country   string   `json:"country,omitempty"`
}

type OutputGetTeammateSubuserAccess added in v1.3.0

type OutputGetTeammateSubuserAccess struct {
	HasRestrictedSubuserAccess bool                             `json:"has_restricted_subuser_access,omitempty"`
	SubuserAccess              []SubuserAccess                  `json:"subuser_access,omitempty"`
	Metadata                   MetadataGetTeammateSubuserAccess `json:"_metadata,omitempty"`
}

type OutputGetTeammates

type OutputGetTeammates struct {
	Teammates []Teammate `json:"result,omitempty"`
}

type OutputGetTemplate added in v0.0.14

type OutputGetTemplate struct {
	ID         string    `json:"id,omitempty"`
	Name       string    `json:"name,omitempty"`
	Generation string    `json:"generation,omitempty"`
	UpdatedAt  string    `json:"updated_at,omitempty"`
	Versions   []Version `json:"versions,omitempty"`
	Warning    Warning   `json:"warning,omitempty"`
}

type OutputGetTemplateVersion added in v0.0.14

type OutputGetTemplateVersion struct {
	ID                   string  `json:"id,omitempty"`
	TemplateID           string  `json:"template_id,omitempty"`
	Active               int     `json:"active,omitempty"`
	Name                 string  `json:"name,omitempty"`
	HTMLContent          string  `json:"html_content,omitempty"`
	PlainContent         string  `json:"plain_content,omitempty"`
	GeneratePlainContent bool    `json:"generate_plain_content,omitempty"`
	Subject              string  `json:"subject,omitempty"`
	Editor               string  `json:"editor,omitempty"`
	TestData             string  `json:"test_data,omitempty"`
	UpdatedAt            string  `json:"updated_at,omitempty"`
	Warnings             Warning `json:"warnings,omitempty"`
	ThumbnailURL         string  `json:"thumbnail_url,omitempty"`
}

type OutputGetTemplates added in v0.0.14

type OutputGetTemplates struct {
	Templates []Template `json:"result,omitempty"`
	Metadata  Metadata   `json:"_metadata,omitempty"`
}

type OutputGetTrackingSettings added in v0.0.18

type OutputGetTrackingSettings struct {
	Result []*ResultGetTrackingSettings `json:"result,omitempty"`
}

type OutputGetVerifiedSenders added in v0.0.10

type OutputGetVerifiedSenders struct {
	VerifiedSenders []*VerifiedSender `json:"results,omitempty"`
}

type OutputInviteTeammate

type OutputInviteTeammate struct {
	Token   string   `json:"token,omitempty"`
	Email   string   `json:"email"`
	IsAdmin bool     `json:"is_admin"`
	Scopes  []string `json:"scopes"`
}

type OutputSubuserAccess added in v1.2.0

type OutputSubuserAccess struct {
	ID             int64    `json:"id,omitempty"`
	Username       int64    `json:"username,omitempty"`
	Email          string   `json:"email,omitempty"`
	Disabled       bool     `json:"disabled,omitempty"`
	PermissionType string   `json:"permission_type,omitempty"`
	Scopes         []string `json:"scopes,omitempty"`
}

type OutputUpdateAPIKeyName added in v0.0.2

type OutputUpdateAPIKeyName struct {
	ApiKeyId string `json:"api_key_id,omitempty"`
	Name     string `json:"name,omitempty"`
}

type OutputUpdateAPIKeyNameAndScopes added in v0.0.2

type OutputUpdateAPIKeyNameAndScopes struct {
	ApiKeyId string   `json:"api_key_id,omitempty"`
	Name     string   `json:"name"`
	Scopes   []string `json:"scopes,omitempty"`
}

type OutputUpdateAlert added in v1.4.0

type OutputUpdateAlert struct {
	ID         int64  `json:"id,omitempty"`
	EmailTo    string `json:"email_to,omitempty"`
	Frequency  string `json:"frequency,omitempty"`
	Type       string `json:"type,omitempty"`
	Percentage int64  `json:"percentage,omitempty"`
	CreatedAt  int64  `json:"created_at,omitempty"`
	UpdatedAt  int64  `json:"updated_at,omitempty"`
}
type OutputUpdateBrandedLink struct {
	ID        int64          `json:"id,omitempty"`
	Domain    string         `json:"domain,omitempty"`
	Subdomain string         `json:"subdomain,omitempty"`
	Username  string         `json:"username,omitempty"`
	UserID    int64          `json:"user_id,omitempty"`
	Default   bool           `json:"default,omitempty"`
	Valid     bool           `json:"valid,omitempty"`
	Legacy    bool           `json:"legacy,omitempty"`
	DNS       DNSBrandedLink `json:"dns,omitempty"`
}

type OutputUpdateClickTrackingSettings added in v0.0.18

type OutputUpdateClickTrackingSettings struct {
	EnableText bool `json:"enable_text,omitempty"`
	Enabled    bool `json:"enabled,omitempty"`
}

type OutputUpdateDesign added in v1.0.3

type OutputUpdateDesign struct {
	ID                   string   `json:"id,omitempty"`
	UpdatedAt            string   `json:"updated_at,omitempty"`
	CreatedAt            string   `json:"created_at,omitempty"`
	ThumbnailURL         string   `json:"thumbnail_url,omitempty"`
	Name                 string   `json:"name,omitempty"`
	Editor               string   `json:"editor,omitempty"`
	HTMLContent          string   `json:"html_content,omitempty"`
	PlainContent         string   `json:"plain_content,omitempty"`
	GeneratePlainContent bool     `json:"generate_plain_content,omitempty"`
	Subject              string   `json:"subject,omitempty"`
	Categories           []string `json:"categories,omitempty"`
}

type OutputUpdateDomainAuthentication added in v0.0.6

type OutputUpdateDomainAuthentication struct {
	ID                      int64                         `json:"id,omitempty"`
	UserID                  int64                         `json:"user_id,omitempty"`
	Subdomain               string                        `json:"subdomain,omitempty"`
	Domain                  string                        `json:"domain,omitempty"`
	Username                string                        `json:"username,omitempty"`
	IPs                     []string                      `json:"ips,omitempty"`
	CustomSpf               bool                          `json:"custom_spf,omitempty"`
	Default                 bool                          `json:"default,omitempty"`
	Legacy                  bool                          `json:"legacy,omitempty"`
	AutomaticSecurity       bool                          `json:"automatic_security,omitempty"`
	Valid                   bool                          `json:"valid,omitempty"`
	DNS                     DNS                           `json:"dns,omitempty"`
	Subusers                []SubuserSenderAuthentication `json:"subusers,omitempty"`
	LastValidationAttemptAt int64                         `json:"last_validation_attempt_at,omitempty"`
}

type OutputUpdateEnforceTLS added in v0.0.15

type OutputUpdateEnforceTLS struct {
	RequireTLS       bool    `json:"require_tls,omitempty"`
	RequireValidCert bool    `json:"require_valid_cert,omitempty"`
	Version          float64 `json:"version,omitempty"`
}

type OutputUpdateEventWebhook added in v1.0.2

type OutputUpdateEventWebhook struct {
	ID               string `json:"id,omitempty"`
	Enabled          bool   `json:"enabled,omitempty"`
	URL              string `json:"url,omitempty"`
	GroupResubscribe bool   `json:"group_resubscribe,omitempty"`
	Delivered        bool   `json:"delivered,omitempty"`
	GroupUnsubscribe bool   `json:"group_unsubscribe,omitempty"`
	SpamReport       bool   `json:"spam_report,omitempty"`
	Bounce           bool   `json:"bounce,omitempty"`
	Deferred         bool   `json:"deferred,omitempty"`
	Unsubscribe      bool   `json:"unsubscribe,omitempty"`
	Processed        bool   `json:"processed,omitempty"`
	Open             bool   `json:"open,omitempty"`
	Click            bool   `json:"click,omitempty"`
	Dropped          bool   `json:"dropped,omitempty"`
	FriendlyName     string `json:"friendly_name,omitempty"`
	CreatedDate      string `json:"created_date,omitempty"`
	UpdatedDate      string `json:"updated_date,omitempty"`
	OAuthClientID    string `json:"oauth_client_id,omitempty"`
	OAuthTokenURL    string `json:"oauth_token_url,omitempty"`
}

type OutputUpdateGoogleAnalyticsSettings added in v0.0.18

type OutputUpdateGoogleAnalyticsSettings struct {
	Enabled     bool   `json:"enabled,omitempty"`
	UTMCampaign string `json:"utm_campaign,omitempty"`
	UTMContent  string `json:"utm_content,omitempty"`
	UTMMedium   string `json:"utm_medium,omitempty"`
	UTMSource   string `json:"utm_source,omitempty"`
	UTMTerm     string `json:"utm_term,omitempty"`
}

type OutputUpdateInboundParseWebhook added in v1.1.1

type OutputUpdateInboundParseWebhook struct {
	URL       string `json:"url,omitempty"`
	Hostname  string `json:"hostname,omitempty"`
	SpamCheck bool   `json:"spam_check,omitempty"`
	SendRaw   bool   `json:"send_raw,omitempty"`
}

type OutputUpdateOpenTrackingSettings added in v0.0.18

type OutputUpdateOpenTrackingSettings struct {
	Enabled bool `json:"enabled,omitempty"`
}

type OutputUpdateSSOCertificate added in v0.0.19

type OutputUpdateSSOCertificate struct {
	ID                int64  `json:"id,omitempty"`
	PublicCertificate string `json:"public_certificate,omitempty"`
	NotBefore         int64  `json:"not_before,omitempty"`
	NotAfter          int64  `json:"not_after,omitempty"`
	IntegrationID     string `json:"integration_id,omitempty"`
}

type OutputUpdateSSOIntegration added in v0.0.19

type OutputUpdateSSOIntegration struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Enabled              bool   `json:"enabled,omitempty"`
	SigninURL            string `json:"signin_url,omitempty"`
	SignoutURL           string `json:"signout_url,omitempty"`
	EntityID             string `json:"entity_id,omitempty"`
	CompletedIntegration bool   `json:"completed_integration,omitempty"`
	LastUpdated          int64  `json:"last_updated,omitempty"`
	SingleSignonURL      string `json:"single_signon_url,omitempty"`
	AudienceURL          string `json:"audience_url,omitempty"`
}

type OutputUpdateSSOTeammate added in v1.2.0

type OutputUpdateSSOTeammate struct {
	Address                    string                `json:"address,omitempty"`
	Address2                   string                `json:"address2,omitempty"`
	City                       string                `json:"city,omitempty"`
	Company                    string                `json:"company,omitempty"`
	Country                    string                `json:"country,omitempty"`
	Username                   string                `json:"username,omitempty"`
	Phone                      string                `json:"phone,omitempty"`
	State                      string                `json:"state,omitempty"`
	UserType                   string                `json:"user_type,omitempty"`
	Website                    string                `json:"website,omitempty"`
	Zip                        string                `json:"zip,omitempty"`
	FirstName                  string                `json:"first_name,omitempty"`
	LastName                   string                `json:"last_name,omitempty"`
	Email                      string                `json:"email,omitempty"`
	IsAdmin                    bool                  `json:"is_admin,omitempty"`
	IsSSO                      bool                  `json:"is_sso,omitempty"`
	Scopes                     []string              `json:"scopes,omitempty"`
	HasRestrictedSubuserAccess bool                  `json:"has_restricted_subuser_access,omitempty"`
	SubuserAccess              []OutputSubuserAccess `json:"subuser_access,omitempty"`
}

type OutputUpdateSubscriptionTrackingSettings added in v0.0.18

type OutputUpdateSubscriptionTrackingSettings struct {
	Enabled      bool   `json:"enabled,omitempty"`
	HTMLContent  string `json:"html_content,omitempty"`
	Landing      string `json:"landing,omitempty"`
	PlainContent string `json:"plain_content,omitempty"`
	Replace      string `json:"replace,omitempty"`
	URL          string `json:"url,omitempty"`
}

type OutputUpdateSuppressionGroup added in v0.0.13

type OutputUpdateSuppressionGroup struct {
	ID              int64  `json:"id,omitempty"`
	Name            string `json:"name,omitempty"`
	Description     string `json:"description,omitempty"`
	IsDefault       bool   `json:"is_default,omitempty"`
	LastEmailSentAt string `json:"last_email_sent_at,omitempty"`
	Unsubscribes    int64  `json:"unsubscribes,omitempty"`
}

type OutputUpdateTeammatePermissions

type OutputUpdateTeammatePermissions struct {
	Username  string   `json:"username,omitempty"`
	FirstName string   `json:"first_name,omitempty"`
	LastName  string   `json:"last_name,omitempty"`
	Email     string   `json:"email,omitempty"`
	Scopes    []string `json:"scopes,omitempty"`
	UserType  string   `json:"user_type,omitempty"`
	IsAdmin   bool     `json:"is_admin,omitempty"`
	Phone     string   `json:"phone,omitempty"`
	Website   string   `json:"website,omitempty"`
	Address   string   `json:"address,omitempty"`
	Address2  string   `json:"address2,omitempty"`
	City      string   `json:"city,omitempty"`
	State     string   `json:"state,omitempty"`
	Zip       string   `json:"zip,omitempty"`
	Country   string   `json:"country,omitempty"`
}

type OutputUpdateTemplate added in v0.0.14

type OutputUpdateTemplate struct {
	ID         string    `json:"id,omitempty"`
	Name       string    `json:"name,omitempty"`
	Generation string    `json:"generation,omitempty"`
	UpdatedAt  string    `json:"updated_at,omitempty"`
	Versions   []Version `json:"versions,omitempty"`
}

type OutputUpdateTemplateVersion added in v0.0.14

type OutputUpdateTemplateVersion struct {
	ID                   string    `json:"id,omitempty"`
	TemplateID           string    `json:"template_id,omitempty"`
	Active               int       `json:"active,omitempty"`
	Name                 string    `json:"name,omitempty"`
	HTMLContent          string    `json:"html_content,omitempty"`
	PlainContent         string    `json:"plain_content,omitempty"`
	GeneratePlainContent bool      `json:"generate_plain_content,omitempty"`
	Subject              string    `json:"subject,omitempty"`
	Editor               string    `json:"editor,omitempty"`
	TestData             string    `json:"test_data,omitempty"`
	UpdatedAt            string    `json:"updated_at,omitempty"`
	Warnings             []Warning `json:"warnings,omitempty"`
	ThumbnailURL         string    `json:"thumbnail_url,omitempty"`
}

type OutputUpdateVerifiedSender added in v0.0.10

type OutputUpdateVerifiedSender struct {
	ID          int64  `json:"id,omitempty"`
	Nickname    string `json:"nickname,omitempty"`
	FromEmail   string `json:"from_email,omitempty"`
	FromName    string `json:"from_name,omitempty"`
	ReplyTo     string `json:"reply_to,omitempty"`
	ReplyToName string `json:"reply_to_name,omitempty"`
	Address     string `json:"address,omitempty"`
	Address2    string `json:"address2,omitempty"`
	State       string `json:"state,omitempty"`
	City        string `json:"city,omitempty"`
	Zip         string `json:"zip,omitempty"`
	Country     string `json:"country,omitempty"`
	Verified    bool   `json:"verified,omitempty"`
	Locked      bool   `json:"locked,omitempty"`
}
type OutputValidateBrandedLink struct {
	ID                int64                        `json:"id,omitempty"`
	Valid             bool                         `json:"valid,omitempty"`
	ValidationResults ValidationResultsBrandedLink `json:"validation_results,omitempty"`
}

type OutputValidateDomainAuthentication added in v0.0.6

type OutputValidateDomainAuthentication struct {
	ID                int64             `json:"id,omitempty"`
	Valid             bool              `json:"valid,omitempty"`
	ValidationResults ValidationResults `json:"validation_results,omitempty"`
}

type OutputValidateReverseDNS added in v0.0.17

type OutputValidateReverseDNS struct {
	ID                int64                       `json:"id,omitempty"`
	Valid             bool                        `json:"valid,omitempty"`
	ValidationResults ValidationResultsReverseDNS `json:"validation_results,omitempty"`
}

type PendingTeammate

type PendingTeammate struct {
	Email          string   `json:"email,omitempty"`
	Scopes         []string `json:"scopes,omitempty"`
	IsAdmin        bool     `json:"is_admin,omitempty"`
	Token          string   `json:"token,omitempty"`
	ExpirationDate int      `json:"expiration_date,omitempty"`
}

type RateLimitedError added in v1.0.0

type RateLimitedError struct {
	RetryAfter time.Duration
}

func (*RateLimitedError) Error added in v1.0.0

func (e *RateLimitedError) Error() string

type Record added in v0.0.6

type Record struct {
	Valid bool   `json:"valid,omitempty"`
	Type  string `json:"type,omitempty"`
	Host  string `json:"host,omitempty"`
	Data  string `json:"data,omitempty"`
}

type Reputation added in v0.0.3

type Reputation struct {
	Reputation float64 `json:"reputation,omitempty"`
	Username   string  `json:"username,omitempty"`
}

type ResultGetTrackingSettings added in v0.0.18

type ResultGetTrackingSettings struct {
	Name        string `json:"name,omitempty"`
	Title       string `json:"title,omitempty"`
	Description string `json:"description,omitempty"`
	Enabled     bool   `json:"enabled,omitempty"`
}

type SSOCertificate added in v0.0.19

type SSOCertificate struct {
	ID                int64  `json:"id,omitempty"`
	PublicCertificate string `json:"public_certificate,omitempty"`
	NotBefore         int64  `json:"not_before,omitempty"`
	NotAfter          int64  `json:"not_after,omitempty"`
	IntegrationID     string `json:"integration_id,omitempty"`
}

type SSOIntegration added in v0.0.19

type SSOIntegration struct {
	ID                   string `json:"id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Enabled              bool   `json:"enabled,omitempty"`
	SigninURL            string `json:"signin_url,omitempty"`
	SignoutURL           string `json:"signout_url,omitempty"`
	EntityID             string `json:"entity_id,omitempty"`
	CompletedIntegration bool   `json:"completed_integration,omitempty"`
	LastUpdated          int64  `json:"last_updated,omitempty"`
	SingleSignonURL      string `json:"single_signon_url,omitempty"`
	AudienceURL          string `json:"audience_url,omitempty"`
}

type Subuser added in v0.0.3

type Subuser struct {
	ID       int64  `json:"id,omitempty"`
	Disabled bool   `json:"disabled,omitempty"`
	Username string `json:"username,omitempty"`
	Email    string `json:"email,omitempty"`
}

type SubuserAccess added in v1.3.0

type SubuserAccess struct {
	ID             int64    `json:"id,omitempty"`
	Username       string   `json:"username,omitempty"`
	Email          string   `json:"email,omitempty"`
	Disabled       bool     `json:"disabled,omitempty"`
	PermissionType string   `json:"permission_type,omitempty"`
	Scopes         []string `json:"scopes,omitempty"`
}

type SubuserSenderAuthentication added in v0.0.6

type SubuserSenderAuthentication struct {
	UserID   int64  `json:"user_id,omitempty"`
	Username string `json:"username,omitempty"`
}

type SuppressionGroup added in v0.0.13

type SuppressionGroup struct {
	ID              int64  `json:"id,omitempty"`
	Name            string `json:"name,omitempty"`
	Description     string `json:"description,omitempty"`
	IsDefault       bool   `json:"is_default,omitempty"`
	Unsubscribes    int64  `json:"unsubscribes,omitempty"`
	LastEmailSentAt string `json:"last_email_sent_at,omitempty"`
}

type Teammate

type Teammate struct {
	Username  string `json:"username,omitempty"`
	Email     string `json:"email,omitempty"`
	FirstName string `json:"first_name,omitempty"`
	LastName  string `json:"last_name,omitempty"`
	UserType  string `json:"user_type,omitempty"`
	IsAdmin   bool   `json:"is_admin,omitempty"`
	Phone     string `json:"phone,omitempty"`
	Website   string `json:"website,omitempty"`
	Address   string `json:"address,omitempty"`
	Address2  string `json:"address2,omitempty"`
	City      string `json:"city,omitempty"`
	State     string `json:"state,omitempty"`
	Zip       string `json:"zip,omitempty"`
	Country   string `json:"country,omitempty"`
}

type Template added in v0.0.14

type Template struct {
	ID         string    `json:"id,omitempty"`
	Name       string    `json:"name,omitempty"`
	Generation string    `json:"generation,omitempty"`
	UpdatedAt  string    `json:"updated_at,omitempty"`
	Versions   []Version `json:"versions,omitempty"`
}

type User added in v0.0.17

type User struct {
	Username string `json:"username,omitempty"`
	UserID   int64  `json:"user_id,omitempty"`
}

type ValidationResult added in v0.0.6

type ValidationResult struct {
	Valid  bool   `json:"valid,omitempty"`
	Reason string `json:"reason,omitempty"`
}

type ValidationResults added in v0.0.6

type ValidationResults struct {
	MailCname ValidationResult `json:"mail_cname,omitempty"`
	Dkim1     ValidationResult `json:"dkim1,omitempty"`
	Dkim2     ValidationResult `json:"dkim2,omitempty"`
	SPF       ValidationResult `json:"spf,omitempty"`
}
type ValidationResultsBrandedLink struct {
	DomainCname ValidationResult `json:"domain_cname,omitempty"`
	OwnerCname  ValidationResult `json:"owner_cname,omitempty"`
}

type ValidationResultsReverseDNS added in v0.0.17

type ValidationResultsReverseDNS struct {
	ARecordValidationResults ARecordValidationResults `json:"a_record,omitempty"`
}

type VerifiedSender added in v0.0.10

type VerifiedSender struct {
	ID          int64  `json:"id,omitempty"`
	Nickname    string `json:"nickname,omitempty"`
	FromEmail   string `json:"from_email,omitempty"`
	FromName    string `json:"from_name,omitempty"`
	ReplyTo     string `json:"reply_to,omitempty"`
	ReplyToName string `json:"reply_to_name,omitempty"`
	Address     string `json:"address,omitempty"`
	Address2    string `json:"address2,omitempty"`
	State       string `json:"state,omitempty"`
	City        string `json:"city,omitempty"`
	Zip         string `json:"zip,omitempty"`
	Country     string `json:"country,omitempty"`
	Verified    bool   `json:"verified,omitempty"`
	Locked      bool   `json:"locked,omitempty"`
}

type Version added in v0.0.14

type Version struct {
	ID                   string `json:"id,omitempty"`
	TemplateID           string `json:"template_id,omitempty"`
	Name                 string `json:"name,omitempty"`
	Subject              string `json:"subject,omitempty"`
	UpdatedAt            string `json:"updated_at,omitempty"`
	GeneratePlainContent bool   `json:"generate_plain_content,omitempty"`
	HTMLContent          string `json:"html_content,omitempty"`
	PlainContent         string `json:"plain_content,omitempty"`
	Editor               string `json:"editor,omitempty"`
	ThumbnailURL         string `json:"thumbnail_url,omitempty"`
}

type Warning added in v0.0.14

type Warning struct {
	Message string `json:"message,omitempty"`
}

Directories

Path Synopsis
examples

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL