Update order status
curl --request PATCH \
--url https://api.sellfern.com/orders/{id}/status \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"status": "<string>"
}
'import requests
url = "https://api.sellfern.com/orders/{id}/status"
payload = { "status": "<string>" }
headers = {
"Idempotency-Key": "<idempotency-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'Idempotency-Key': '<idempotency-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({status: '<string>'})
};
fetch('https://api.sellfern.com/orders/{id}/status', 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.sellfern.com/orders/{id}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'status' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sellfern.com/orders/{id}/status"
payload := strings.NewReader("{\n \"status\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.sellfern.com/orders/{id}/status")
.header("Idempotency-Key", "<idempotency-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"status\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sellfern.com/orders/{id}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"status\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": 1234567890,
"storeName": "My Etsy Store",
"date": "2023-11-07T05:31:56Z",
"currency": "USD",
"totalAmount": 123,
"subtotal": 123,
"tax": 123,
"shippingCost": 123,
"discount": 123,
"customerName": "<string>",
"customerAddress": "<string>",
"shipAddress1": "<string>",
"shipAddress2": "<string>",
"shipCity": "<string>",
"shipState": "<string>",
"shipZipcode": "<string>",
"shipCountry": "<string>",
"isGift": true,
"isRefunded": true,
"isCaseClosed": true,
"isLost": true,
"requiresAudit": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"items": [
{
"id": "987654321",
"orderId": "1234567890",
"customOrderId": "<string>",
"name": "<string>",
"sku": "<string>",
"customSku": "<string>",
"spu": "<string>",
"quantity": 1,
"price": 123,
"status": "In Production",
"assignedSupplier": "<string>",
"subSupplier": "<string>",
"material": "<string>",
"materialId": "<string>",
"designUrl": "<string>",
"trackingCode": "<string>",
"carrier": "<string>",
"style": "<string>",
"type": "<string>",
"size": "<string>",
"color": "<string>",
"variations": "<string>",
"personalization": "<string>",
"comment": "<string>",
"idService": "<string>",
"phone": "<string>",
"orderDate": "<string>",
"storeName": "<string>",
"isGift": true,
"customerName": "<string>",
"customerAddress": "<string>",
"shipName": "<string>",
"shipAddress1": "<string>",
"shipAddress2": "<string>",
"shipCity": "<string>",
"shipState": "<string>",
"shipZipcode": "<string>",
"shipCountry": "<string>",
"vatIossNumber": "<string>"
}
]
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "validation_error",
"message": "Request validation failed."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "unauthorized",
"message": "Missing or invalid API key."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "missing_scope",
"message": "Missing required scope."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "not_found",
"message": "Resource not found."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "validation_error",
"message": "Request validation failed."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
},
"meta": {
"request_id": "<string>"
}
}Orders
Update order status
Updates an order status in the authenticated organization. Safe retries require Idempotency-Key.
Scope notes: Requires order write scope and authenticated organization isolation.
Mutation safety: Send an Idempotency-Key header for safe retries.
PATCH
/
orders
/
{id}
/
status
Update order status
curl --request PATCH \
--url https://api.sellfern.com/orders/{id}/status \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: <idempotency-key>' \
--header 'x-api-key: <api-key>' \
--data '
{
"status": "<string>"
}
'import requests
url = "https://api.sellfern.com/orders/{id}/status"
payload = { "status": "<string>" }
headers = {
"Idempotency-Key": "<idempotency-key>",
"x-api-key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {
'Idempotency-Key': '<idempotency-key>',
'x-api-key': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({status: '<string>'})
};
fetch('https://api.sellfern.com/orders/{id}/status', 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.sellfern.com/orders/{id}/status",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'status' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"Idempotency-Key: <idempotency-key>",
"x-api-key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.sellfern.com/orders/{id}/status"
payload := strings.NewReader("{\n \"status\": \"<string>\"\n}")
req, _ := http.NewRequest("PATCH", url, payload)
req.Header.Add("Idempotency-Key", "<idempotency-key>")
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.patch("https://api.sellfern.com/orders/{id}/status")
.header("Idempotency-Key", "<idempotency-key>")
.header("x-api-key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"status\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.sellfern.com/orders/{id}/status")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["Idempotency-Key"] = '<idempotency-key>'
request["x-api-key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"status\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"success": true,
"data": {
"id": 1234567890,
"storeName": "My Etsy Store",
"date": "2023-11-07T05:31:56Z",
"currency": "USD",
"totalAmount": 123,
"subtotal": 123,
"tax": 123,
"shippingCost": 123,
"discount": 123,
"customerName": "<string>",
"customerAddress": "<string>",
"shipAddress1": "<string>",
"shipAddress2": "<string>",
"shipCity": "<string>",
"shipState": "<string>",
"shipZipcode": "<string>",
"shipCountry": "<string>",
"isGift": true,
"isRefunded": true,
"isCaseClosed": true,
"isLost": true,
"requiresAudit": true,
"createdAt": "2023-11-07T05:31:56Z",
"updatedAt": "2023-11-07T05:31:56Z",
"items": [
{
"id": "987654321",
"orderId": "1234567890",
"customOrderId": "<string>",
"name": "<string>",
"sku": "<string>",
"customSku": "<string>",
"spu": "<string>",
"quantity": 1,
"price": 123,
"status": "In Production",
"assignedSupplier": "<string>",
"subSupplier": "<string>",
"material": "<string>",
"materialId": "<string>",
"designUrl": "<string>",
"trackingCode": "<string>",
"carrier": "<string>",
"style": "<string>",
"type": "<string>",
"size": "<string>",
"color": "<string>",
"variations": "<string>",
"personalization": "<string>",
"comment": "<string>",
"idService": "<string>",
"phone": "<string>",
"orderDate": "<string>",
"storeName": "<string>",
"isGift": true,
"customerName": "<string>",
"customerAddress": "<string>",
"shipName": "<string>",
"shipAddress1": "<string>",
"shipAddress2": "<string>",
"shipCity": "<string>",
"shipState": "<string>",
"shipZipcode": "<string>",
"shipCountry": "<string>",
"vatIossNumber": "<string>"
}
]
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "validation_error",
"message": "Request validation failed."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "unauthorized",
"message": "Missing or invalid API key."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "missing_scope",
"message": "Missing required scope."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "not_found",
"message": "Resource not found."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "validation_error",
"message": "Request validation failed."
},
"meta": {
"request_id": "<string>"
}
}{
"success": false,
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded."
},
"meta": {
"request_id": "<string>"
}
}Authorizations
Sellfern public API key scoped to the authenticated organization. Do not use user JWTs for public integrations.
Headers
Required for public write retries. Reuse the same key for safe retry after network or 5xx uncertainty. Reusing a key with a different request returns 422 idempotency_conflict.
Required string length:
1 - 255Path Parameters
Order ID.
Required range:
x >= 1Body
application/json
⌘I
