List download logs
/download_logsCosts 1 rate-limit point · Rate limits
Every download across the shop, newest first, paginated (page, per_page up to 200). order_id (Filemonk id, Shopify order gid or id, or #name) and asset_id narrow to one order or file; from / to are ISO 8601 bounds on when the download happened.
Also searched asdownload historywho downloaded what todaydownloads of a filedownload logs
Query parameters
pageinteger1-based page number.
Default1per_pageintegerRows per page, max 200.
Default50order_idstringasset_idstringfromstringtostring
Returns
dataarray of objectsShow 9 child attributesHide child attributes
idstring, nullableExample:a401ec79-a062-4ab0-96e6-a588931583ccdownloaded_atstring, nullableExample:2026-10-12T19:50:17ZorderobjectShow 2 child attributesHide child attributes
idstring, nullableExample:71e9bb0e-1e22-4513-af29-60aceeeb3755namestring, nullableExample:#1058
assetobjectShow 3 child attributesHide child attributes
idstring, nullableExample:96fbe30b-c819-4cb8-9666-814c0c8853f1namestring, nullableExample:Beginner's Guide.pdftypestring, nullableExample:file
digital_product_idstring, nullableExample:7ea3c05d-6f29-42b6-b24f-43260caeaa32fileobjectShow 3 child attributesHide child attributes
filenamestring, nullableExample:Watercolour Basics Workbook.pdfcontent_typestring, nullableExample:application/pdfbyte_sizeinteger, nullableExample:116711
licence_taganyclientobjectShow 4 child attributesHide child attributes
ip_addressstring, nullableExample:203.0.113.7country_codeanyuser_agentstring, nullableExample:Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) Ap…referrerstring, nullableExample:https://app.filemonk.io/orders/71e9bb0e-1e22-4513-af29-60…
cdn_providerstring, nullableExample:cloudflare
metaobjectPaging of a list (
page,per_pagequery params).Show 4 child attributesHide child attributes
total_countintegerRows across all pages.
pageinteger1-based page number.
per_pageintegerRows per page, max 200.
total_pagesintegerExample:1
Errors
Missing or invalid API key.
The resource does not exist for this shop, or the action path is not registered.
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.
Every error has the same shape: see Errors.
curl "https://app.filemonk.io/api/v2/external/download_logs" \
-H "X-Auth-Token: $FILEMONK_API_KEY"const res = await fetch("https://app.filemonk.io/api/v2/external/download_logs", {
headers: {
"X-Auth-Token": process.env.FILEMONK_API_KEY,
},
});
const data = await res.json();import os
import requests
res = requests.get(
"https://app.filemonk.io/api/v2/external/download_logs",
headers={"X-Auth-Token": os.environ["FILEMONK_API_KEY"]},
)
data = res.json()require "net/http"
require "json"
uri = URI("https://app.filemonk.io/api/v2/external/download_logs")
req = Net::HTTP::Get.new(uri, "X-Auth-Token" => ENV["FILEMONK_API_KEY"])
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body)curl "https://app.filemonk.io/api/v2/external/download_logs?order_id=c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f&asset_id=9f1c2a7e-3b4d-4e5f-8a6b-7c8d9e0f1a2b" \
-H "X-Auth-Token: $FILEMONK_API_KEY"const res = await fetch("https://app.filemonk.io/api/v2/external/download_logs?order_id=c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f&asset_id=9f1c2a7e-3b4d-4e5f-8a6b-7c8d9e0f1a2b", {
headers: {
"X-Auth-Token": process.env.FILEMONK_API_KEY,
},
});
const data = await res.json();import os
import requests
res = requests.get(
"https://app.filemonk.io/api/v2/external/download_logs?order_id=c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f&asset_id=9f1c2a7e-3b4d-4e5f-8a6b-7c8d9e0f1a2b",
headers={"X-Auth-Token": os.environ["FILEMONK_API_KEY"]},
)
data = res.json()require "net/http"
require "json"
uri = URI("https://app.filemonk.io/api/v2/external/download_logs?order_id=c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f&asset_id=9f1c2a7e-3b4d-4e5f-8a6b-7c8d9e0f1a2b")
req = Net::HTTP::Get.new(uri, "X-Auth-Token" => ENV["FILEMONK_API_KEY"])
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body){
"data": [
{
"id": "a401ec79-a062-4ab0-96e6-a588931583cc",
"downloaded_at": "2026-10-12T19:50:17Z",
"order": {
"id": "71e9bb0e-1e22-4513-af29-60aceeeb3755",
"name": "#1058"
},
"asset": {
"id": "96fbe30b-c819-4cb8-9666-814c0c8853f1",
"name": "Beginner's Guide.pdf",
"type": "file"
},
"digital_product_id": "7ea3c05d-6f29-42b6-b24f-43260caeaa32",
"file": {
"filename": "Watercolour Basics Workbook.pdf",
"content_type": "application/pdf",
"byte_size": 116711
},
"licence_tag": null,
"client": {
"ip_address": "203.0.113.7",
"country_code": null,
"user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1",
"referrer": "https://app.filemonk.io/orders/71e9bb0e-1e22-4513-af29-60aceeeb3755?view_as_merchant=true"
},
"cdn_provider": "cloudflare"
}
],
"meta": {
"total_count": 18,
"page": 1,
"per_page": 50,
"total_pages": 1
}
}{
"errors": [
"Invalid API key"
]
}{
"errors": [
"Order not found: c3d4e5f6-7a8b-4c9d-8e0f-1a2b3c4d5e6f"
]
}{
"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)."
}