Node.js
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const page = await shoply.requests.list();
// Or every row of every page:
for await (const row of shoply.requests.list()) {
console.log(row);
}<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$page = $shoply->requests->list();
// Or every row of every page:
foreach ($shoply->requests->list() as $row) {
print_r($row);
}
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
page = client.requests.list()
# Or every row of every page:
for row in client.requests.list():
print(row)
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/api-requests \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/api-requests"
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}/api-requests")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/api-requests")
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": [
{
"id": "7d763d2d-1b9b-4f60-a6fd-9ab8848c0e3d",
"method": "GET",
"path": "/v1/stores/743d82fb-6aad-44bb-ab00-d54c4b0eecb7/webhook-deliveries",
"query": "",
"operation": "webhookDeliveries.list",
"status": 200,
"code": null,
"durationMs": 3,
"ip": "127.0.0.1",
"userAgent": "",
"apiKey": {
"id": "a253e656-a027-41b4-8302-786fd85cc6a6",
"name": "Order sync",
"prefix": "shoply_sk_3f9a1c"
},
"createdAt": "2026-10-22T16:20:20.433Z"
},
{
"id": "43e80891-dd10-4ca2-871f-d553d9bb2b5c",
"method": "PUT",
"path": "/v1/stores/743d82fb-6aad-44bb-ab00-d54c4b0eecb7/webhooks/321460bf-ba98-4333-a6cd-f0e24de90f5e",
"query": "",
"operation": "webhooks.update",
"status": 200,
"code": null,
"durationMs": 5,
"ip": "127.0.0.1",
"userAgent": "",
"apiKey": {
"id": "a253e656-a027-41b4-8302-786fd85cc6a6",
"name": "Order sync",
"prefix": "shoply_sk_3f9a1c"
},
"createdAt": "2026-10-22T16:20:20.428Z"
}
],
"pages": 107,
"total": 214,
"meta": {
"keptDays": 30,
"perPageMax": 100
}
}{
"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": {}
}API requests
List API requests
The requests made with this store’s API keys, newest first, without what was sent or answered. Requests are kept for 30 days. meta.keptDays says so.
Needs the logs.read permission (Read API Requests).
GET
/
stores
/
{storeId}
/
api-requests
Node.js
import Shoply from "@shoplygg/node";
const shoply = new Shoply({ apiKey: process.env.SHOPLY_API_KEY });
const page = await shoply.requests.list();
// Or every row of every page:
for await (const row of shoply.requests.list()) {
console.log(row);
}<?php
require 'vendor/autoload.php';
$shoply = new Shoply\Client(['apiKey' => getenv('SHOPLY_API_KEY')]);
$page = $shoply->requests->list();
// Or every row of every page:
foreach ($shoply->requests->list() as $row) {
print_r($row);
}
import shoply
client = shoply.Client() # reads SHOPLY_API_KEY
page = client.requests.list()
# Or every row of every page:
for row in client.requests.list():
print(row)
curl --request GET \
--url https://api.shoply.gg/v1/stores/{storeId}/api-requests \
--header 'Authorization: Bearer <token>'package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.shoply.gg/v1/stores/{storeId}/api-requests"
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}/api-requests")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.shoply.gg/v1/stores/{storeId}/api-requests")
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": [
{
"id": "7d763d2d-1b9b-4f60-a6fd-9ab8848c0e3d",
"method": "GET",
"path": "/v1/stores/743d82fb-6aad-44bb-ab00-d54c4b0eecb7/webhook-deliveries",
"query": "",
"operation": "webhookDeliveries.list",
"status": 200,
"code": null,
"durationMs": 3,
"ip": "127.0.0.1",
"userAgent": "",
"apiKey": {
"id": "a253e656-a027-41b4-8302-786fd85cc6a6",
"name": "Order sync",
"prefix": "shoply_sk_3f9a1c"
},
"createdAt": "2026-10-22T16:20:20.433Z"
},
{
"id": "43e80891-dd10-4ca2-871f-d553d9bb2b5c",
"method": "PUT",
"path": "/v1/stores/743d82fb-6aad-44bb-ab00-d54c4b0eecb7/webhooks/321460bf-ba98-4333-a6cd-f0e24de90f5e",
"query": "",
"operation": "webhooks.update",
"status": 200,
"code": null,
"durationMs": 5,
"ip": "127.0.0.1",
"userAgent": "",
"apiKey": {
"id": "a253e656-a027-41b4-8302-786fd85cc6a6",
"name": "Order sync",
"prefix": "shoply_sk_3f9a1c"
},
"createdAt": "2026-10-22T16:20:20.428Z"
}
],
"pages": 107,
"total": 214,
"meta": {
"keptDays": 30,
"perPageMax": 100
}
}{
"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.
Query Parameters
Which page of the list. The first is 1.
How many a page holds, up to 100.
Only requests made with this API key.
Only requests of this method.
Available options:
GET, POST, PUT, PATCH, DELETE Only requests that worked (ok), that were refused or failed (failed), or with one status code (404).
Example:
"failed"
A request's ID, or part of a path.

