openapi: 3.0.0
info:
title: Greenspark Climate Account Email API
version: 2.3.0
description: 'Greenspark Impact-as-a-Service Climate API: create carbon-offset, tree-planting, plastic-recovery and other climate impacts, fetch impact/project data, carbon estimations, reporting, email templates and embeddable impact widgets. Reconstructed by API Evangelist from the provider''s per-endpoint OpenAPI definitions published on docs.getgreenspark.com.'
contact:
name: Greenspark Support
email: support@getgreenspark.com
url: https://www.getgreenspark.com
servers:
- url: https://api.getgreenspark.com
description: Production
- url: https://sandbox.getgreenspark.com
description: Sandbox
- url: https://demo-api.getgreenspark.com
description: Demo
security:
- ApiKeyAuth: []
tags:
- name: Email
paths:
/v1/email/domains:
post:
deprecated: true
description: Deprecated — redirects to v2. Use addDomainV2.
operationId: addDomain
parameters: []
responses:
'200':
description: Domain has been successfully added.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomainDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Add Domain
tags:
- Email
get:
deprecated: true
description: Deprecated — redirects to v2. Use fetchDomainsV2.
operationId: fetchDomains
parameters: []
responses:
'200':
description: Domains has been successfully queried.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomDomainDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Fetch Domains
tags:
- Email
/v2/email/domains:
post:
description: Add your domain and receive the DNS records that must be added to your domain.
operationId: addDomainV2
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomainRequestBody'
responses:
'200':
description: Domain has been successfully added.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomainDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Add Domain
tags:
- Email
get:
description: Fetch your previously added domains.
operationId: fetchDomainsV2
parameters: []
responses:
'200':
description: Domains has been successfully queried.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomDomainDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Fetch Domains
tags:
- Email
/v1/email/templates:
post:
deprecated: true
description: Deprecated — redirects to v2. Use addTemplateV2. Add your notification template for email sending. If you do not want a customizable property to be custom, you should provide the default value for that property.
operationId: addTemplate
parameters: []
responses:
'200':
description: Notification template has been successfully added.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Add Template
tags:
- Email
get:
deprecated: true
description: Deprecated — redirects to v2. Use fetchTemplatesV2.
operationId: fetchTemplates
parameters: []
responses:
'200':
description: Templates has been successfully queried.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Fetch Templates
tags:
- Email
/v2/email/templates:
post:
description: Add your notification template for email sending. If you do not want a customizable property to be custom, you should provide the default value for that property. You can get the default values for every template type from the templates-defaults endpoint.
operationId: addTemplateV2
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateRequestDto'
responses:
'200':
description: Notification template has been successfully added.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Add Template
tags:
- Email
get:
description: Fetch templates for email sending.
operationId: fetchTemplatesV2
parameters: []
responses:
'200':
description: Templates has been successfully queried.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Fetch Templates
tags:
- Email
/v1/email/domains/{domainId}:
delete:
deprecated: true
description: Deprecated — redirects to v2. Use deleteDomainV2.
operationId: deleteDomain
parameters:
- name: domainId
required: true
in: path
description: The id of the custom domain object.
schema:
example: 63c5857475784b9acf05c919
type: string
responses:
'200':
description: Domains has been successfully deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomainDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Delete Domain
tags:
- Email
/v2/email/domains/{domainId}:
delete:
description: Delete your domain.
operationId: deleteDomainV2
parameters:
- name: domainId
required: true
in: path
description: The id of the custom domain object.
schema:
example: 63c5857475784b9acf05c919
type: string
responses:
'200':
description: Domains has been successfully deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomainDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Delete Domain
tags:
- Email
/v1/email/templates/{templateId}:
delete:
deprecated: true
description: Deprecated — redirects to v2. Use deleteTemplateV2.
operationId: deleteTemplate
parameters:
- name: templateId
required: true
in: path
description: The id of the notification template.
schema:
example: 853b035dcd13c4ad66c6d618
type: string
responses:
'200':
description: Template has been successfully deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Delete Template
tags:
- Email
put:
deprecated: true
description: Deprecated — redirects to v2. Use updateTemplateV2. Update your notification template for email sending.
operationId: updateTemplate
parameters:
- name: templateId
required: true
in: path
description: The id of the notification template.
schema:
example: 853b035dcd13c4ad66c6d618
type: string
responses:
'200':
description: Notification template has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Update Template
tags:
- Email
/v2/email/templates/{templateId}:
delete:
description: Delete your template.
operationId: deleteTemplateV2
parameters:
- name: templateId
required: true
in: path
description: The id of the notification template.
schema:
example: 853b035dcd13c4ad66c6d618
type: string
responses:
'200':
description: Template has been successfully deleted.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Delete Template
tags:
- Email
put:
description: Update your notification template for email sending. If you do not want a customizable property to be custom, you should provide the default value for that property. You can get the default values for every template type from the templates-defaults endpoint.
operationId: updateTemplateV2
parameters:
- name: templateId
required: true
in: path
description: The id of the notification template.
schema:
example: 853b035dcd13c4ad66c6d618
type: string
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateRequestDto'
responses:
'200':
description: Notification template has been successfully updated.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Update Template
tags:
- Email
/v1/email/templates/{templateId}/disable:
post:
description: Disable your notification template to stop sending emails.
operationId: disableTemplate
parameters:
- name: templateId
required: true
in: path
description: The id of the notification template.
schema:
example: 853b035dcd13c4ad66c6d618
type: string
responses:
'200':
description: Notification template has been successfully disabled.
content:
application/json:
schema:
$ref: '#/components/schemas/NotificationTemplateResponseDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Disable Template
tags:
- Email
/v1/email/templates-defaults:
get:
deprecated: true
description: Deprecated — redirects to v2. Use fetchTemplatesDefaultsV2.
operationId: fetchTemplatesDefaults
parameters: []
responses:
'200':
description: Template defaults has been successfully queried.
content:
application/json:
schema:
example:
variables:
type: order, feedback, newsletter subscription, impact action
firstName: John
lastName: Smith
impactsTextPresent: plant 3 trees, recover 7 plastic bottles and offset 5 kgs of CO2
impactsTextPast: planted 3 trees, recover 7 plastic bottles and offset 5 kgs of CO2
sellerName: Greenspark
templates:
- accountId: ''
isCustom: false
type:
name: Customer invitation
template: invitation
trigger:
- byLoyaltyPoints
- offsetByPercentageOrder
- offsetBySpend
- offsetByStoreRevenue
- offsetPerOrder
- offsetPerProduct
- byPercentageOfPaidInvoice
- byPercentageOfRevenue
- bySpendOfPaidInvoice
- byTieredSpendOfPaidInvoice
- perPaidInvoice
- offsetPerSubscription
- offsetPerReview
- perCompletedForm
- perSelectedAnswer
- customerCartContribution
isTriggerCustom: false
schedule: null
isScheduleCustom: false
settings:
from:
name: null
domain: null
alias: '{{{ sellerName }}} x Greenspark'
isAliasCustom: false
subject: Your {{{type}}} with {{{sellerName}}} {{{impactsTextPast}}}. Track your impact here.
isSubjectCustom: false
preheader: Activate your Greenspark dashboard & grow your impact today.
isPreheaderCustom: false
schedule:
startDate: '2026-05-26T14:06:53.231Z'
endDate: null
isEndDateCustom: false
content:
headerImage: http://res.cloudinary.com/dlilerh6s/image/upload/v1670515295/templates/abgf9boicpxujispedpy.png
isHeaderImageCustom: false
body: '
Hi {{{ firstName }}},
Thanks so much for your {{{sellerName}}} {{{ type }}}!
Did you know that {{{sellerName}}} has partnered with Greenspark to {{{ impactsTextPresent }}} in your name?
Check out your unique digital certificate showcasing the impact your {{{ type }}} has created below.
If you’d like to learn about the story behind your impact, see where it’s taking place, and gain deeper insight into what it means for the planet you can activate your personalised Greenspark dashboard. It’s completely free as a gift from us to you. Follow the link below to discover more!
Many thanks,
{{{sellerName}}} & Greenspark
'
isBodyCustom: false
isFooterHidden: false
isFooterHiddenCustom: false
isTotalImpactHidden: false
isTotalImpactHiddenCustom: false
statuses:
- status: disabled
initiatedAt: '2026-05-26T14:06:53.231Z'
initiatedBy: system
- accountId: ''
isCustom: false
type:
name: Customer update
template: update
trigger:
- byLoyaltyPoints
- offsetByPercentageOrder
- offsetBySpend
- offsetByStoreRevenue
- offsetPerOrder
- offsetPerProduct
- byPercentageOfPaidInvoice
- byPercentageOfRevenue
- bySpendOfPaidInvoice
- byTieredSpendOfPaidInvoice
- perPaidInvoice
- offsetPerSubscription
- offsetPerReview
- perCompletedForm
- perSelectedAnswer
- customerCartContribution
isTriggerCustom: false
schedule: null
isScheduleCustom: false
settings:
from:
name: null
domain: null
alias: '{{{ sellerName }}} x Greenspark'
isAliasCustom: false
subject: Your {{{type}}} with {{{sellerName}}} {{{impactsTextPast}}}. Track your impact here.
isSubjectCustom: false
preheader: Login to your Greenspark dashboard.
isPreheaderCustom: false
schedule:
startDate: '2026-05-26T14:06:53.231Z'
endDate: null
isEndDateCustom: false
content:
headerImage: http://res.cloudinary.com/dlilerh6s/image/upload/v1670515295/templates/abgf9boicpxujispedpy.png
isHeaderImageCustom: false
body: 'Hi {{{ firstName }}},
Thanks again for your {{{ type }}}! {{{sellerName}}} have partnered with Greenspark to {{{ impactsTextPresent }}} in your name. Login to your dashboard to track the impact of your actions.
'
isBodyCustom: false
isFooterHidden: false
isFooterHiddenCustom: false
isTotalImpactHidden: false
isTotalImpactHiddenCustom: false
statuses:
- status: disabled
initiatedAt: '2026-05-26T14:06:53.231Z'
initiatedBy: system
- accountId: ''
isCustom: false
type:
name: Customer nudge
template: nudge
trigger: null
isTriggerCustom: false
schedule:
- 3
- 7
- 14
isScheduleCustom: false
settings:
from:
name: null
domain: null
alias: Greenspark Team
isAliasCustom: false
subject: Your Greenspark invitation is waiting!
isSubjectCustom: false
preheader: Claim your Greenspark dashboard.
isPreheaderCustom: false
schedule:
startDate: '2026-05-26T14:06:53.231Z'
endDate: null
isEndDateCustom: false
content:
headerImage: http://res.cloudinary.com/dlilerh6s/image/upload/v1670515295/templates/abgf9boicpxujispedpy.png
isHeaderImageCustom: false
body: 'Hi {{{ firstName }}},
Your Greenspark invitation is waiting. Claim your dashboard to track your overall impact from your purchases, reviews and newsletter signups with participating Greenspark retailers.
'
isBodyCustom: false
isFooterHidden: false
isFooterHiddenCustom: false
isTotalImpactHidden: false
isTotalImpactHiddenCustom: false
statuses:
- status: disabled
initiatedAt: '2026-05-26T14:06:53.231Z'
initiatedBy: system
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Fetch Templates Defaults
tags:
- Email
/v2/email/templates-defaults:
get:
description: Fetch templates defaults for email sending.
operationId: fetchTemplatesDefaultsV2
parameters: []
responses:
'200':
description: Template defaults has been successfully queried.
content:
application/json:
schema:
example:
variables:
type: order, feedback, newsletter subscription, impact action
firstName: John
lastName: Smith
impactsTextPresent: plant 3 trees, recover 7 plastic bottles and offset 5 kgs of CO2
impactsTextPast: planted 3 trees, recover 7 plastic bottles and offset 5 kgs of CO2
sellerName: Greenspark
templates:
- accountId: ''
isCustom: false
type:
name: Customer invitation
template: invitation
trigger:
- byLoyaltyPoints
- offsetByPercentageOrder
- offsetBySpend
- offsetByStoreRevenue
- offsetPerOrder
- offsetPerProduct
- byPercentageOfPaidInvoice
- byPercentageOfRevenue
- bySpendOfPaidInvoice
- byTieredSpendOfPaidInvoice
- perPaidInvoice
- offsetPerSubscription
- offsetPerReview
- perCompletedForm
- perSelectedAnswer
- customerCartContribution
isTriggerCustom: false
schedule: null
isScheduleCustom: false
settings:
from:
name: null
domain: null
alias: '{{{ sellerName }}} x Greenspark'
isAliasCustom: false
subject: Your {{{type}}} with {{{sellerName}}} {{{impactsTextPast}}}. Track your impact here.
isSubjectCustom: false
preheader: Activate your Greenspark dashboard & grow your impact today.
isPreheaderCustom: false
schedule:
startDate: '2026-05-26T14:06:53.231Z'
endDate: null
isEndDateCustom: false
content:
headerImage: http://res.cloudinary.com/dlilerh6s/image/upload/v1670515295/templates/abgf9boicpxujispedpy.png
isHeaderImageCustom: false
body: 'Hi {{{ firstName }}},
Thanks so much for your {{{sellerName}}} {{{ type }}}!
Did you know that {{{sellerName}}} has partnered with Greenspark to {{{ impactsTextPresent }}} in your name?
Check out your unique digital certificate showcasing the impact your {{{ type }}} has created below.
If you’d like to learn about the story behind your impact, see where it’s taking place, and gain deeper insight into what it means for the planet you can activate your personalised Greenspark dashboard. It’s completely free as a gift from us to you. Follow the link below to discover more!
Many thanks,
{{{sellerName}}} & Greenspark
'
isBodyCustom: false
isFooterHidden: false
isFooterHiddenCustom: false
isTotalImpactHidden: false
isTotalImpactHiddenCustom: false
statuses:
- status: disabled
initiatedAt: '2026-05-26T14:06:53.231Z'
initiatedBy: system
- accountId: ''
isCustom: false
type:
name: Customer update
template: update
trigger:
- byLoyaltyPoints
- offsetByPercentageOrder
- offsetBySpend
- offsetByStoreRevenue
- offsetPerOrder
- offsetPerProduct
- byPercentageOfPaidInvoice
- byPercentageOfRevenue
- bySpendOfPaidInvoice
- byTieredSpendOfPaidInvoice
- perPaidInvoice
- offsetPerSubscription
- offsetPerReview
- perCompletedForm
- perSelectedAnswer
- customerCartContribution
isTriggerCustom: false
schedule: null
isScheduleCustom: false
settings:
from:
name: null
domain: null
alias: '{{{ sellerName }}} x Greenspark'
isAliasCustom: false
subject: Your {{{type}}} with {{{sellerName}}} {{{impactsTextPast}}}. Track your impact here.
isSubjectCustom: false
preheader: Login to your Greenspark dashboard.
isPreheaderCustom: false
schedule:
startDate: '2026-05-26T14:06:53.231Z'
endDate: null
isEndDateCustom: false
content:
headerImage: http://res.cloudinary.com/dlilerh6s/image/upload/v1670515295/templates/abgf9boicpxujispedpy.png
isHeaderImageCustom: false
body: 'Hi {{{ firstName }}},
Thanks again for your {{{ type }}}! {{{sellerName}}} have partnered with Greenspark to {{{ impactsTextPresent }}} in your name. Login to your dashboard to track the impact of your actions.
'
isBodyCustom: false
isFooterHidden: false
isFooterHiddenCustom: false
isTotalImpactHidden: false
isTotalImpactHiddenCustom: false
statuses:
- status: disabled
initiatedAt: '2026-05-26T14:06:53.231Z'
initiatedBy: system
- accountId: ''
isCustom: false
type:
name: Customer nudge
template: nudge
trigger: null
isTriggerCustom: false
schedule:
- 3
- 7
- 14
isScheduleCustom: false
settings:
from:
name: null
domain: null
alias: Greenspark Team
isAliasCustom: false
subject: Your Greenspark invitation is waiting!
isSubjectCustom: false
preheader: Claim your Greenspark dashboard.
isPreheaderCustom: false
schedule:
startDate: '2026-05-26T14:06:53.231Z'
endDate: null
isEndDateCustom: false
content:
headerImage: http://res.cloudinary.com/dlilerh6s/image/upload/v1670515295/templates/abgf9boicpxujispedpy.png
isHeaderImageCustom: false
body: 'Hi {{{ firstName }}},
Your Greenspark invitation is waiting. Claim your dashboard to track your overall impact from your purchases, reviews and newsletter signups with participating Greenspark retailers.
'
isBodyCustom: false
isFooterHidden: false
isFooterHiddenCustom: false
isTotalImpactHidden: false
isTotalImpactHiddenCustom: false
statuses:
- status: disabled
initiatedAt: '2026-05-26T14:06:53.231Z'
initiatedBy: system
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Fetch Templates Defaults
tags:
- Email
/v1/email/templates/test:
post:
description: Add your notification template for email sending.
operationId: testTemplate
parameters: []
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/TestNotificationTemplateRequestDto'
responses:
'200':
description: Test email has been successfully sent.
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Test Template
tags:
- Email
/v1/email/domains/{domainId}/verify:
post:
deprecated: true
description: Deprecated — redirects to v2. Use verifyDomainV2.
operationId: verifyDomain
parameters:
- name: domainId
required: true
in: path
description: The id of the custom domain object.
schema:
example: 63c5857475784b9acf05c919
type: string
responses:
'200':
description: Domain has been successfully verified.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomainDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Verify Domain
tags:
- Email
/v2/email/domains/{domainId}/verify:
post:
description: Verify your domain based on the provided DNS records.
operationId: verifyDomainV2
parameters:
- name: domainId
required: true
in: path
description: The id of the custom domain object.
schema:
example: 63c5857475784b9acf05c919
type: string
responses:
'200':
description: Domain has been successfully verified.
content:
application/json:
schema:
$ref: '#/components/schemas/CustomDomainDto'
'400':
description: Bad request.
'401':
description: Provide your API key.
'403':
description: Please upgrade to a growth, premium or enterprise plan.
'404':
description: Not found.
security:
- access-key: []
summary: Verify Domain
tags:
- Email
components:
schemas:
SettingsRequestBody:
type: object
properties:
from:
description: The email address used for sending emails.
allOf:
- $ref: '#/components/schemas/EmailRequestBody'
alias:
type: string
maxLength: 200
description: This is the name display for the specified sender email address.
example: Greenspark
subject:
type: string
maxLength: 200
description: Your subject line is one of the first things that your customers read and is a key driver in successful open rates.
example: Your {{type}} with {{sellerName}} {{impactsTextPast}}. Track your impact here.
preheader:
type: string
maxLength: 200
description: The preheader is the text following the subject line when an email is previewed.
example: Activate your Greenspark dashboard & grow your impact today.
schedule:
description: You can choose to send your template continuously starting at the selected start date or only during a specific date range.
allOf:
- $ref: '#/components/schemas/ScheduleRequestBody'
required:
- from
- alias
- subject
- preheader
- schedule
CustomDomainRequestBody:
type: object
properties:
domain:
type: string
description: The domain name.
example: example.com
required:
- domain
SettingsDto:
type: object
properties:
alias:
type: string
description: This is the name display for the specified sender email address.
example: Greenspark
from:
description: The email address used for sending emails.
allOf:
- $ref: '#/components/schemas/EmailDto'
isAliasCustom:
type: boolean
description: Boolean flag indicates customized alias.
example: 'false'
isPreheaderCustom:
type: boolean
description: Boolean flag indicates customized preheader.
example: 'false'
isSubjectCustom:
type: boolean
description: Boolean flag indicates customized subject.
example: 'false'
preheader:
type: string
description: The preheader is the text following the subject line when an email is previewed.
example: Activate your Greenspark dashboard & grow your impact today.
schedule:
description: You can choose to send your template continuously starting at the selected start date or only during a specific date range.
allOf:
- $ref: '#/components/schemas/ScheduleDto'
subject:
type: string
description: Your subject line is one of the first things that your customers read and is a key driver in successful open rates.
example: Your {{type}} with {{sellerName}} {{impactsTextPast}}. Track your impact here.
required:
- alias
- from
- isAliasCustom
- isPreheaderCustom
- isSubjectCustom
- preheader
- schedule
- subject
EmailRequestBody:
type: object
properties:
name:
type: string
maxLength: 200
description: The name part of the email address.
example: hello
domain:
type: string
maxLength: 200
description: The domain name used for sending emails based on this template.
example: get-greenspark.com
required:
- name
- domain
DnsDto:
type: object
properties:
mailCname:
description: Record that must be added to your domain.
allOf:
- $ref: '#/components/schemas/RecordDto'
dkim1:
description: Record that must be added to your domain.
allOf:
- $ref: '#/components/schemas/RecordDto'
dkim2:
description: Record that must be added to your domain.
allOf:
- $ref: '#/components/schemas/RecordDto'
required:
- mailCname
- dkim1
- dkim2
ContentDto:
type: object
properties:
body:
type: string
description: Use our pre-defined email body or customise it to fit your brand. Add dynamic data by using the variables provided.
example: Thanks so much for your order!
headerImage:
type: string
description: Add your own logo to the top of the email or use our pre-defined header image. If you use your own header image please ensure it is maximum 1370 x 700, or has a 2:1 aspect ratio.
example: http://res.cloudinary.com/dlilerh6s/image/upload/v1670515295/templates/abgf9boicpxujispedpy.png
isBodyCustom:
type: boolean
description: Boolean flag indicates customized body.
example: 'false'
isFooterHidden:
type: boolean
description: Hide our email footer explaining the benefits of Greenspark.
example: 'false'
isFooterHiddenCustom:
type: boolean
description: Boolean flag indicates customized hidden footer setting.
example: 'false'
isHeaderImageCustom:
type: boolean
description: Boolean flag indicates customized header image.
example: 'false'
isTotalImpactHidden:
type: boolean
description: Hide your total impact so far within your emails.
example: 'false'
isTotalImpactHiddenCustom:
type: boolean
description: Boolean flag indicates customized hidden total impact setting.
example: 'false'
required:
- body
- headerImage
- isBodyCustom
- isFooterHidden
- isFooterHiddenCustom
- isHeaderImageCustom
- isTotalImpactHidden
- isTotalImpactHiddenCustom
RecordDto:
type: object
properties:
valid:
type: boolean
description: The indicator of the DNS record validity.
example: false
type:
type: string
description: The type of the record that must be added to your domain.
example: cname
host:
type: string
description: The type of the record that must be added to your domain.
example: em43944.example.com
data:
type: string
description: The value of the record that must be added to your domain.
example: u250887955.wl0466.sendgrid.net
required:
- valid
- type
- host
- data
TestNotificationTemplateRequestDto:
type: object
properties:
customerEmail:
type: string
description: Test recipient email address.
example: customer@example.com
notificationTemplate:
description: Notification template to test.
allOf:
- $ref: '#/components/schemas/NotificationTemplateRequestDto'
required:
- customerEmail
- notificationTemplate
ScheduleDto:
type: object
properties:
endDate:
format: date-time
type: string
description: The end date of the scheduled email sending.
example: '2023-03-08T13:26:33.969Z'
isEndDateCustom:
type: boolean
description: Boolean flag indicates customized schedule end date.
example: 'false'
startDate:
format: date-time
type: string
description: The start date of the scheduled email sending.
example: '2023-02-08T13:26:33.969Z'
required:
- endDate
- isEndDateCustom
- startDate
CustomDomainDto:
type: object
properties:
id:
type: string
description: The id of the custom domain object.
example: 63c5857475784b9acf05c919
domain:
type: string
description: The domain name.
example: example.com
dns:
description: This object contains the DNS records that must be added to your domain.
example:
mailCname:
valid: false
type: cname
host: em43944.example.com
data: u250887955.wl0466.sendgrid.net
dkim1:
valid: false
type: cname
host: s1._domainkey.example.com
data: s1.domainkey.u250887955.wl0466.sendgrid.net
dkim2:
valid: false
type: cname
host: s2._domainkey.example.com
data: s2.domainkey.u250887955.wl0466.sendgrid.net
allOf:
- $ref: '#/components/schemas/DnsDto'
valid:
type: boolean
description: The indicator of the DNS records validity.
example: false
required:
- id
- domain
- dns
- valid
TypeDto:
type: object
properties:
isScheduleCustom:
type: boolean
description: Boolean flag indicates customized schedule.
example: 'false'
isTriggerCustom:
type: boolean
description: Boolean flag indicates customized trigger.
example: 'false'
name:
type: string
description: Name of the template
example: Customer invitation template
schedule:
description: Sets how many days after an impact creation a signup nudging email is sent out to your customer.
example: '[3, 7, 14]'
type: array
items:
type: string
template:
type: object
description: The type of the template.
example: invitation
trigger:
description: Choose the impact action which triggers your email to be sent out.
example: '["offsetPerOrder", "offsetPerProduct"]'
type: array
items:
type: string
required:
- isScheduleCustom
- isTriggerCustom
- name
- schedule
- template
- trigger
NotificationTemplateRequestDto:
type: object
properties:
isActive:
type: boolean
description: Start sending this template to your customers.
example: 'false'
type:
$ref: '#/components/schemas/TypeRequestBody'
settings:
$ref: '#/components/schemas/SettingsRequestBody'
content:
$ref: '#/components/schemas/ContentRequestBody'
required:
- isActive
- type
- settings
- content
EmailDto:
type: object
properties:
domain:
type: string
description: The domain name used for sending emails based on this template.
example: get-greenspark.com
name:
type: string
description: The name part of the email address.
example: hello
required:
- domain
- name
ContentRequestBody:
type: object
properties:
headerImage:
type: string
maxLength: 50000
description: Add your own logo to the top of the email or use our pre-defined header image. If you use your own header image please ensure it is maximum 1370 x 700, or has a 2:1 aspect ratio. You can upload it as a base 64 encoded image.
example: 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
body:
type: string
maxLength: 10000
description: Use our pre-defined email body or customise it to fit your brand. Add dynamic data by using the variables provided.
example: Thanks so much for your order!
isFooterHidden:
type: boolean
description: Hide our email footer explaining the benefits of Greenspark.
example: 'false'
isTotalImpactHidden:
type: boolean
description: Hide your total impact so far within your emails.
example: 'false'
required:
- headerImage
- body
- isFooterHidden
- isTotalImpactHidden
ScheduleRequestBody:
type: object
properties:
startDate:
format: date-time
type: string
description: The start date of the scheduled email sending.
example: '2023-02-08T13:26:33.969Z'
endDate:
format: date-time
type: string
description: The end date of the scheduled email sending.
example: '2023-03-08T13:26:33.969Z'
required:
- startDate
- endDate
NotificationTemplateResponseDto:
type: object
properties:
id:
type: string
description: The id of the template.
example: 63e3a30d093df17fa11c1fbe
isCustom:
type: boolean
description: Boolean flag indicates customized template.
example: 'false'
type:
$ref: '#/components/schemas/TypeDto'
settings:
$ref: '#/components/schemas/SettingsDto'
content:
$ref: '#/components/schemas/ContentDto'
required:
- id
- isCustom
- type
- settings
- content
TypeRequestBody:
type: object
properties:
name:
type: string
maxLength: 200
description: Name of the template
example: Customer invitation template
template:
type: string
enum:
- invitation
- update
- nudge
description: The type of the template.
example: invitation
trigger:
description: Choose the impact action which triggers your email to be sent out.
example: '["offsetPerOrder", "offsetPerProduct"]'
type: array
items:
type: string
schedule:
description: Sets how many days after an impact creation a signup nudging email is sent out to your customer.
example: '[3, 7, 14]'
type: array
items:
type: integer
maximum: 365
minimum: 0
required:
- name
- template
- trigger
- schedule
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: x-api-key
description: 'Greenspark API key. Match key to host: sandbox key -> sandbox host, production key -> production host.'