Retrieve store statistics
curl --request GET \
--url https://api.sellfern.com/stores/{id}/statistics \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sellfern.com/stores/{id}/statistics"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sellfern.com/stores/{id}/statistics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sellfern.com/stores/{id}/statistics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sellfern.com/stores/{id}/statistics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.sellfern.com/stores/{id}/statistics")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sellfern.com/stores/{id}/statistics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"total_orders": 42,
"active_products": 18
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "validation_error",
"message": "Request validation failed."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "unauthorized",
"message": "Missing or invalid API key."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "missing_scope",
"message": "Missing required scope."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "not_found",
"message": "Resource not found."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
},
"meta": {
"request_id": "<string>"
}
}Organizations And Stores
Retrieve store statistics
Retrieves operational statistics for one store after verifying the store belongs to the authenticated organization. Public schema is intentionally operational and does not claim profitability analytics support.
Scope notes: Requires store read scope and authenticated organization isolation.
Read-only endpoint.
GET
/
stores
/
{id}
/
statistics
Retrieve store statistics
curl --request GET \
--url https://api.sellfern.com/stores/{id}/statistics \
--header 'x-api-key: <api-key>'import requests
url = "https://api.sellfern.com/stores/{id}/statistics"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.sellfern.com/stores/{id}/statistics', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.sellfern.com/stores/{id}/statistics",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.sellfern.com/stores/{id}/statistics"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.sellfern.com/stores/{id}/statistics")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sellfern.com/stores/{id}/statistics")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"total_orders": 42,
"active_products": 18
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "validation_error",
"message": "Request validation failed."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "unauthorized",
"message": "Missing or invalid API key."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "missing_scope",
"message": "Missing required scope."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "not_found",
"message": "Resource not found."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
},
"meta": {
"request_id": "<string>"
}
}Authorizations
Sellfern public API key scoped to the authenticated organization. Do not use user JWTs for public integrations.
Path Parameters
Store ID.
Required range:
x >= 1⌘I
