Create a test order (sandbox only)
POST/v1/sandbox/orders
scope orders.writesandbox only — 404 in production
404 in production. The sandbox has no buyers, so this fabricates an order from a synthetic buyer against one of your own products. No payment exists and no courier is contacted. It sends order.created to your webhooks like a real order does — even though you asked for it, because it stands in for a buyer.
Request body#
| Field | Type | Required | Description |
|---|---|---|---|
external_id | string | optional | Which of YOUR products the synthetic buyer orders, by your own id. Send this or product_id; with neither you get field_required (400), and with one that is not yours product_not_found (404). |
product_id | integer | optional | The same choice by our id. Takes precedence over external_id when both are sent. |
quantity | integer | optional | How many units. Defaults to 1. |
courier_id | integer | optional | Which courier the order is placed with. Defaults to 1. Nothing is booked with a real carrier in the sandbox, so this only decides what the order says. |
Example
{
"external_id": "ERP-1001",
"quantity": 2
}Response#
| Field | Type | Description |
|---|---|---|
order | object | The order that was created, in full — the same shape every other order endpoint returns, so you can hand it straight to the code you are testing. |
note | string | A reminder that nothing here is real: no payment was taken and no courier was contacted. |
Example
{
"order": {
"id": 711,
"reference": "SBXORD-SJP6NHXY",
"status": "pending",
"can_accept": false,
"has_awb": true,
"total": {
"amount": 359800,
"currency": "RON"
},
"refunded": {
"amount": 0,
"currency": "RON"
},
"items": [
{
"id": 1123,
"product_id": 237224,
"external_id": "ERP-1001",
"sku": "MTB-29-001",
"title": "Bicicleta MTB Hardtail 29 inch",
"quantity": 2,
"quantity_ordered": 2,
"quantity_short": 0,
"unit_price": {
"amount": 179900,
"currency": "RON"
},
"total_price": {
"amount": 359800,
"currency": "RON"
}
}
],
"awb": {
"number": "SBX0000000711",
"tracking_url": "https://sandbox-api.biklo.com/track/SBX0000000711"
},
"is_dropshipping": false,
"created_at": "2026-09-11T09:20:14Z",
"updated_at": "2026-09-11T10:02:47Z",
"accepted_at": "2026-09-11T10:02:47Z",
"delivered_at": null,
"expires_at": "2026-09-13T09:20:14Z",
"notes_from_buyer": "Please call before delivery.",
"courier_id": 1,
"seller_invoice": null,
"fees": {
"platform_fee": 17990,
"shipping": 2500,
"currency": "RON"
},
"delivery": {
"recipient": "John Doe",
"phone": "07xxxxxxxx",
"city": "Craiova",
"county": "Dolj",
"postcode": "200000",
"country": "RO",
"is_locker": false
},
"refunds": [],
"parcels": [
{
"id": 4012,
"sequence_no": 1,
"weight_kg": 2.4,
"length_cm": 40,
"width_cm": 30,
"height_cm": 20,
"is_seller_declared": true,
"items": [
{
"order_item_id": 1123,
"quantity": 2
}
]
}
]
},
"note": "A test order from a synthetic buyer. No payment exists and no courier was contacted."
}