Node.js
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const result = await shoply.store.emailSettings();<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$result = $shoply->store->emailSettings();
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
result = client.store.emailSettings()
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/email-settings \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/email-settings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.shoply.gg/v1/stores/{storeId}/email-settings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/email-settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": null,
"code": null,
"data": {
"fromName": "",
"replyTo": "",
"defaultInstructions": "",
"buttons": [],
"buttonDefaultLabel": "Set Up and Download",
"maxButtons": 4,
"panelButtonUrl": "https://northwind.myshoply.gg/customer-panel",
"autoReviews": true,
"firstOrderCouponEnabled": false,
"firstOrderCouponPercent": 10,
"firstOrderCouponDays": 30,
"firstOrderCouponDelivery": "separate",
"firstOrderCouponDelayMinutes": 15,
"firstOrderCouponPrefix": "ENJOY_",
"maxFirstOrderPercent": 90,
"maxFirstOrderDays": 3650,
"notifyEnabled": false,
"notifyAddress": "",
"emailStockEnabled": false,
"emailStockThreshold": 5,
"emailPayoutsEnabled": true,
"emailCustomPaidEnabled": true,
"emailTicketsEnabled": true,
"emailDisputeOpenedEnabled": true,
"emailDisputeClosedEnabled": true,
"testEmailEvery": {
"limit": 1,
"window": 300
},
"discordWebhookSet": false,
"discordWebhookMasked": "",
"discordOrdersEnabled": false,
"discordStockEnabled": false,
"discordErrorsEnabled": false,
"discordReviewsEnabled": false,
"discordPayoutsEnabled": false,
"discordCustomPaidEnabled": false,
"discordTicketsEnabled": false,
"discordDisputesEnabled": false,
"discordStockThreshold": 5,
"discordFailure": null,
"storeName": "Northwind Keys",
"emailAccent": "#6a3ce2",
"updatedAt": "2026-10-22T16:20:18.564Z",
"version": "5b2d9f49b442e1162e455b53"
}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}Store
Get email and alert settings
What the store’s emails say, which alerts it is sent, the coupon for a first order, and whether an order with no review is given one (autoReviews). Its Discord webhook is answered only as saved or not. These settings are changed in the dashboard.
Needs the store.read permission (Read Store).
GET
/
stores
/
{storeId}
/
email-settings
Node.js
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const result = await shoply.store.emailSettings();<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$result = $shoply->store->emailSettings();
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
result = client.store.emailSettings()
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/email-settings \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/email-settings"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.shoply.gg/v1/stores/{storeId}/email-settings")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/email-settings")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"success": true,
"message": null,
"code": null,
"data": {
"fromName": "",
"replyTo": "",
"defaultInstructions": "",
"buttons": [],
"buttonDefaultLabel": "Set Up and Download",
"maxButtons": 4,
"panelButtonUrl": "https://northwind.myshoply.gg/customer-panel",
"autoReviews": true,
"firstOrderCouponEnabled": false,
"firstOrderCouponPercent": 10,
"firstOrderCouponDays": 30,
"firstOrderCouponDelivery": "separate",
"firstOrderCouponDelayMinutes": 15,
"firstOrderCouponPrefix": "ENJOY_",
"maxFirstOrderPercent": 90,
"maxFirstOrderDays": 3650,
"notifyEnabled": false,
"notifyAddress": "",
"emailStockEnabled": false,
"emailStockThreshold": 5,
"emailPayoutsEnabled": true,
"emailCustomPaidEnabled": true,
"emailTicketsEnabled": true,
"emailDisputeOpenedEnabled": true,
"emailDisputeClosedEnabled": true,
"testEmailEvery": {
"limit": 1,
"window": 300
},
"discordWebhookSet": false,
"discordWebhookMasked": "",
"discordOrdersEnabled": false,
"discordStockEnabled": false,
"discordErrorsEnabled": false,
"discordReviewsEnabled": false,
"discordPayoutsEnabled": false,
"discordCustomPaidEnabled": false,
"discordTicketsEnabled": false,
"discordDisputesEnabled": false,
"discordStockThreshold": 5,
"discordFailure": null,
"storeName": "Northwind Keys",
"emailAccent": "#6a3ce2",
"updatedAt": "2026-10-22T16:20:18.564Z",
"version": "5b2d9f49b442e1162e455b53"
}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}{
"success": false,
"message": "<string>",
"code": "<string>",
"data": null,
"errors": {}
}Authorizations
A secret API key, made under Developers in the dashboard: Authorization: Bearer shoply_sk_...
Path Parameters
The store's ID. A key reaches the store it was made in: GET /key answers which.

