Reference
API v1 reference
API for managing digital products, assets, orders, and downloads in Filemonk.
All endpoints require authentication via the X-Auth-Token header. You can
find your API key in the Filemonk app under Settings > Other > API.
Rate Limiting
All endpoints are rate-limited using a token-bucket algorithm:
- Bucket size: 40 points per 60-second window
- Read requests (GET): 1 point
- Write requests (POST/PATCH/DELETE): 2 points
Rate limit status is returned in response headers:
X-RateLimit-Limit: Maximum points per windowX-RateLimit-Remaining: Points remaining in current windowX-RateLimit-Reset: Unix timestamp when the window resets
When the rate limit is exceeded, a 429 Too Many Requests response is returned
with a Retry-After header indicating how many seconds to wait.
Base URL
https://app.filemonk.io/api/v1/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
Your first request
curl "https://app.filemonk.io/api/v1/external/orders" \
-H "X-Auth-Token: $FILEMONK_API_KEY"const res = await fetch("https://app.filemonk.io/api/v1/external/orders", {
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/v1/external/orders",
headers={"X-Auth-Token": os.environ["FILEMONK_API_KEY"]},
)
data = res.json()require "net/http"
require "json"
uri = URI("https://app.filemonk.io/api/v1/external/orders")
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)Every error looks like this
{
"error": "API key is required"
}