An open API service indexing awesome lists of open source software.

https://github.com/elasticemail/elasticemail-go

ElasticEmail - Go library for the Elastic Email REST API
https://github.com/elasticemail/elasticemail-go

api go golang

Last synced: over 1 year ago
JSON representation

ElasticEmail - Go library for the Elastic Email REST API

Awesome Lists containing this project

README

          

# Go API client for ElasticEmail

This API is based on the REST API architecture, allowing the user to easily manage their data with this resource-based approach.

Every API call is established on which specific request type (GET, POST, PUT, DELETE) will be used.

The API has a limit of 20 concurrent connections and a hard timeout of 600 seconds per request.

To start using this API, you will need your Access Token (available [here](https://app.elasticemail.com/marketing/settings/new/manage-api)). Remember to keep it safe. Required access levels are listed in the given request’s description.

Downloadable library clients can be found in our Github repository [here](https://github.com/ElasticEmail?tab=repositories&q=%22rest+api%22+in%3Areadme)

## Overview
This API client was generated by the [OpenAPI Generator](https://openapi-generator.tech) project. By using the [OpenAPI-spec](https://www.openapis.org/) from a remote server, you can easily generate an API client.

- API version: 4.0.0
- Package version: 4.0.25
- Generator version: 7.5.0
- Build package: org.openapitools.codegen.languages.GoClientCodegen

## Installation

Install the following dependencies:

```sh
go get github.com/stretchr/testify/assert
go get golang.org/x/net/context
```

Put the package under your project folder and add the following in import:

```go
import ElasticEmail "github.com/elasticemail/elasticemail-go"
```

To use a proxy, set the environment variable `HTTP_PROXY`:

```go
os.Setenv("HTTP_PROXY", "http://proxy_name:proxy_port")
```

## Configuration of Server URL

Default configuration comes with `Servers` field that contains server objects as defined in the OpenAPI specification.

### Select Server Configuration

For using other server than the one defined on index 0 set context value `ElasticEmail.ContextServerIndex` of type `int`.

```go
ctx := context.WithValue(context.Background(), ElasticEmail.ContextServerIndex, 1)
```

### Templated Server URL

Templated server URL is formatted using default variables from configuration or from context value `ElasticEmail.ContextServerVariables` of type `map[string]string`.

```go
ctx := context.WithValue(context.Background(), ElasticEmail.ContextServerVariables, map[string]string{
"basePath": "v2",
})
```

Note, enum values are always validated and all unused variables are silently ignored.

### URLs Configuration per Operation

Each operation can use different server URL defined using `OperationServers` map in the `Configuration`.
An operation is uniquely identified by `"{classname}Service.{nickname}"` string.
Similar rules for overriding default operation server index and variables applies by using `ElasticEmail.ContextOperationServerIndices` and `ElasticEmail.ContextOperationServerVariables` context maps.

```go
ctx := context.WithValue(context.Background(), ElasticEmail.ContextOperationServerIndices, map[string]int{
"{classname}Service.{nickname}": 2,
})
ctx = context.WithValue(context.Background(), ElasticEmail.ContextOperationServerVariables, map[string]map[string]string{
"{classname}Service.{nickname}": {
"port": "8443",
},
})
```

All URIs are relative to *https://api.elasticemail.com/v4*

Class | Method | HTTP request | Description
------------ | ------------- | ------------- | -------------
*CampaignsAPI* | [**CampaignsByNameDelete**](docs/CampaignsAPI.md#campaignsbynamedelete) | **Delete** /campaigns/{name} | Delete Campaign
*CampaignsAPI* | [**CampaignsByNameGet**](docs/CampaignsAPI.md#campaignsbynameget) | **Get** /campaigns/{name} | Load Campaign
*CampaignsAPI* | [**CampaignsByNamePausePut**](docs/CampaignsAPI.md#campaignsbynamepauseput) | **Put** /campaigns/{name}/pause | Pause Campaign
*CampaignsAPI* | [**CampaignsByNamePut**](docs/CampaignsAPI.md#campaignsbynameput) | **Put** /campaigns/{name} | Update Campaign
*CampaignsAPI* | [**CampaignsGet**](docs/CampaignsAPI.md#campaignsget) | **Get** /campaigns | Load Campaigns
*CampaignsAPI* | [**CampaignsPost**](docs/CampaignsAPI.md#campaignspost) | **Post** /campaigns | Add Campaign
*ContactsAPI* | [**ContactsByEmailDelete**](docs/ContactsAPI.md#contactsbyemaildelete) | **Delete** /contacts/{email} | Delete Contact
*ContactsAPI* | [**ContactsByEmailGet**](docs/ContactsAPI.md#contactsbyemailget) | **Get** /contacts/{email} | Load Contact
*ContactsAPI* | [**ContactsByEmailPut**](docs/ContactsAPI.md#contactsbyemailput) | **Put** /contacts/{email} | Update Contact
*ContactsAPI* | [**ContactsDeletePost**](docs/ContactsAPI.md#contactsdeletepost) | **Post** /contacts/delete | Delete Contacts Bulk
*ContactsAPI* | [**ContactsExportByIdStatusGet**](docs/ContactsAPI.md#contactsexportbyidstatusget) | **Get** /contacts/export/{id}/status | Check Export Status
*ContactsAPI* | [**ContactsExportPost**](docs/ContactsAPI.md#contactsexportpost) | **Post** /contacts/export | Export Contacts
*ContactsAPI* | [**ContactsGet**](docs/ContactsAPI.md#contactsget) | **Get** /contacts | Load Contacts
*ContactsAPI* | [**ContactsImportPost**](docs/ContactsAPI.md#contactsimportpost) | **Post** /contacts/import | Upload Contacts
*ContactsAPI* | [**ContactsPost**](docs/ContactsAPI.md#contactspost) | **Post** /contacts | Add Contact
*DomainsAPI* | [**DomainsByDomainDelete**](docs/DomainsAPI.md#domainsbydomaindelete) | **Delete** /domains/{domain} | Delete Domain
*DomainsAPI* | [**DomainsByDomainGet**](docs/DomainsAPI.md#domainsbydomainget) | **Get** /domains/{domain} | Load Domain
*DomainsAPI* | [**DomainsByDomainPut**](docs/DomainsAPI.md#domainsbydomainput) | **Put** /domains/{domain} | Update Domain
*DomainsAPI* | [**DomainsByDomainRestrictedGet**](docs/DomainsAPI.md#domainsbydomainrestrictedget) | **Get** /domains/{domain}/restricted | Check for domain restriction
*DomainsAPI* | [**DomainsByDomainVerificationPut**](docs/DomainsAPI.md#domainsbydomainverificationput) | **Put** /domains/{domain}/verification | Verify Domain
*DomainsAPI* | [**DomainsByEmailDefaultPatch**](docs/DomainsAPI.md#domainsbyemaildefaultpatch) | **Patch** /domains/{email}/default | Set Default
*DomainsAPI* | [**DomainsGet**](docs/DomainsAPI.md#domainsget) | **Get** /domains | Load Domains
*DomainsAPI* | [**DomainsPost**](docs/DomainsAPI.md#domainspost) | **Post** /domains | Add Domain
*EmailsAPI* | [**EmailsByMsgidViewGet**](docs/EmailsAPI.md#emailsbymsgidviewget) | **Get** /emails/{msgid}/view | View Email
*EmailsAPI* | [**EmailsByTransactionidStatusGet**](docs/EmailsAPI.md#emailsbytransactionidstatusget) | **Get** /emails/{transactionid}/status | Get Status
*EmailsAPI* | [**EmailsMergefilePost**](docs/EmailsAPI.md#emailsmergefilepost) | **Post** /emails/mergefile | Send Bulk Emails CSV
*EmailsAPI* | [**EmailsPost**](docs/EmailsAPI.md#emailspost) | **Post** /emails | Send Bulk Emails
*EmailsAPI* | [**EmailsTransactionalPost**](docs/EmailsAPI.md#emailstransactionalpost) | **Post** /emails/transactional | Send Transactional Email
*EventsAPI* | [**EventsByTransactionidGet**](docs/EventsAPI.md#eventsbytransactionidget) | **Get** /events/{transactionid} | Load Email Events
*EventsAPI* | [**EventsChannelsByNameExportPost**](docs/EventsAPI.md#eventschannelsbynameexportpost) | **Post** /events/channels/{name}/export | Export Channel Events
*EventsAPI* | [**EventsChannelsByNameGet**](docs/EventsAPI.md#eventschannelsbynameget) | **Get** /events/channels/{name} | Load Channel Events
*EventsAPI* | [**EventsChannelsExportByIdStatusGet**](docs/EventsAPI.md#eventschannelsexportbyidstatusget) | **Get** /events/channels/export/{id}/status | Check Channel Export Status
*EventsAPI* | [**EventsExportByIdStatusGet**](docs/EventsAPI.md#eventsexportbyidstatusget) | **Get** /events/export/{id}/status | Check Export Status
*EventsAPI* | [**EventsExportPost**](docs/EventsAPI.md#eventsexportpost) | **Post** /events/export | Export Events
*EventsAPI* | [**EventsGet**](docs/EventsAPI.md#eventsget) | **Get** /events | Load Events
*FilesAPI* | [**FilesByNameDelete**](docs/FilesAPI.md#filesbynamedelete) | **Delete** /files/{name} | Delete File
*FilesAPI* | [**FilesByNameGet**](docs/FilesAPI.md#filesbynameget) | **Get** /files/{name} | Download File
*FilesAPI* | [**FilesByNameInfoGet**](docs/FilesAPI.md#filesbynameinfoget) | **Get** /files/{name}/info | Load File Details
*FilesAPI* | [**FilesGet**](docs/FilesAPI.md#filesget) | **Get** /files | List Files
*FilesAPI* | [**FilesPost**](docs/FilesAPI.md#filespost) | **Post** /files | Upload File
*InboundRouteAPI* | [**InboundrouteByIdDelete**](docs/InboundRouteAPI.md#inboundroutebyiddelete) | **Delete** /inboundroute/{id} | Delete Route
*InboundRouteAPI* | [**InboundrouteByIdGet**](docs/InboundRouteAPI.md#inboundroutebyidget) | **Get** /inboundroute/{id} | Get Route
*InboundRouteAPI* | [**InboundrouteByIdPut**](docs/InboundRouteAPI.md#inboundroutebyidput) | **Put** /inboundroute/{id} | Update Route
*InboundRouteAPI* | [**InboundrouteGet**](docs/InboundRouteAPI.md#inboundrouteget) | **Get** /inboundroute | Get Routes
*InboundRouteAPI* | [**InboundrouteOrderPut**](docs/InboundRouteAPI.md#inboundrouteorderput) | **Put** /inboundroute/order | Update Sorting
*InboundRouteAPI* | [**InboundroutePost**](docs/InboundRouteAPI.md#inboundroutepost) | **Post** /inboundroute | Create Route
*ListsAPI* | [**ListsByListnameContactsGet**](docs/ListsAPI.md#listsbylistnamecontactsget) | **Get** /lists/{listname}/contacts | Load Contacts in List
*ListsAPI* | [**ListsByNameContactsPost**](docs/ListsAPI.md#listsbynamecontactspost) | **Post** /lists/{name}/contacts | Add Contacts to List
*ListsAPI* | [**ListsByNameContactsRemovePost**](docs/ListsAPI.md#listsbynamecontactsremovepost) | **Post** /lists/{name}/contacts/remove | Remove Contacts from List
*ListsAPI* | [**ListsByNameDelete**](docs/ListsAPI.md#listsbynamedelete) | **Delete** /lists/{name} | Delete List
*ListsAPI* | [**ListsByNameGet**](docs/ListsAPI.md#listsbynameget) | **Get** /lists/{name} | Load List
*ListsAPI* | [**ListsByNamePut**](docs/ListsAPI.md#listsbynameput) | **Put** /lists/{name} | Update List
*ListsAPI* | [**ListsGet**](docs/ListsAPI.md#listsget) | **Get** /lists | Load Lists
*ListsAPI* | [**ListsPost**](docs/ListsAPI.md#listspost) | **Post** /lists | Add List
*SecurityAPI* | [**SecurityApikeysByNameDelete**](docs/SecurityAPI.md#securityapikeysbynamedelete) | **Delete** /security/apikeys/{name} | Delete ApiKey
*SecurityAPI* | [**SecurityApikeysByNameGet**](docs/SecurityAPI.md#securityapikeysbynameget) | **Get** /security/apikeys/{name} | Load ApiKey
*SecurityAPI* | [**SecurityApikeysByNamePut**](docs/SecurityAPI.md#securityapikeysbynameput) | **Put** /security/apikeys/{name} | Update ApiKey
*SecurityAPI* | [**SecurityApikeysGet**](docs/SecurityAPI.md#securityapikeysget) | **Get** /security/apikeys | List ApiKeys
*SecurityAPI* | [**SecurityApikeysPost**](docs/SecurityAPI.md#securityapikeyspost) | **Post** /security/apikeys | Add ApiKey
*SecurityAPI* | [**SecuritySmtpByNameDelete**](docs/SecurityAPI.md#securitysmtpbynamedelete) | **Delete** /security/smtp/{name} | Delete SMTP Credential
*SecurityAPI* | [**SecuritySmtpByNameGet**](docs/SecurityAPI.md#securitysmtpbynameget) | **Get** /security/smtp/{name} | Load SMTP Credential
*SecurityAPI* | [**SecuritySmtpByNamePut**](docs/SecurityAPI.md#securitysmtpbynameput) | **Put** /security/smtp/{name} | Update SMTP Credential
*SecurityAPI* | [**SecuritySmtpGet**](docs/SecurityAPI.md#securitysmtpget) | **Get** /security/smtp | List SMTP Credentials
*SecurityAPI* | [**SecuritySmtpPost**](docs/SecurityAPI.md#securitysmtppost) | **Post** /security/smtp | Add SMTP Credential
*SegmentsAPI* | [**SegmentsByNameDelete**](docs/SegmentsAPI.md#segmentsbynamedelete) | **Delete** /segments/{name} | Delete Segment
*SegmentsAPI* | [**SegmentsByNameGet**](docs/SegmentsAPI.md#segmentsbynameget) | **Get** /segments/{name} | Load Segment
*SegmentsAPI* | [**SegmentsByNamePut**](docs/SegmentsAPI.md#segmentsbynameput) | **Put** /segments/{name} | Update Segment
*SegmentsAPI* | [**SegmentsGet**](docs/SegmentsAPI.md#segmentsget) | **Get** /segments | Load Segments
*SegmentsAPI* | [**SegmentsPost**](docs/SegmentsAPI.md#segmentspost) | **Post** /segments | Add Segment
*StatisticsAPI* | [**StatisticsCampaignsByNameGet**](docs/StatisticsAPI.md#statisticscampaignsbynameget) | **Get** /statistics/campaigns/{name} | Load Campaign Stats
*StatisticsAPI* | [**StatisticsCampaignsGet**](docs/StatisticsAPI.md#statisticscampaignsget) | **Get** /statistics/campaigns | Load Campaigns Stats
*StatisticsAPI* | [**StatisticsChannelsByNameGet**](docs/StatisticsAPI.md#statisticschannelsbynameget) | **Get** /statistics/channels/{name} | Load Channel Stats
*StatisticsAPI* | [**StatisticsChannelsGet**](docs/StatisticsAPI.md#statisticschannelsget) | **Get** /statistics/channels | Load Channels Stats
*StatisticsAPI* | [**StatisticsGet**](docs/StatisticsAPI.md#statisticsget) | **Get** /statistics | Load Statistics
*SubAccountsAPI* | [**SubaccountsByEmailCreditsPatch**](docs/SubAccountsAPI.md#subaccountsbyemailcreditspatch) | **Patch** /subaccounts/{email}/credits | Add, Subtract Email Credits
*SubAccountsAPI* | [**SubaccountsByEmailDelete**](docs/SubAccountsAPI.md#subaccountsbyemaildelete) | **Delete** /subaccounts/{email} | Delete SubAccount
*SubAccountsAPI* | [**SubaccountsByEmailGet**](docs/SubAccountsAPI.md#subaccountsbyemailget) | **Get** /subaccounts/{email} | Load SubAccount
*SubAccountsAPI* | [**SubaccountsByEmailSettingsEmailPut**](docs/SubAccountsAPI.md#subaccountsbyemailsettingsemailput) | **Put** /subaccounts/{email}/settings/email | Update SubAccount Email Settings
*SubAccountsAPI* | [**SubaccountsGet**](docs/SubAccountsAPI.md#subaccountsget) | **Get** /subaccounts | Load SubAccounts
*SubAccountsAPI* | [**SubaccountsPost**](docs/SubAccountsAPI.md#subaccountspost) | **Post** /subaccounts | Add SubAccount
*SuppressionsAPI* | [**SuppressionsBouncesGet**](docs/SuppressionsAPI.md#suppressionsbouncesget) | **Get** /suppressions/bounces | Get Bounce List
*SuppressionsAPI* | [**SuppressionsBouncesImportPost**](docs/SuppressionsAPI.md#suppressionsbouncesimportpost) | **Post** /suppressions/bounces/import | Add Bounces Async
*SuppressionsAPI* | [**SuppressionsBouncesPost**](docs/SuppressionsAPI.md#suppressionsbouncespost) | **Post** /suppressions/bounces | Add Bounces
*SuppressionsAPI* | [**SuppressionsByEmailDelete**](docs/SuppressionsAPI.md#suppressionsbyemaildelete) | **Delete** /suppressions/{email} | Delete Suppression
*SuppressionsAPI* | [**SuppressionsByEmailGet**](docs/SuppressionsAPI.md#suppressionsbyemailget) | **Get** /suppressions/{email} | Get Suppression
*SuppressionsAPI* | [**SuppressionsComplaintsGet**](docs/SuppressionsAPI.md#suppressionscomplaintsget) | **Get** /suppressions/complaints | Get Complaints List
*SuppressionsAPI* | [**SuppressionsComplaintsImportPost**](docs/SuppressionsAPI.md#suppressionscomplaintsimportpost) | **Post** /suppressions/complaints/import | Add Complaints Async
*SuppressionsAPI* | [**SuppressionsComplaintsPost**](docs/SuppressionsAPI.md#suppressionscomplaintspost) | **Post** /suppressions/complaints | Add Complaints
*SuppressionsAPI* | [**SuppressionsGet**](docs/SuppressionsAPI.md#suppressionsget) | **Get** /suppressions | Get Suppressions
*SuppressionsAPI* | [**SuppressionsUnsubscribesGet**](docs/SuppressionsAPI.md#suppressionsunsubscribesget) | **Get** /suppressions/unsubscribes | Get Unsubscribes List
*SuppressionsAPI* | [**SuppressionsUnsubscribesImportPost**](docs/SuppressionsAPI.md#suppressionsunsubscribesimportpost) | **Post** /suppressions/unsubscribes/import | Add Unsubscribes Async
*SuppressionsAPI* | [**SuppressionsUnsubscribesPost**](docs/SuppressionsAPI.md#suppressionsunsubscribespost) | **Post** /suppressions/unsubscribes | Add Unsubscribes
*TemplatesAPI* | [**TemplatesByNameDelete**](docs/TemplatesAPI.md#templatesbynamedelete) | **Delete** /templates/{name} | Delete Template
*TemplatesAPI* | [**TemplatesByNameGet**](docs/TemplatesAPI.md#templatesbynameget) | **Get** /templates/{name} | Load Template
*TemplatesAPI* | [**TemplatesByNamePut**](docs/TemplatesAPI.md#templatesbynameput) | **Put** /templates/{name} | Update Template
*TemplatesAPI* | [**TemplatesGet**](docs/TemplatesAPI.md#templatesget) | **Get** /templates | Load Templates
*TemplatesAPI* | [**TemplatesPost**](docs/TemplatesAPI.md#templatespost) | **Post** /templates | Add Template
*VerificationsAPI* | [**VerificationsByEmailDelete**](docs/VerificationsAPI.md#verificationsbyemaildelete) | **Delete** /verifications/{email} | Delete Email Verification Result
*VerificationsAPI* | [**VerificationsByEmailGet**](docs/VerificationsAPI.md#verificationsbyemailget) | **Get** /verifications/{email} | Get Email Verification Result
*VerificationsAPI* | [**VerificationsByEmailPost**](docs/VerificationsAPI.md#verificationsbyemailpost) | **Post** /verifications/{email} | Verify Email
*VerificationsAPI* | [**VerificationsFilesByIdDelete**](docs/VerificationsAPI.md#verificationsfilesbyiddelete) | **Delete** /verifications/files/{id} | Delete File Verification Result
*VerificationsAPI* | [**VerificationsFilesByIdResultDownloadGet**](docs/VerificationsAPI.md#verificationsfilesbyidresultdownloadget) | **Get** /verifications/files/{id}/result/download | Download File Verification Result
*VerificationsAPI* | [**VerificationsFilesByIdResultGet**](docs/VerificationsAPI.md#verificationsfilesbyidresultget) | **Get** /verifications/files/{id}/result | Get Detailed File Verification Result
*VerificationsAPI* | [**VerificationsFilesByIdVerificationPost**](docs/VerificationsAPI.md#verificationsfilesbyidverificationpost) | **Post** /verifications/files/{id}/verification | Start verification
*VerificationsAPI* | [**VerificationsFilesPost**](docs/VerificationsAPI.md#verificationsfilespost) | **Post** /verifications/files | Upload File with Emails
*VerificationsAPI* | [**VerificationsFilesResultGet**](docs/VerificationsAPI.md#verificationsfilesresultget) | **Get** /verifications/files/result | Get Files Verification Results
*VerificationsAPI* | [**VerificationsGet**](docs/VerificationsAPI.md#verificationsget) | **Get** /verifications | Get Emails Verification Results

## Documentation For Models

- [AccessLevel](docs/AccessLevel.md)
- [AccountStatusEnum](docs/AccountStatusEnum.md)
- [ApiKey](docs/ApiKey.md)
- [ApiKeyPayload](docs/ApiKeyPayload.md)
- [BodyContentType](docs/BodyContentType.md)
- [BodyPart](docs/BodyPart.md)
- [Campaign](docs/Campaign.md)
- [CampaignOptions](docs/CampaignOptions.md)
- [CampaignRecipient](docs/CampaignRecipient.md)
- [CampaignStatus](docs/CampaignStatus.md)
- [CampaignTemplate](docs/CampaignTemplate.md)
- [CertificateValidationStatus](docs/CertificateValidationStatus.md)
- [ChannelLogStatusSummary](docs/ChannelLogStatusSummary.md)
- [CompressionFormat](docs/CompressionFormat.md)
- [ConsentData](docs/ConsentData.md)
- [ConsentTracking](docs/ConsentTracking.md)
- [Contact](docs/Contact.md)
- [ContactActivity](docs/ContactActivity.md)
- [ContactPayload](docs/ContactPayload.md)
- [ContactSource](docs/ContactSource.md)
- [ContactStatus](docs/ContactStatus.md)
- [ContactUpdatePayload](docs/ContactUpdatePayload.md)
- [ContactsList](docs/ContactsList.md)
- [DeliveryOptimizationType](docs/DeliveryOptimizationType.md)
- [DomainData](docs/DomainData.md)
- [DomainDetail](docs/DomainDetail.md)
- [DomainOwner](docs/DomainOwner.md)
- [DomainPayload](docs/DomainPayload.md)
- [DomainUpdatePayload](docs/DomainUpdatePayload.md)
- [EmailContent](docs/EmailContent.md)
- [EmailData](docs/EmailData.md)
- [EmailJobFailedStatus](docs/EmailJobFailedStatus.md)
- [EmailJobStatus](docs/EmailJobStatus.md)
- [EmailMessageData](docs/EmailMessageData.md)
- [EmailPredictedValidationStatus](docs/EmailPredictedValidationStatus.md)
- [EmailRecipient](docs/EmailRecipient.md)
- [EmailSend](docs/EmailSend.md)
- [EmailStatus](docs/EmailStatus.md)
- [EmailTransactionalMessageData](docs/EmailTransactionalMessageData.md)
- [EmailValidationResult](docs/EmailValidationResult.md)
- [EmailValidationStatus](docs/EmailValidationStatus.md)
- [EmailView](docs/EmailView.md)
- [EmailsPayload](docs/EmailsPayload.md)
- [EncodingType](docs/EncodingType.md)
- [EventType](docs/EventType.md)
- [EventsOrderBy](docs/EventsOrderBy.md)
- [ExportFileFormats](docs/ExportFileFormats.md)
- [ExportLink](docs/ExportLink.md)
- [ExportStatus](docs/ExportStatus.md)
- [FileInfo](docs/FileInfo.md)
- [FilePayload](docs/FilePayload.md)
- [FileUploadResult](docs/FileUploadResult.md)
- [InboundPayload](docs/InboundPayload.md)
- [InboundRoute](docs/InboundRoute.md)
- [InboundRouteActionType](docs/InboundRouteActionType.md)
- [InboundRouteFilterType](docs/InboundRouteFilterType.md)
- [ListPayload](docs/ListPayload.md)
- [ListUpdatePayload](docs/ListUpdatePayload.md)
- [LogJobStatus](docs/LogJobStatus.md)
- [LogStatusSummary](docs/LogStatusSummary.md)
- [MergeEmailPayload](docs/MergeEmailPayload.md)
- [MessageAttachment](docs/MessageAttachment.md)
- [MessageCategory](docs/MessageCategory.md)
- [MessageCategoryEnum](docs/MessageCategoryEnum.md)
- [NewApiKey](docs/NewApiKey.md)
- [NewSmtpCredentials](docs/NewSmtpCredentials.md)
- [Options](docs/Options.md)
- [RecipientEvent](docs/RecipientEvent.md)
- [Segment](docs/Segment.md)
- [SegmentPayload](docs/SegmentPayload.md)
- [SmtpCredentials](docs/SmtpCredentials.md)
- [SmtpCredentialsPayload](docs/SmtpCredentialsPayload.md)
- [SortOrderItem](docs/SortOrderItem.md)
- [SplitOptimizationType](docs/SplitOptimizationType.md)
- [SplitOptions](docs/SplitOptions.md)
- [SubAccountInfo](docs/SubAccountInfo.md)
- [SubaccountEmailCreditsPayload](docs/SubaccountEmailCreditsPayload.md)
- [SubaccountEmailSettings](docs/SubaccountEmailSettings.md)
- [SubaccountEmailSettingsPayload](docs/SubaccountEmailSettingsPayload.md)
- [SubaccountPayload](docs/SubaccountPayload.md)
- [SubaccountSettingsInfo](docs/SubaccountSettingsInfo.md)
- [SubaccountSettingsInfoPayload](docs/SubaccountSettingsInfoPayload.md)
- [Suppression](docs/Suppression.md)
- [Template](docs/Template.md)
- [TemplatePayload](docs/TemplatePayload.md)
- [TemplateScope](docs/TemplateScope.md)
- [TemplateType](docs/TemplateType.md)
- [TrackingType](docs/TrackingType.md)
- [TrackingValidationStatus](docs/TrackingValidationStatus.md)
- [TransactionalRecipient](docs/TransactionalRecipient.md)
- [Utm](docs/Utm.md)
- [VerificationFileResult](docs/VerificationFileResult.md)
- [VerificationFileResultDetails](docs/VerificationFileResultDetails.md)
- [VerificationStatus](docs/VerificationStatus.md)

## Documentation For Authorization

Authentication schemes defined for the API:
### apikey

- **Type**: API key
- **API key parameter name**: X-ElasticEmail-ApiKey
- **Location**: HTTP header

Note, each API key must be added to a map of `map[string]APIKey` where the key is: X-ElasticEmail-ApiKey and passed in as the auth context for each request.

Example

```go
auth := context.WithValue(
context.Background(),
ElasticEmail.ContextAPIKeys,
map[string]ElasticEmail.APIKey{
"X-ElasticEmail-ApiKey": {Key: "API_KEY_STRING"},
},
)
r, err := client.Service.Operation(auth, args)
```

## Documentation for Utility Methods

Due to the fact that model structure members are all pointers, this package contains
a number of utility functions to easily obtain pointers to values of basic types.
Each of these functions takes a value of the given basic type and returns a pointer to it:

* `PtrBool`
* `PtrInt`
* `PtrInt32`
* `PtrInt64`
* `PtrFloat`
* `PtrFloat32`
* `PtrFloat64`
* `PtrString`
* `PtrTime`

## Author

support@elasticemail.com