Send a test email
/settings/test_emailCosts 2 rate-limit points · Rate limits
Send a preview of the download email to the merchant (to; default the shop's email), built from one of the shop's own orders, as the email settings page's Send test email does.
Nothing is charged and no order changes. 422 when the shop has no order to build the preview from; 409 when the shop's email sending is blocked.
Also searched assend test emailpreview the download emailemail me a testcheck the email template
Request body
tostringExample:owner@example.com
Returns
sentboolean, nullableExample:truetostring, nullableExample:owner@example.com
Errors
Missing or invalid API key.
The request conflicts with the current state (an order Shopify is not ready to fulfil, a digital product that already exists). Nothing was changed; read the message, don't retry blindly.
The request failed validation, or sent a key the action does not take (code: "unknown_parameters" with unknown and accepted). Nothing was saved.
Rate limited. Cost-weighted per API key, shared with API v1: a read costs 1 point, a write 2, 40 points per fixed 60-second window. Every response carries X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset (Unix time the window ends); a 429 adds Retry-After (seconds), retry_after, retryable: true and a next_step in the body. A 429 did nothing: wait retry_after seconds, then send the same request again. The budget is per key, so every tool or script using the key shares it; prefer one list call with per_page over many single reads.
Shopify (or the email service) did not complete the request. Nothing was changed; try again shortly.
Every error has the same shape: see Errors.
curl -X POST "https://app.filemonk.io/api/v2/external/settings/test_email" \
-H "X-Auth-Token: $FILEMONK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"to": "owner@example.com"
}'const res = await fetch("https://app.filemonk.io/api/v2/external/settings/test_email", {
method: "POST",
headers: {
"X-Auth-Token": process.env.FILEMONK_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"to": "owner@example.com"
}),
});
const data = await res.json();import os
import requests
res = requests.post(
"https://app.filemonk.io/api/v2/external/settings/test_email",
headers={"X-Auth-Token": os.environ["FILEMONK_API_KEY"]},
json={
"to": "owner@example.com"
},
)
data = res.json()require "net/http"
require "json"
uri = URI("https://app.filemonk.io/api/v2/external/settings/test_email")
req = Net::HTTP::Post.new(uri, "X-Auth-Token" => ENV["FILEMONK_API_KEY"], "Content-Type" => "application/json")
req.body = {
to: "owner@example.com"
}.to_json
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body){
"sent": true,
"to": "owner@example.com"
}{
"errors": [
"Invalid API key"
]
}{
"errors": [
"This product already has a digital product"
]
}{
"errors": [
"access.download_limit_count must be an integer of at least 0"
],
"field_errors": {
"access.download_limit_count": [
"must be an integer of at least 0"
]
}
}{
"errors": [
"You have exceeded the rate limit of 40 points per 60 seconds. Read requests cost 1 point(s) and write requests cost 2 point(s). Please retry after 12 second(s)."
],
"code": "rate_limited",
"retry_after": 12,
"error": "Rate limit exceeded",
"message": "You have exceeded the rate limit of 40 points per 60 seconds. Read requests cost 1 point(s) and write requests cost 2 point(s). Please retry after 12 second(s)."
}{
"errors": [
"Shopify did not complete the request. Nothing was changed; try again shortly."
],
"code": "shopify_error"
}