curl --request PUT \
--url https://api.byblend.com/api/v1/orders/{order_id}/request_replacement \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "Product arrived damaged"
}
'import requests
url = "https://api.byblend.com/api/v1/orders/{order_id}/request_replacement"
payload = { "reason": "Product arrived damaged" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: 'Product arrived damaged'})
};
fetch('https://api.byblend.com/api/v1/orders/{order_id}/request_replacement', 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.byblend.com/api/v1/orders/{order_id}/request_replacement",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'reason' => 'Product arrived damaged'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.byblend.com/api/v1/orders/{order_id}/request_replacement"
payload := strings.NewReader("{\n \"reason\": \"Product arrived damaged\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://api.byblend.com/api/v1/orders/{order_id}/request_replacement")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"Product arrived damaged\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.byblend.com/api/v1/orders/{order_id}/request_replacement")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"Product arrived damaged\"\n}"
response = http.request(request)
puts response.read_body{
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"address": {
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"address_1": "140 Lindgren Streets",
"address_2": "Apt 227",
"city": "North Consueloburgh",
"state": "CA",
"country": "US",
"type": "shipping",
"zip_code": "02108"
},
"custom_shipping": {
"label_url": "https://example.com/label.pdf",
"tracking_number": "TEST123456",
"tracking_url": "https://example.com/track/TEST123456",
"carrier": "UPS"
},
"customer_id": "b658f16f-819c-4503-aede-bd555fc4ebfb",
"external_id": "my-system-128318AA2",
"is_replacement": false,
"order_number": "ORD250312003548IAU4",
"original_order_id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"patient": {
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"first_name": "Willard",
"middle_name": "Moises",
"last_name": "Donnelly",
"gender": "male",
"email": "Harmon43@gmail.com",
"phone": "6417383445",
"date_of_birth": "1990-01-01",
"driver_license_number": "B49188319",
"driver_license_state": "CA",
"ssn": "123456789",
"primary_language": "en",
"guardian_name": "John Guardian",
"guardian_phone": "6417383445",
"guardian_email": "parent@example.com",
"guardian_relationship": "parent",
"height_inches": 72,
"weight_pounds": 180,
"external_id": "1234567890",
"is_smoker": false,
"is_diabetic": false,
"is_pregnant": false,
"receive_sms": true,
"receive_email": true,
"address": {
"address_1": "140 Lindgren Streets",
"city": "North Consueloburgh",
"state": "CA",
"zip_code": "02108",
"address_2": "Apt 227",
"country": "US"
}
},
"prescription_count": 1,
"priority_requested": false,
"cancellation_requested": false,
"replacement_order_ids": [
"0227d1e5-ba9a-42b5-8fe2-38882aa65708"
],
"replacement_reason": "Product arrived damaged",
"replacement_requested": false,
"replacement_request_status": "pending",
"replacement_requested_at": "2025-01-01T00:00:00Z",
"replacement_requested_reason": "Product arrived damaged",
"shipments": [
{
"carrier": "USPS",
"created_at": "2026-04-17T18:31:05.175498",
"delivered_at": "2026-04-17T18:31:05.175498",
"id": "0239CA06-9A71-4FFE-8A8D-5403540A19E7",
"service_level": "Ground Advantage",
"status": "shipped",
"tracking_number": "9200190347375200467807",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction_input?origTrackNum=9200190347375200467807"
}
],
"shipping": {
"carrier": "usps",
"service_level": "usps_ground_advantage",
"signature_confirmation": "standard"
},
"status": "received",
"paused_until": "2026-08-07T00:00:00",
"products": {
"prescription": [
{
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"sku": "1234567890",
"name": "Mupirocin",
"description": "A topical cream that is used to treat skin infections.",
"product_code": "SUPERSPRAY15",
"form": "cream",
"is_active": true,
"label_orientation": "portrait",
"strength": "1%",
"has_prescription": true,
"quantity": 2,
"reasons": [
{
"id": "00000000-0000-0000-0000-000000000201",
"name": "Palatability",
"description": "Commercial formulation has an unpleasant taste, texture, or odor."
}
]
}
],
"non_prescription": [
{
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"sku": "1234567890",
"name": "Krill Farms Fish Oil",
"description": "A fish oil supplement complementary to prescribed products.",
"form": "liquid",
"is_active": true,
"quantity": 1
}
],
"order_material": [
{
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"sku": "1234567890",
"name": "Referral Brochure",
"description": "Customer brochure included in every shipment.",
"category": "marketing",
"current_stock": 927,
"reorder_threshold": 100,
"has_inventory": true,
"is_global": false,
"quantity": 1
}
]
}
}Replace an order
Request a replacement for an order.
curl --request PUT \
--url https://api.byblend.com/api/v1/orders/{order_id}/request_replacement \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"reason": "Product arrived damaged"
}
'import requests
url = "https://api.byblend.com/api/v1/orders/{order_id}/request_replacement"
payload = { "reason": "Product arrived damaged" }
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({reason: 'Product arrived damaged'})
};
fetch('https://api.byblend.com/api/v1/orders/{order_id}/request_replacement', 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.byblend.com/api/v1/orders/{order_id}/request_replacement",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'reason' => 'Product arrived damaged'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$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.byblend.com/api/v1/orders/{order_id}/request_replacement"
payload := strings.NewReader("{\n \"reason\": \"Product arrived damaged\"\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://api.byblend.com/api/v1/orders/{order_id}/request_replacement")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"reason\": \"Product arrived damaged\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.byblend.com/api/v1/orders/{order_id}/request_replacement")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"reason\": \"Product arrived damaged\"\n}"
response = http.request(request)
puts response.read_body{
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"address": {
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"address_1": "140 Lindgren Streets",
"address_2": "Apt 227",
"city": "North Consueloburgh",
"state": "CA",
"country": "US",
"type": "shipping",
"zip_code": "02108"
},
"custom_shipping": {
"label_url": "https://example.com/label.pdf",
"tracking_number": "TEST123456",
"tracking_url": "https://example.com/track/TEST123456",
"carrier": "UPS"
},
"customer_id": "b658f16f-819c-4503-aede-bd555fc4ebfb",
"external_id": "my-system-128318AA2",
"is_replacement": false,
"order_number": "ORD250312003548IAU4",
"original_order_id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"patient": {
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"first_name": "Willard",
"middle_name": "Moises",
"last_name": "Donnelly",
"gender": "male",
"email": "Harmon43@gmail.com",
"phone": "6417383445",
"date_of_birth": "1990-01-01",
"driver_license_number": "B49188319",
"driver_license_state": "CA",
"ssn": "123456789",
"primary_language": "en",
"guardian_name": "John Guardian",
"guardian_phone": "6417383445",
"guardian_email": "parent@example.com",
"guardian_relationship": "parent",
"height_inches": 72,
"weight_pounds": 180,
"external_id": "1234567890",
"is_smoker": false,
"is_diabetic": false,
"is_pregnant": false,
"receive_sms": true,
"receive_email": true,
"address": {
"address_1": "140 Lindgren Streets",
"city": "North Consueloburgh",
"state": "CA",
"zip_code": "02108",
"address_2": "Apt 227",
"country": "US"
}
},
"prescription_count": 1,
"priority_requested": false,
"cancellation_requested": false,
"replacement_order_ids": [
"0227d1e5-ba9a-42b5-8fe2-38882aa65708"
],
"replacement_reason": "Product arrived damaged",
"replacement_requested": false,
"replacement_request_status": "pending",
"replacement_requested_at": "2025-01-01T00:00:00Z",
"replacement_requested_reason": "Product arrived damaged",
"shipments": [
{
"carrier": "USPS",
"created_at": "2026-04-17T18:31:05.175498",
"delivered_at": "2026-04-17T18:31:05.175498",
"id": "0239CA06-9A71-4FFE-8A8D-5403540A19E7",
"service_level": "Ground Advantage",
"status": "shipped",
"tracking_number": "9200190347375200467807",
"tracking_url": "https://tools.usps.com/go/TrackConfirmAction_input?origTrackNum=9200190347375200467807"
}
],
"shipping": {
"carrier": "usps",
"service_level": "usps_ground_advantage",
"signature_confirmation": "standard"
},
"status": "received",
"paused_until": "2026-08-07T00:00:00",
"products": {
"prescription": [
{
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"sku": "1234567890",
"name": "Mupirocin",
"description": "A topical cream that is used to treat skin infections.",
"product_code": "SUPERSPRAY15",
"form": "cream",
"is_active": true,
"label_orientation": "portrait",
"strength": "1%",
"has_prescription": true,
"quantity": 2,
"reasons": [
{
"id": "00000000-0000-0000-0000-000000000201",
"name": "Palatability",
"description": "Commercial formulation has an unpleasant taste, texture, or odor."
}
]
}
],
"non_prescription": [
{
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"sku": "1234567890",
"name": "Krill Farms Fish Oil",
"description": "A fish oil supplement complementary to prescribed products.",
"form": "liquid",
"is_active": true,
"quantity": 1
}
],
"order_material": [
{
"id": "0227d1e5-ba9a-42b5-8fe2-38882aa65708",
"created_at": "2025-03-15T12:00:00Z",
"updated_at": "2025-03-15T12:00:00Z",
"sku": "1234567890",
"name": "Referral Brochure",
"description": "Customer brochure included in every shipment.",
"category": "marketing",
"current_stock": 927,
"reorder_threshold": 100,
"has_inventory": true,
"is_global": false,
"quantity": 1
}
]
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Unique identifier for the order, either UUID, order number (e.g. ORD250312003548IAU4), or external ID (e.g. my-system-128318AA2) if you have provided one during order creation or update.
Body
Reason for the replacement
"Product arrived damaged"
Response
Successful response with order details
Unique identifier
"0227d1e5-ba9a-42b5-8fe2-38882aa65708"
Date and time of creation
"2025-03-15T12:00:00Z"
Date and time of last update
"2025-03-15T12:00:00Z"
Show child attributes
Show child attributes
Custom shipping details for the order if your account has custom shipping enabled, and you have provided prepaid label details.
Show child attributes
Show child attributes
"b658f16f-819c-4503-aede-bd555fc4ebfb"
External (your own system's) ID associated with the order.
"my-system-128318AA2"
Whether the order is a replacement order
false
Friendlier identifier for the order. Auto-generated.
"ORD250312003548IAU4"
ID of the original order, if this is a replacement order
"0227d1e5-ba9a-42b5-8fe2-38882aa65708"
Show child attributes
Show child attributes
Number of prescriptions associated with the order (expected to be the same as the number of prescription products in the products object)
1
Whether the order has a priority request
false
Whether the customer has requested cancellation for an order in picked or verified status
false
IDs of any replacement orders, if they have been created from this order
If this is a replacement order, reason for the replacement
"Product arrived damaged"
Whether the order has a replacement request. This field is deprecated and will be removed in a future version. Please use replacement_request_status instead.
false
Status of the replacement request
pending, fulfilled, declined, cancelled "pending"
Date and time a replacement request was made
"2025-01-01T00:00:00Z"
Reason for the replacement request
"Product arrived damaged"
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Order status. One of received, picked, verified, exception, paused, shipped, delivered, cancelled, returned.
"received"
When an order is paused, midnight UTC of the pause-until calendar day. The order automatically unpauses when this date is reached. null when the pause is indefinite or the order is not paused.
"2026-08-07T00:00:00"
Show child attributes
Show child attributes