Update an order
/orders/{id}Costs 2 rate-limit points · Rate limits
Revoke or restore the buyer's access to the whole order (access.revoked), as the order page's access toggle does. Restoring also clears a fraud flag. Per line item access is PATCH /orders/:id/line_items/:line_item_id; download counters are POST /orders/:id/reset_downloads.
Deep partial: only the fields sent are written.
Also searched asrevoke accessrestore accessdisable downloads for this orderre-enable the orderblock this orderunblock order
Path parameters
idstringRequired
Request body
accessobjectShow 1 child attributeHide child attributes
revokedbooleanExample:true
Returns
The order object.
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 -X PATCH "https://app.filemonk.io/api/v2/external/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f" \
-H "X-Auth-Token: $FILEMONK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"access": {
"revoked": true
}
}'const res = await fetch("https://app.filemonk.io/api/v2/external/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f", {
method: "PATCH",
headers: {
"X-Auth-Token": process.env.FILEMONK_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"access": {
"revoked": true
}
}),
});
const data = await res.json();import os
import requests
res = requests.patch(
"https://app.filemonk.io/api/v2/external/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f",
headers={"X-Auth-Token": os.environ["FILEMONK_API_KEY"]},
json={
"access": {
"revoked": True
}
},
)
data = res.json()require "net/http"
require "json"
uri = URI("https://app.filemonk.io/api/v2/external/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f")
req = Net::HTTP::Patch.new(uri, "X-Auth-Token" => ENV["FILEMONK_API_KEY"], "Content-Type" => "application/json")
req.body = {
access: {
revoked: true
}
}.to_json
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body){
"id": "3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f",
"shopify_order_id": "gid://shopify/Order/7555375595815",
"name": "#1077",
"confirmation_number": "H5CZG3GZX",
"ordered_at": "2026-10-26T14:19:15Z",
"customer": {
"id": "b797db3a-cbc3-4643-804f-adf34c7f08d7",
"shopify_customer_id": "gid://shopify/Customer/9026290417959",
"email": "shopper@example.com",
"phone": null,
"first_name": "Jane",
"last_name": "Doe",
"country_code": null,
"locale": null,
"unsubscribed": false
},
"total": {
"amount": "1142.89",
"currency": "INR"
},
"status": {
"financial": "paid",
"fulfillment": "unfulfilled",
"cancelled_at": null,
"paid_at": "2026-10-30T21:48:16Z",
"flagged_as_fraud": false,
"fraud_check_completed": false,
"marked_fulfilled_at": null,
"delivery_conditions_met": false
},
"access": {
"state": "revoked",
"revoked_at": "2026-10-30T23:10:00Z",
"available_until": null,
"download_reset_at": "2026-10-30T22:19:10Z",
"downloads_count": 0
},
"delivery": {
"email_sent_at": "2026-10-30T22:34:30Z",
"delivery_failed_at": null,
"download_page_url": "https://example-store.myshopify.com/apps/filemonk/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f",
"source": "webhook"
},
"line_items": [
{
"id": "5956bb41-dc65-45d5-b7d7-25f570598468",
"digital_product_id": "7ea3c05d-6f29-42b6-b24f-43260caeaa32",
"title": "Watercolour Course",
"sku": "b0f5fbd0-f231-470f-b3d1-a392e3136a50",
"quantity": 2,
"shopify_line_item_id": "gid://shopify/LineItem/18329329434919",
"shopify_product_id": "gid://shopify/Product/9642107044135",
"shopify_variant_id": "gid://shopify/ProductVariant/49417714893095",
"attached_to_this_order_only": false,
"access": {
"revoked": false,
"revoked_at": null
},
"preorder": {
"enabled": false,
"launch_at": null,
"released": true,
"message": null
},
"files": [
{
"id": null,
"asset": {
"id": "7ea42f2a-6dbe-459c-b8a4-27b0eb823e52",
"name": "price-list.csv",
"type": "file"
},
"download_count": 0,
"watermark": {
"enabled": false,
"status": "not_required"
},
"licence_keys": []
},
{
"id": "66e2751c-9812-422c-864d-f8ce6a95c605",
"asset": {
"id": "96fbe30b-c819-4cb8-9666-814c0c8853f1",
"name": "Beginner's Guide.pdf",
"type": "file"
},
"download_count": 0,
"watermark": {
"enabled": true,
"status": "ready"
},
"licence_keys": []
}
]
}
],
"eu_withdrawal": {
"consent_required": false,
"consented_at": null,
"consent_text": null
},
"shopify_tags": [],
"imported_at": null,
"deleted_at": null,
"created_at": "2026-10-26T14:19:29Z",
"updated_at": "2026-10-30T22:19:10Z"
}{
"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)."
}Restoring also clears a fraud flag.
curl -X PATCH "https://app.filemonk.io/api/v2/external/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f" \
-H "X-Auth-Token: $FILEMONK_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"access": {
"revoked": false
}
}'const res = await fetch("https://app.filemonk.io/api/v2/external/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f", {
method: "PATCH",
headers: {
"X-Auth-Token": process.env.FILEMONK_API_KEY,
"Content-Type": "application/json",
},
body: JSON.stringify({
"access": {
"revoked": false
}
}),
});
const data = await res.json();import os
import requests
res = requests.patch(
"https://app.filemonk.io/api/v2/external/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f",
headers={"X-Auth-Token": os.environ["FILEMONK_API_KEY"]},
json={
"access": {
"revoked": False
}
},
)
data = res.json()require "net/http"
require "json"
uri = URI("https://app.filemonk.io/api/v2/external/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f")
req = Net::HTTP::Patch.new(uri, "X-Auth-Token" => ENV["FILEMONK_API_KEY"], "Content-Type" => "application/json")
req.body = {
access: {
revoked: false
}
}.to_json
res = Net::HTTP.start(uri.host, uri.port, use_ssl: true) { |http| http.request(req) }
data = JSON.parse(res.body){
"id": "3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f",
"shopify_order_id": "gid://shopify/Order/7555375595815",
"name": "#1077",
"confirmation_number": "H5CZG3GZX",
"ordered_at": "2026-10-26T14:19:15Z",
"customer": {
"id": "b797db3a-cbc3-4643-804f-adf34c7f08d7",
"shopify_customer_id": "gid://shopify/Customer/9026290417959",
"email": "shopper@example.com",
"phone": null,
"first_name": "Jane",
"last_name": "Doe",
"country_code": null,
"locale": null,
"unsubscribed": false
},
"total": {
"amount": "1142.89",
"currency": "INR"
},
"status": {
"financial": "paid",
"fulfillment": "unfulfilled",
"cancelled_at": null,
"paid_at": "2026-10-30T21:48:16Z",
"flagged_as_fraud": false,
"fraud_check_completed": false,
"marked_fulfilled_at": null,
"delivery_conditions_met": false
},
"access": {
"state": "active",
"revoked_at": null,
"available_until": null,
"download_reset_at": "2026-10-30T22:19:10Z",
"downloads_count": 0
},
"delivery": {
"email_sent_at": "2026-10-30T22:34:30Z",
"delivery_failed_at": null,
"download_page_url": "https://example-store.myshopify.com/apps/filemonk/orders/3e84eb8d-e1d9-4e92-a4b2-a419c7f1122f",
"source": "webhook"
},
"line_items": [
{
"id": "5956bb41-dc65-45d5-b7d7-25f570598468",
"digital_product_id": "7ea3c05d-6f29-42b6-b24f-43260caeaa32",
"title": "Watercolour Course",
"sku": "b0f5fbd0-f231-470f-b3d1-a392e3136a50",
"quantity": 2,
"shopify_line_item_id": "gid://shopify/LineItem/18329329434919",
"shopify_product_id": "gid://shopify/Product/9642107044135",
"shopify_variant_id": "gid://shopify/ProductVariant/49417714893095",
"attached_to_this_order_only": false,
"access": {
"revoked": false,
"revoked_at": null
},
"preorder": {
"enabled": false,
"launch_at": null,
"released": true,
"message": null
},
"files": [
{
"id": null,
"asset": {
"id": "7ea42f2a-6dbe-459c-b8a4-27b0eb823e52",
"name": "price-list.csv",
"type": "file"
},
"download_count": 0,
"watermark": {
"enabled": false,
"status": "not_required"
},
"licence_keys": []
},
{
"id": "66e2751c-9812-422c-864d-f8ce6a95c605",
"asset": {
"id": "96fbe30b-c819-4cb8-9666-814c0c8853f1",
"name": "Beginner's Guide.pdf",
"type": "file"
},
"download_count": 0,
"watermark": {
"enabled": true,
"status": "ready"
},
"licence_keys": []
}
]
}
],
"eu_withdrawal": {
"consent_required": false,
"consented_at": null,
"consent_text": null
},
"shopify_tags": [],
"imported_at": null,
"deleted_at": null,
"created_at": "2026-10-26T14:19:29Z",
"updated_at": "2026-10-30T22:19:10Z"
}{
"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)."
}