curl --request GET \
--url https://api.orbita.melonn.com/buyer-return-orders/v2/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orbita.melonn.com/buyer-return-orders/v2/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orbita.melonn.com/buyer-return-orders/v2/{id}', 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.orbita.melonn.com/buyer-return-orders/v2/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.orbita.melonn.com/buyer-return-orders/v2/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.orbita.melonn.com/buyer-return-orders/v2/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbita.melonn.com/buyer-return-orders/v2/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": 76409,
"internal_order_number": "R76409",
"external_order_number": "12600005422400-DEVOLUCION",
"external_order_id": null,
"assigned_warehouse_code": "WCOD-2",
"buyer_full_name": "Jane Doe",
"creation_date": "2025-11-12T00:44:25.000Z",
"last_modified_date": "2025-11-20T20:15:44.000Z",
"return_full_label_url": "https://example-bucket.s3.amazonaws.com/R76409-melonn-full-label.pdf?X-Amz-Expires=259200&X-Amz-Signature=...",
"buyer_return_order_state": {
"code": 6,
"closed": true,
"description": "Processed"
},
"line_items_summary": [
{
"sku": "BLUE_SHIRT_SIZE_M",
"qty_returned": 1,
"qty_received_ok": 1,
"qty_received_ok_restocked": 1,
"qty_received_ok_not_restocked": 0,
"qty_received_defective": 0,
"composite": false
},
{
"sku": "SHIRT_KIT_SIZE_M",
"qty_returned": 1,
"content": [
{
"sku": "BLACK_SHIRT_SIZE_M",
"qty_returned": 1,
"qty_received_ok": 1,
"qty_received_ok_restocked": 1,
"qty_received_ok_not_restocked": 0,
"qty_received_defective": 0
},
{
"sku": "RED_SHIRT_SIZE_M",
"qty_returned": 1,
"qty_received_ok": 1,
"qty_received_ok_restocked": 0,
"qty_received_ok_not_restocked": 1,
"qty_received_defective": 0
},
{
"sku": "GREEN_SHIRT_SIZE_M",
"qty_returned": 1,
"qty_received_ok": 0,
"qty_received_ok_restocked": 0,
"qty_received_ok_not_restocked": 0,
"qty_received_defective": 1
}
],
"composite": true
}
],
"parent_sell_order": {
"internal_order_number": "M1234567890",
"external_order_number": "EX1234567890",
"external_order_id": "123"
}
}Get return order
Returns one of your buyer return orders, looked up by its Melonn internal_order_number
(e.g. R00527). Lookup by your external_order_number or external_order_id is not
supported: to find a return by your own identifiers, use
List return orders with the
external_order_number or external_order_id filter.
Return label. return_full_label_url is a pre-signed download link to the return
label PDF, freshly signed on every request and valid for 72 hours (3 days). It is an
empty string while the label does not exist yet (for example, while Melonn is still
booking the carrier pickup for shipping method 1). Do not store the link: request the
return order again when you need a valid one.
Line items. line_items_summary lists the SKUs as they were returned. A kit
(composite: true) lists its components in content; content is omitted for products
that are not kits.
The fields qty_received_ok, qty_received_ok_restocked, qty_received_ok_not_restocked
and qty_received_defective appear only after the return has been received and unpacked
at the warehouse. They are reported per received product: on components inside content
for kits, and on the line item itself for non-kit products. A kit line item does not carry
its own received quantities.
curl --request GET \
--url https://api.orbita.melonn.com/buyer-return-orders/v2/{id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.orbita.melonn.com/buyer-return-orders/v2/{id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.orbita.melonn.com/buyer-return-orders/v2/{id}', 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.orbita.melonn.com/buyer-return-orders/v2/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://api.orbita.melonn.com/buyer-return-orders/v2/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.orbita.melonn.com/buyer-return-orders/v2/{id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.orbita.melonn.com/buyer-return-orders/v2/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": 76409,
"internal_order_number": "R76409",
"external_order_number": "12600005422400-DEVOLUCION",
"external_order_id": null,
"assigned_warehouse_code": "WCOD-2",
"buyer_full_name": "Jane Doe",
"creation_date": "2025-11-12T00:44:25.000Z",
"last_modified_date": "2025-11-20T20:15:44.000Z",
"return_full_label_url": "https://example-bucket.s3.amazonaws.com/R76409-melonn-full-label.pdf?X-Amz-Expires=259200&X-Amz-Signature=...",
"buyer_return_order_state": {
"code": 6,
"closed": true,
"description": "Processed"
},
"line_items_summary": [
{
"sku": "BLUE_SHIRT_SIZE_M",
"qty_returned": 1,
"qty_received_ok": 1,
"qty_received_ok_restocked": 1,
"qty_received_ok_not_restocked": 0,
"qty_received_defective": 0,
"composite": false
},
{
"sku": "SHIRT_KIT_SIZE_M",
"qty_returned": 1,
"content": [
{
"sku": "BLACK_SHIRT_SIZE_M",
"qty_returned": 1,
"qty_received_ok": 1,
"qty_received_ok_restocked": 1,
"qty_received_ok_not_restocked": 0,
"qty_received_defective": 0
},
{
"sku": "RED_SHIRT_SIZE_M",
"qty_returned": 1,
"qty_received_ok": 1,
"qty_received_ok_restocked": 0,
"qty_received_ok_not_restocked": 1,
"qty_received_defective": 0
},
{
"sku": "GREEN_SHIRT_SIZE_M",
"qty_returned": 1,
"qty_received_ok": 0,
"qty_received_ok_restocked": 0,
"qty_received_ok_not_restocked": 0,
"qty_received_defective": 1
}
],
"composite": true
}
],
"parent_sell_order": {
"internal_order_number": "M1234567890",
"external_order_number": "EX1234567890",
"external_order_id": "123"
}
}Authorizations
Path Parameters
Melonn internal order number of the return order (internal_order_number, e.g. R00527), as returned by Create return order or List return orders. Not the numeric id, and not your external order number.
Response
The return order.
Numeric Melonn ID of the return order.
527
Melonn internal order number of the return order. Use it to get or cancel the return.
"R00527"
Your identifier for the return, as sent on creation.
"test-public-api-001"
Your secondary identifier for the return, or null if none was sent.
null
Code of the warehouse that receives the return.
"WCOD-1"
Full name of the buyer.
"Jane Doe"
When the return order was created (UTC).
"2025-12-01T16:16:13.000Z"
When the return order was last modified (UTC).
"2025-12-01T16:16:13.000Z"
Current state of the return order.
| Code | State | Closed |
|---|---|---|
| 1 | Created | No |
| 2 | Canceled | Yes |
| 3 | In transit | No |
| 4 | Received | No |
| 5 | Processing | No |
| 6 | Processed | Yes |
| 7 | Transport service requested | No |
| 8 | Delivered at warehouse by transport service | No |
Show child attributes
Show child attributes
Pre-signed download link to the return label PDF, valid for 72 hours (3 days) from the response. Empty string when the label is not ready yet.
"https://example-bucket.s3.amazonaws.com/R00527-melonn-full-label.pdf?X-Amz-Expires=259200&X-Amz-Signature=..."
Returned products, as requested (kits are kept as kits).
Show child attributes
Show child attributes
The sell order this return was created from.
Show child attributes
Show child attributes