List an order's edits with their before and after snapshots
Returns the order’s edit history, oldest first. Each edit carries
who made it (editor_type, editor_id), its revision, and the
order’s state before and after it (before_snapshot,
after_snapshot) when the edit stored them. Available to admin
credentials only, and only while admin order editing is on for the
order’s company. An admin credential without the flag on for the
order’s company, a droplet or system credential, or another company’s
order answers 404.
curl --request GET \
--url https://api.fluid.app/api/v202604/orders/{order_id}/edits \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/orders/{order_id}/edits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202604/orders/{order_id}/edits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v202604/orders/{order_id}/edits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v202604/orders/{order_id}/edits"
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.fluid.app/api/v202604/orders/{order_id}/edits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/orders/{order_id}/edits")
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{
"edits": [
{
"id": 4821,
"revision": 1,
"editor_type": "admin",
"editor_id": "3107",
"operations": [
{
"id": 4821,
"edit_type": "item_modified",
"description": "Changed quantity",
"edit_changes": {}
}
],
"created_at": "2026-04-01T12:00:00Z",
"total_before": "110.00",
"total_after": "120.00",
"before_snapshot": {
"currency_code": "USD",
"totals": {
"amount_cents": 11000,
"current_amount_cents": 11000
},
"lines": [
{
"id": 90211,
"sku": "TEE-BLK-M",
"title": "Black Tee",
"quantity": 1,
"unit_price_cents": 11000
}
]
},
"after_snapshot": {
"currency_code": "USD",
"totals": {
"amount_cents": 11000,
"current_amount_cents": 12000
},
"lines": [
{
"id": 90211,
"sku": "TEE-BLK-M",
"title": "Black Tee",
"quantity": 2,
"unit_price_cents": 6000
}
]
}
}
],
"status": 200,
"meta": {
"request_id": "018f2c1a-8b3a-7e6d-9f10-2a3b4c5d6e7f",
"timestamp": "2026-04-01T12:00:00Z"
}
}{
"message": "Invalid credentials."
}{
"message": "Not authorized."
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}Authorizations
Bearer token authentication. Accepts company tokens, partner tokens,
public tokens, droplet installation tokens, and user_company tokens.
The authenticated credential determines editor_type and editor_id
on the resulting order-edit audit records — the payload never carries
either field.
Path Parameters
Primary-key id of the order to edit. Must belong to the authenticated company; an unknown id or an order owned by another company returns 404.
curl --request GET \
--url https://api.fluid.app/api/v202604/orders/{order_id}/edits \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.fluid.app/api/v202604/orders/{order_id}/edits"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.fluid.app/api/v202604/orders/{order_id}/edits', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.fluid.app/api/v202604/orders/{order_id}/edits",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.fluid.app/api/v202604/orders/{order_id}/edits"
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.fluid.app/api/v202604/orders/{order_id}/edits")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.fluid.app/api/v202604/orders/{order_id}/edits")
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{
"edits": [
{
"id": 4821,
"revision": 1,
"editor_type": "admin",
"editor_id": "3107",
"operations": [
{
"id": 4821,
"edit_type": "item_modified",
"description": "Changed quantity",
"edit_changes": {}
}
],
"created_at": "2026-04-01T12:00:00Z",
"total_before": "110.00",
"total_after": "120.00",
"before_snapshot": {
"currency_code": "USD",
"totals": {
"amount_cents": 11000,
"current_amount_cents": 11000
},
"lines": [
{
"id": 90211,
"sku": "TEE-BLK-M",
"title": "Black Tee",
"quantity": 1,
"unit_price_cents": 11000
}
]
},
"after_snapshot": {
"currency_code": "USD",
"totals": {
"amount_cents": 11000,
"current_amount_cents": 12000
},
"lines": [
{
"id": 90211,
"sku": "TEE-BLK-M",
"title": "Black Tee",
"quantity": 2,
"unit_price_cents": 6000
}
]
}
}
],
"status": 200,
"meta": {
"request_id": "018f2c1a-8b3a-7e6d-9f10-2a3b4c5d6e7f",
"timestamp": "2026-04-01T12:00:00Z"
}
}{
"message": "Invalid credentials."
}{
"message": "Not authorized."
}{
"error": {
"message": "<string>",
"details": {}
},
"status": 123,
"meta": {
"request_id": "<string>",
"timestamp": "2023-11-07T05:31:56Z"
}
}