curl -X POST https://rushly-backend-660939316816.us-west2.run.app/orders/create \
-H "Authorization: Bearer rk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"retailer_id": "your-retailer-id",
"customer": {
"name": "Sarah Chen",
"email": "sarah@example.com",
"phone": "+19495550192",
"sms_opt_in": true
},
"pickup_address": "123 Fashion Ave, Irvine, CA 92614",
"dropoff_address": {
"line1": "456 Oak Street",
"line2": "Apt 2B",
"city": "Irvine",
"state": "CA",
"zip": "92618"
},
"delivery_tier": "standard"
}'
{
"success": true,
"message": "Order created successfully",
"order": {
"id": "1bebe287-c9da-49f9-8db7-20c77cd427c1",
"status": "driver_assigned",
"delivery_tier": "standard",
"delivery_fee": 2500,
"payment_status": "succeeded",
"tracking_token": "ce0470cf-08ea-40e3-b935-5243c99e60b8",
"created_at": "2026-08-08T02:56:00.725Z"
}
}
API Reference
Create an Order
Create a same-day delivery order for a customer
POST
/
orders
/
create
curl -X POST https://rushly-backend-660939316816.us-west2.run.app/orders/create \
-H "Authorization: Bearer rk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"retailer_id": "your-retailer-id",
"customer": {
"name": "Sarah Chen",
"email": "sarah@example.com",
"phone": "+19495550192",
"sms_opt_in": true
},
"pickup_address": "123 Fashion Ave, Irvine, CA 92614",
"dropoff_address": {
"line1": "456 Oak Street",
"line2": "Apt 2B",
"city": "Irvine",
"state": "CA",
"zip": "92618"
},
"delivery_tier": "standard"
}'
{
"success": true,
"message": "Order created successfully",
"order": {
"id": "1bebe287-c9da-49f9-8db7-20c77cd427c1",
"status": "driver_assigned",
"delivery_tier": "standard",
"delivery_fee": 2500,
"payment_status": "succeeded",
"tracking_token": "ce0470cf-08ea-40e3-b935-5243c99e60b8",
"created_at": "2026-08-08T02:56:00.725Z"
}
}
Creates a delivery order, then automatically attempts to dispatch it to the nearest eligible driver. See Authentication for how to get a key, and Order Lifecycle for what happens after this call.
Headers
string
required
Bearer rk_your_api_key — see Authentication.string
required
application/jsonBody
string
required
Your store’s Rushly ID, given to you alongside your API key.
object
required
Hide properties
Hide properties
string
required
Customer’s full name.
string
required
Customer’s email.
string
required
Customer’s phone number, E.164 format (e.g.
+19495550192). Used to
send the order-confirmed text and tracking link.boolean
default:"false"
Whether the customer consented to receive SMS updates. If
false, the
order is still created and dispatched normally — the customer just
won’t be texted a tracking link, so make sure your own confirmation
page or email surfaces it instead.string
required
Your store’s address, as a single formatted string (e.g.
"123 Fashion Ave, Irvine, CA 92614").object
required
string
default:"standard"
One of
standard, priority, or scheduled. See Delivery
Tiers for pricing and what each means for dispatch.curl -X POST https://rushly-backend-660939316816.us-west2.run.app/orders/create \
-H "Authorization: Bearer rk_your_api_key" \
-H "Content-Type: application/json" \
-d '{
"retailer_id": "your-retailer-id",
"customer": {
"name": "Sarah Chen",
"email": "sarah@example.com",
"phone": "+19495550192",
"sms_opt_in": true
},
"pickup_address": "123 Fashion Ave, Irvine, CA 92614",
"dropoff_address": {
"line1": "456 Oak Street",
"line2": "Apt 2B",
"city": "Irvine",
"state": "CA",
"zip": "92618"
},
"delivery_tier": "standard"
}'
{
"success": true,
"message": "Order created successfully",
"order": {
"id": "1bebe287-c9da-49f9-8db7-20c77cd427c1",
"status": "driver_assigned",
"delivery_tier": "standard",
"delivery_fee": 2500,
"payment_status": "succeeded",
"tracking_token": "ce0470cf-08ea-40e3-b935-5243c99e60b8",
"created_at": "2026-08-08T02:56:00.725Z"
}
}
Response
string
The order’s ID. Not needed for anything client-facing — use
tracking_token for that — but useful for your own records.string
pending_dispatch if no driver was immediately available, driver_assigned if dispatch succeeded synchronously. See Order Lifecycle for the full set of values and how status changes after this point.string
Echoes back the tier that was used (defaults to
standard if you didn’t send one).integer
The price charged for this delivery, in cents. Always derived server-side from
delivery_tier — see Delivery Tiers.string
Whether your store’s card on file was successfully charged. See Order Lifecycle.
string
The token in the customer’s tracking link:
https://rushly.us/track/{tracking_token}.A few other fields are present on
order (customer_id, driver_id,
dropoff_address_id, stripe_charge_id, timestamps, and some
driver-payout bookkeeping fields) — they’re internal and safe to ignore.Errors
object
delivery_tier was set to something other than standard, priority, or scheduled.object
The API key is missing or wrong, doesn’t match the
retailer_id you sent, or your store’s status isn’t active yet. Double-check both values are exactly what you were given — see Authentication.object
Something went wrong on Rushly’s end. Safe to retry; contact support@rushly.us if it persists.