List orders
/ordersCosts 1 rate-limit point · Rate limits
List the orders Filemonk delivers files for, newest first by ordered_at (when the buyer placed the order; sort=created_at desc orders by when Filemonk recorded it), paginated (page, per_page up to 200). meta.total_count is the number of orders. search matches the order name, email or phone the way the Orders page search does. financial_status filters by Shopify financial status; access by Filemonk's access state (active, revoked, partially_revoked, expired); email, customer_id, shopify_product_id and digital_product_id narrow to one buyer or one product; created_at_min / created_at_max (or from / to) are ISO 8601 bounds on when Filemonk recorded the order. Deleted orders are left out.
Also searched aslist ordersrecent ordersorders for a customerwho bought this productunpaid ordersorders with access revokedsearch orders
Query parameters
financial_statusstringOne ofpendingauthorizedpartially_paidpaidpartially_refundedrefundedvoidedaccessstringOne ofactiverevokedpartially_revokedexpiredsortstringOne ofordered_at descordered_at asccreated_at desccreated_at ascname ascname descemail ascemail descnotified_at ascnotified_at descpageinteger1-based page number.
Default1per_pageintegerRows per page, max 200.
Default50searchstringemailstringcustomer_idstringshopify_product_idstringdigital_product_idstringcreated_at_minstringcreated_at_maxstringfromstringtostring
Returns
dataarray of objectsShow 11 child attributesHide child attributes
idstring, nullableExample:3e84eb8d-e1d9-4e92-a4b2-a419c7f1122fshopify_order_idstring, nullableExample:gid://shopify/Order/7555375595815namestring, nullableExample:#1077ordered_atstring, nullableExample:2026-10-26T14:19:15ZcustomerobjectShow 3 child attributesHide child attributes
emailstring, nullableExample:shopper@example.comfirst_namestring, nullableExample:Janelast_namestring, nullableExample:Doe
totalobjectShow 2 child attributesHide child attributes
amountstring, nullableExample:1142.89currencystring, nullableExample:INR
statusobjectShow 2 child attributesHide child attributes
financialstring, nullableExample:paidflagged_as_fraudboolean, nullableExample:false
accessobjectShow 2 child attributesHide child attributes
statestring, nullableExample:activedownloads_countinteger, nullableExample:0
deliveryobjectShow 1 child attributeHide child attributes
email_sent_atstring, nullableExample:2026-10-30T22:34:30Z
line_items_countinteger, nullableExample:2created_atstring, nullableExample:2026-10-26T14:19:29Z
currencystring, nullableExample:INRmetaobjectPaging 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 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/orders" \
-H "X-Auth-Token: $FILEMONK_API_KEY"const res = await fetch("https://app.filemonk.io/api/v2/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/v2/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/v2/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)curl "https://app.filemonk.io/api/v2/external/orders?financial_status=pending&access=active&sort=ordered_at%20desc" \
-H "X-Auth-Token: $FILEMONK_API_KEY"const res = await fetch("https://app.filemonk.io/api/v2/external/orders?financial_status=pending&access=active&sort=ordered_at%20desc", {
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/orders?financial_status=pending&access=active&sort=ordered_at%20desc",
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/orders?financial_status=pending&access=active&sort=ordered_at%20desc")
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": "3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f",
"shopify_order_id": "gid://shopify/Order/7555375595815",
"name": "#1077",
"ordered_at": "2026-10-26T14:19:15Z",
"customer": {
"email": "shopper@example.com",
"first_name": "Jane",
"last_name": "Doe"
},
"total": {
"amount": "1142.89",
"currency": "INR"
},
"status": {
"financial": "paid",
"flagged_as_fraud": false
},
"access": {
"state": "active",
"downloads_count": 0
},
"delivery": {
"email_sent_at": "2026-10-30T22:34:30Z"
},
"line_items_count": 2,
"created_at": "2026-10-26T14:19:29Z"
}
],
"currency": "INR",
"meta": {
"total_count": 48,
"page": 1,
"per_page": 50,
"total_pages": 1
}
}{
"errors": [
"Invalid API key"
]
}{
"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)."
}