Reference
API v2 reference
API v2 is in public beta: endpoints and fields can change before general availability. See the changelog
STOQ's action-driven, AI-native external API. Every action is self-describing (description, aliases, notes, JSON request schema) and also reachable via the /help manifest, skill.md, llms.txt, and the MCP server. Public beta: actions and schemas may change before GA. All endpoints require the X-Auth-Token API key.
Base URL
https://app.stoqapp.com/api/v2/external
Authentication
Send the store's API key in the X-Auth-Token header on every request. How to get a key
Rate limits
A read costs 1 point and a write 2. Rate limits and errors
Resources
Account
Help DocsIntegrationsLanguagesLocationsMarketsPlan UsageSendingSettingsSetupSetup GuideTemplatesTheme IntegrationsTranslationsWeb Pixel
Back In Stock
App ProxyCustomersNotification SettingsNotificationsOrdersProductsReportsSending HistorySettingsSignupsTemplatesWidget Templates
Customers
Preorders
Your first request
curl "https://app.stoqapp.com/api/v2/external/account/help_docs" \
-H "X-Auth-Token: $STOQ_API_KEY"const res = await fetch("https://app.stoqapp.com/api/v2/external/account/help_docs", {
headers: {
"X-Auth-Token": process.env.STOQ_API_KEY,
},
});
const data = await res.json();import os
import requests
res = requests.get(
"https://app.stoqapp.com/api/v2/external/account/help_docs",
headers={"X-Auth-Token": os.environ["STOQ_API_KEY"]},
)
data = res.json()require "net/http"
require "json"
uri = URI("https://app.stoqapp.com/api/v2/external/account/help_docs")
req = Net::HTTP::Get.new(uri, "X-Auth-Token" => ENV["STOQ_API_KEY"])
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)Every error looks like this
See Errors.
{
"errors": [
"Invalid API key"
],
"code": "auth_invalid",
"details": [
{
"code": "auth_invalid",
"message": "Invalid API key",
"path": null,
"value": null,
"expected": null
}
]
}