Settings
13 endpoints. Each needs an API key or OAuth token with the scope shown; the key already names its store, so paths start at /v1/store. Generated from the live contract; also in openapi.json.
Store profile, branding, status, locale and legal details
/v1/store/settings/generalOr name the store: GET /v1/stores/{storeId}/settings/general
Response StoreGeneral
storeStorerequiredlogoUrlstringrequiredfaviconUrlstringrequiredbrandColorHexColorrequiredstatusStorefrontStatusrequiredstatusMessagestringrequiredtimezoneTimeZonerequiredcurrencyDisplayCurrencyDisplayrequiredlegalLegalDetailsrequiredpreviousHandlesobject[]requiredhandleStoreHandlerequiredchangedAtTimestamprequired
Example
curl "https://api.shopfa.st/v1/store/settings/general" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/settings/general', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"GET",
"https://api.shopfa.st/v1/store/settings/general",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("GET", "https://api.shopfa.st/v1/store/settings/general", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Update the store profile, brand color, storefront status, time zone, currency display or legal details
/v1/store/settings/generalOr name the store: PATCH /v1/stores/{storeId}/settings/general
Body
namestringtaglinestringsupportEmailstring | nullbrandColorstringstatus"open" | "closed" | "maintenance"statusMessagestringtimezonestringcurrencyDisplay"symbol" | "code"legalobjectbusinessNamestringrequiredregistrationNumberstringrequiredvatNumberstringrequiredaddressLine1stringrequiredaddressLine2stringrequiredcitystringrequiredpostalCodestringrequiredregionstringrequiredcountrystring | nullrequired
Response StoreGeneral
storeStorerequiredlogoUrlstringrequiredfaviconUrlstringrequiredbrandColorHexColorrequiredstatusStorefrontStatusrequiredstatusMessagestringrequiredtimezoneTimeZonerequiredcurrencyDisplayCurrencyDisplayrequiredlegalLegalDetailsrequiredpreviousHandlesobject[]requiredhandleStoreHandlerequiredchangedAtTimestamprequired
Example
curl -X PATCH "https://api.shopfa.st/v1/store/settings/general" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "string",
"tagline": "string",
"supportEmail": "[email protected]",
"brandColor": "string",
"status": "open",
"statusMessage": "string",
"timezone": "string",
"currencyDisplay": "symbol",
"legal": {
"businessName": "string",
"registrationNumber": "string",
"vatNumber": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"postalCode": "string",
"region": "string",
"country": "string"
}
}'const res = await fetch('https://api.shopfa.st/v1/store/settings/general', {
method: 'PATCH',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"name": "string",
"tagline": "string",
"supportEmail": "[email protected]",
"brandColor": "string",
"status": "open",
"statusMessage": "string",
"timezone": "string",
"currencyDisplay": "symbol",
"legal": {
"businessName": "string",
"registrationNumber": "string",
"vatNumber": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"postalCode": "string",
"region": "string",
"country": "string"
}
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"PATCH",
"https://api.shopfa.st/v1/store/settings/general",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"name": "string",
"tagline": "string",
"supportEmail": "[email protected]",
"brandColor": "string",
"status": "open",
"statusMessage": "string",
"timezone": "string",
"currencyDisplay": "symbol",
"legal": {
"businessName": "string",
"registrationNumber": "string",
"vatNumber": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"postalCode": "string",
"region": "string",
"country": "string"
}
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("PATCH", "https://api.shopfa.st/v1/store/settings/general", strings.NewReader(`{
"name": "string",
"tagline": "string",
"supportEmail": "[email protected]",
"brandColor": "string",
"status": "open",
"statusMessage": "string",
"timezone": "string",
"currencyDisplay": "symbol",
"legal": {
"businessName": "string",
"registrationNumber": "string",
"vatNumber": "string",
"addressLine1": "string",
"addressLine2": "string",
"city": "string",
"postalCode": "string",
"region": "string",
"country": "string"
}
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Is a store address free?
/v1/store/settings/handleOr name the store: GET /v1/stores/{storeId}/settings/handle
Parameters
handlestringqueryrequired
Response CheckStoreHandleResponse
handlestringrequiredavailablebooleanrequiredreasonstringrequired
Example
curl "https://api.shopfa.st/v1/store/settings/handle" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/settings/handle', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"GET",
"https://api.shopfa.st/v1/store/settings/handle",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("GET", "https://api.shopfa.st/v1/store/settings/handle", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Change the store address; the old address keeps redirecting
/v1/store/settings/handleOr name the store: PUT /v1/stores/{storeId}/settings/handle
Body
handlestringrequired
Response StoreGeneral
storeStorerequiredlogoUrlstringrequiredfaviconUrlstringrequiredbrandColorHexColorrequiredstatusStorefrontStatusrequiredstatusMessagestringrequiredtimezoneTimeZonerequiredcurrencyDisplayCurrencyDisplayrequiredlegalLegalDetailsrequiredpreviousHandlesobject[]requiredhandleStoreHandlerequiredchangedAtTimestamprequired
Example
curl -X PUT "https://api.shopfa.st/v1/store/settings/handle" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"handle": "string"
}'const res = await fetch('https://api.shopfa.st/v1/store/settings/handle', {
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"handle": "string"
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"PUT",
"https://api.shopfa.st/v1/store/settings/handle",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"handle": "string"
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("PUT", "https://api.shopfa.st/v1/store/settings/handle", strings.NewReader(`{
"handle": "string"
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Use a finished image upload as the logo or favicon
/v1/store/settings/assetsOr name the store: POST /v1/stores/{storeId}/settings/assets
Body
kind"logo" | "favicon"requireduploadIdupl_…required
Response StoreGeneral
storeStorerequiredlogoUrlstringrequiredfaviconUrlstringrequiredbrandColorHexColorrequiredstatusStorefrontStatusrequiredstatusMessagestringrequiredtimezoneTimeZonerequiredcurrencyDisplayCurrencyDisplayrequiredlegalLegalDetailsrequiredpreviousHandlesobject[]requiredhandleStoreHandlerequiredchangedAtTimestamprequired
Example
curl -X POST "https://api.shopfa.st/v1/store/settings/assets" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"kind": "logo",
"uploadId": "upl_0123456789abcdefghjk"
}'const res = await fetch('https://api.shopfa.st/v1/store/settings/assets', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"kind": "logo",
"uploadId": "upl_0123456789abcdefghjk"
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/settings/assets",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"kind": "logo",
"uploadId": "upl_0123456789abcdefghjk"
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/settings/assets", strings.NewReader(`{
"kind": "logo",
"uploadId": "upl_0123456789abcdefghjk"
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Remove the logo or favicon
/v1/store/settings/assets/{kind}Or name the store: DELETE /v1/stores/{storeId}/settings/assets/{kind}
Parameters
kind"logo" | "favicon"pathrequired
Response StoreGeneral
storeStorerequiredlogoUrlstringrequiredfaviconUrlstringrequiredbrandColorHexColorrequiredstatusStorefrontStatusrequiredstatusMessagestringrequiredtimezoneTimeZonerequiredcurrencyDisplayCurrencyDisplayrequiredlegalLegalDetailsrequiredpreviousHandlesobject[]requiredhandleStoreHandlerequiredchangedAtTimestamprequired
Example
curl -X DELETE "https://api.shopfa.st/v1/store/settings/assets/logo" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/settings/assets/logo', {
method: 'DELETE',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"DELETE",
"https://api.shopfa.st/v1/store/settings/assets/logo",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("DELETE", "https://api.shopfa.st/v1/store/settings/assets/logo", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Which events reach whom, the Discord and Telegram channels and recent deliveries
/v1/store/settings/notificationsOr name the store: GET /v1/stores/{storeId}/settings/notifications
Response NotificationSettings
rulesNotificationRule[]requiredownerobjectrequirednamestringrequiredemailEmailrequired
teamRecipientsobject[]requireduserIdUserIdrequirednamestringrequiredemailEmailrequiredroleNamestringrequiredenabledbooleanrequired
discordobjectrequiredconfiguredbooleanrequiredhintstringrequired
telegramobjectrequiredconfiguredbooleanrequiredchatIdstringrequiredbotNamestringrequired
simulatedbooleanrequiredrecentNotificationDelivery[]required
Example
curl "https://api.shopfa.st/v1/store/settings/notifications" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/settings/notifications', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"GET",
"https://api.shopfa.st/v1/store/settings/notifications",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("GET", "https://api.shopfa.st/v1/store/settings/notifications", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Alerts and tests ShopFast sent for this store, newest first (or by alert, channel, recipient or status)
/v1/store/settings/notifications/deliveriesOr name the store: GET /v1/stores/{storeId}/settings/notifications/deliveries
Parameters
qstringquerychannel"owner_email" | "team_email" | "discord" | "telegram" | nullquerystatus"sent" | "simulated" | "failed" | nullquerycursorstring | nullquerylimitinteger | stringquerysort"time" | "event" | "channel" | "target" | "status"querydir"asc" | "desc"query
Response ListNotificationDeliveriesResponse
itemsNotificationDelivery[]requirednextCursorCursor | nullrequired
Example
curl "https://api.shopfa.st/v1/store/settings/notifications/deliveries" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/settings/notifications/deliveries', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"GET",
"https://api.shopfa.st/v1/store/settings/notifications/deliveries",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("GET", "https://api.shopfa.st/v1/store/settings/notifications/deliveries", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Save the event × channel toggles and which team members get team emails
/v1/store/settings/notifications/rulesOr name the store: PUT /v1/stores/{storeId}/settings/notifications/rules
Body
rulesobject[]requiredevent"order_paid" | "order_refunded" | "order_disputed" | "product_low_stock" | "product_out_of_stock" | "product_restocked" | "review_posted" | "subscription_renewed" | "subscription_cancelled" | "payout_sent" | "team_member_joined" | "checkout_blocked" | "security_alert" | "ticket_opened" | "ticket_replied" | "ticket_sla_breached" | "ticket_rated" | "discord_problem" | "payment_waiting" | "payment_review"requiredownerEmailbooleanrequiredteamEmailbooleanrequireddiscordbooleanrequiredtelegrambooleanrequired
teamRecipientsobject[]requireduserIdstringrequiredenabledbooleanrequired
Response NotificationSettings
rulesNotificationRule[]requiredownerobjectrequirednamestringrequiredemailEmailrequired
teamRecipientsobject[]requireduserIdUserIdrequirednamestringrequiredemailEmailrequiredroleNamestringrequiredenabledbooleanrequired
discordobjectrequiredconfiguredbooleanrequiredhintstringrequired
telegramobjectrequiredconfiguredbooleanrequiredchatIdstringrequiredbotNamestringrequired
simulatedbooleanrequiredrecentNotificationDelivery[]required
Example
curl -X PUT "https://api.shopfa.st/v1/store/settings/notifications/rules" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"rules": [
{
"event": "order_paid",
"ownerEmail": false,
"teamEmail": false,
"discord": false,
"telegram": false
}
],
"teamRecipients": [
{
"userId": "string",
"enabled": false
}
]
}'const res = await fetch('https://api.shopfa.st/v1/store/settings/notifications/rules', {
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"rules": [
{
"event": "order_paid",
"ownerEmail": false,
"teamEmail": false,
"discord": false,
"telegram": false
}
],
"teamRecipients": [
{
"userId": "string",
"enabled": false
}
]
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"PUT",
"https://api.shopfa.st/v1/store/settings/notifications/rules",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"rules": [
{
"event": "order_paid",
"ownerEmail": False,
"teamEmail": False,
"discord": False,
"telegram": False
}
],
"teamRecipients": [
{
"userId": "string",
"enabled": False
}
]
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("PUT", "https://api.shopfa.st/v1/store/settings/notifications/rules", strings.NewReader(`{
"rules": [
{
"event": "order_paid",
"ownerEmail": false,
"teamEmail": false,
"discord": false,
"telegram": false
}
],
"teamRecipients": [
{
"userId": "string",
"enabled": false
}
]
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Connect or clear the Discord webhook or the Telegram bot (secrets are encrypted and never sent back)
/v1/store/settings/notifications/channelOr name the store: PUT /v1/stores/{storeId}/settings/notifications/channel
Response NotificationSettings
rulesNotificationRule[]requiredownerobjectrequirednamestringrequiredemailEmailrequired
teamRecipientsobject[]requireduserIdUserIdrequirednamestringrequiredemailEmailrequiredroleNamestringrequiredenabledbooleanrequired
discordobjectrequiredconfiguredbooleanrequiredhintstringrequired
telegramobjectrequiredconfiguredbooleanrequiredchatIdstringrequiredbotNamestringrequired
simulatedbooleanrequiredrecentNotificationDelivery[]required
Example
curl -X PUT "https://api.shopfa.st/v1/store/settings/notifications/channel" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel": "discord",
"webhookUrl": "string"
}'const res = await fetch('https://api.shopfa.st/v1/store/settings/notifications/channel', {
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"channel": "discord",
"webhookUrl": "string"
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"PUT",
"https://api.shopfa.st/v1/store/settings/notifications/channel",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"channel": "discord",
"webhookUrl": "string"
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("PUT", "https://api.shopfa.st/v1/store/settings/notifications/channel", strings.NewReader(`{
"channel": "discord",
"webhookUrl": "string"
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Send a test notification to one channel
/v1/store/settings/notifications/testOr name the store: POST /v1/stores/{storeId}/settings/notifications/test
Body
channel"owner_email" | "team_email" | "discord" | "telegram"required
Response NotificationDelivery
idNotificationDeliveryIdrequiredeventNotificationEvent | nullrequiredchannelNotificationChannelrequiredtargetstringrequiredstatusDeliveryStatusrequireddetailstringrequiredisTestbooleanrequiredcreatedAtTimestamprequired
Example
curl -X POST "https://api.shopfa.st/v1/store/settings/notifications/test" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"channel": "owner_email"
}'const res = await fetch('https://api.shopfa.st/v1/store/settings/notifications/test', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"channel": "owner_email"
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"POST",
"https://api.shopfa.st/v1/store/settings/notifications/test",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"channel": "owner_email"
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("POST", "https://api.shopfa.st/v1/store/settings/notifications/test", strings.NewReader(`{
"channel": "owner_email"
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)Try it with your key
Analytics, chat and review apps, Telegram, Discord and outgoing webhooks
/v1/store/settings/integrationsOr name the store: GET /v1/stores/{storeId}/settings/integrations
Response IntegrationsOverview
storefrontStorefrontIntegrationsrequiredtelegramobjectrequiredconfiguredbooleanrequiredchatIdstringrequiredbotNamestringrequired
discordobjectrequiredconnectedbooleanrequiredguildNamestringrequired
webhookEndpointsinteger | nullrequired
Example
curl "https://api.shopfa.st/v1/store/settings/integrations" \
-H "Authorization: Bearer $SHOPFAST_API_KEY"const res = await fetch('https://api.shopfa.st/v1/store/settings/integrations', {
method: 'GET',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
},
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"GET",
"https://api.shopfa.st/v1/store/settings/integrations",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("GET", "https://api.shopfa.st/v1/store/settings/integrations", nil)
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
res, err := http.DefaultClient.Do(req)Try it with your key
Save the storefront integration ids (each checked against a strict pattern)
/v1/store/settings/integrationsOr name the store: PUT /v1/stores/{storeId}/settings/integrations
Body
googleAnalyticsIdstring | nullrequiredmetaPixelIdstring | nullrequiredclarityIdstring | nullrequiredcrispWebsiteIdstring | nullrequiredtawkobject | nullrequiredconsentRequiredbooleanrequiredtrustpilotBccstring | nullrequiredgtmContainerIdstring | nullgtmOnCheckoutboolean
Response IntegrationsOverview
storefrontStorefrontIntegrationsrequiredtelegramobjectrequiredconfiguredbooleanrequiredchatIdstringrequiredbotNamestringrequired
discordobjectrequiredconnectedbooleanrequiredguildNamestringrequired
webhookEndpointsinteger | nullrequired
Example
curl -X PUT "https://api.shopfa.st/v1/store/settings/integrations" \
-H "Authorization: Bearer $SHOPFAST_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"googleAnalyticsId": "string",
"metaPixelId": "string",
"clarityId": "string",
"crispWebsiteId": "string",
"tawk": {
"propertyId": "string",
"widgetId": "string"
},
"consentRequired": false,
"trustpilotBcc": "[email protected]",
"gtmContainerId": null,
"gtmOnCheckout": false
}'const res = await fetch('https://api.shopfa.st/v1/store/settings/integrations', {
method: 'PUT',
headers: {
Authorization: `Bearer ${process.env.SHOPFAST_API_KEY}`,
'Content-Type': 'application/json',
},
body: JSON.stringify({
"googleAnalyticsId": "string",
"metaPixelId": "string",
"clarityId": "string",
"crispWebsiteId": "string",
"tawk": {
"propertyId": "string",
"widgetId": "string"
},
"consentRequired": false,
"trustpilotBcc": "[email protected]",
"gtmContainerId": null,
"gtmOnCheckout": false
}),
});
if (!res.ok) throw new Error((await res.json()).detail);
const data = await res.json();import os, requests
res = requests.request(
"PUT",
"https://api.shopfa.st/v1/store/settings/integrations",
headers={"Authorization": f"Bearer {os.environ['SHOPFAST_API_KEY']}"},
json={
"googleAnalyticsId": "string",
"metaPixelId": "string",
"clarityId": "string",
"crispWebsiteId": "string",
"tawk": {
"propertyId": "string",
"widgetId": "string"
},
"consentRequired": False,
"trustpilotBcc": "[email protected]",
"gtmContainerId": None,
"gtmOnCheckout": False
},
)
res.raise_for_status()
data = res.json()req, _ := http.NewRequest("PUT", "https://api.shopfa.st/v1/store/settings/integrations", strings.NewReader(`{
"googleAnalyticsId": "string",
"metaPixelId": "string",
"clarityId": "string",
"crispWebsiteId": "string",
"tawk": {
"propertyId": "string",
"widgetId": "string"
},
"consentRequired": false,
"trustpilotBcc": "[email protected]",
"gtmContainerId": null,
"gtmOnCheckout": false
}`))
req.Header.Set("Authorization", "Bearer "+os.Getenv("SHOPFAST_API_KEY"))
req.Header.Set("Content-Type", "application/json")
res, err := http.DefaultClient.Do(req)