> ## Documentation Index
> Fetch the complete documentation index at: https://docs.rushly.us/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart

> Create your first delivery order in one request

This walks through the one call you need to create a real delivery order: `POST /orders/create`.

<Note>
  You'll need a `retailer_id` and API key first — see
  [Authentication](/authentication) if you don't have one yet.
</Note>

## Create an order

<CodeGroup>
  ```bash cURL theme={null}
  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"
    }'
  ```

  ```js Node.js theme={null}
  const response = await fetch(
    "https://rushly-backend-660939316816.us-west2.run.app/orders/create",
    {
      method: "POST",
      headers: {
        Authorization: "Bearer rk_your_api_key",
        "Content-Type": "application/json",
      },
      body: JSON.stringify({
        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",
      }),
    },
  );

  const { order } = await response.json();
  ```
</CodeGroup>

## What happens next

<Steps>
  <Step title="The customer gets a text">
    If `sms_opt_in` is true, they immediately receive an "order confirmed"
    text with a link to their live tracking page.
  </Step>

  <Step title="A driver is dispatched">
    Rushly finds the nearest available driver qualified for the requested
    [delivery tier](/delivery-tiers) and assigns them automatically — no
    action needed from you.
  </Step>

  <Step title="You're billed for the delivery">
    The moment a driver is assigned, your store's card on file is charged
    the tier's price. If dispatch can't find a driver right away, the order
    stays queued and nothing is charged yet.
  </Step>

  <Step title="Delivered">
    The driver completes the delivery with a photo, and the order's status
    updates in real time on the tracking page from the first text.
  </Step>
</Steps>

See the full [order lifecycle](/order-lifecycle) for every status an order can be in, and the [API reference](/api-reference/create-order) for the complete request/response schema.
