---
title: "Create a new order"
method: POST
path: "/v1/orders"
tags: ["Orders"]
---

# Create a new order

`POST /v1/orders`

Create orders for consumers (self-pay or employer-sponsored), employers, or bulk orders. Consolidates functionality from legacy Order.createOrder and Order.SendOrder methods.

## Request body

- union
  - object
    - `_id` string
    - `employeeId` string
    - `employerId` string
    - `services` object[], required
      - `_id` string, required
      - `quantity` integer, required
      - `autoAccept` boolean
    - `providerId` string, required
    - `person` object, required
      - `firstName` string, required
      - `lastName` string, required
      - `dob` string, required — Date of birth in YYYY-MM-DD format
      - `street` string, required
      - `street2` string
      - `city` string, required
      - `state` string, required
      - `county` string
      - `country` string
      - `zipcode` string, required — US ZIP code in 12345 or 12345-6789 format
      - `phone` string, required
      - `email` string, required
    - `paymentMethod` 'self-pay' | 'employer-sponsored', required
    - `tokenId` string
    - `reCaptchaToken` string
    - `quantities` object
    - `servicesIds` string[]
    - `providersIds` object[]
      - `serviceId` string
      - `providerId` string, required
    - `dueDates` string[]
    - `dueDate` string, date-time
    - `bundleIds` object — Map of serviceId to bundleId for per-bundle pricing disambiguation
    - `brandId` string
    - `providerCreated` boolean
    - `employeeIds` string[]
    - `priority` 'normal' | 'high' — Order priority level
    - `metadata` object — Optional arbitrary metadata (<=10KB when JSON stringified)
  - object
    - `_id` string
    - `employeeId` string, required
    - `employerId` string, required
    - `services` object[], required
      - `_id` string, required
      - `quantity` integer, required
      - `autoAccept` boolean
    - `providerId` string
    - `person` object
      - `firstName` string, required
      - `lastName` string, required
      - `dob` string, required — Date of birth in YYYY-MM-DD format
      - `street` string, required
      - `street2` string
      - `city` string, required
      - `state` string, required
      - `county` string
      - `country` string
      - `zipcode` string, required — US ZIP code in 12345 or 12345-6789 format
      - `phone` string, required
      - `email` string, required
    - `paymentMethod` 'self-pay' | 'employer-sponsored'
    - `tokenId` string
    - `reCaptchaToken` string
    - `quantities` object
    - `servicesIds` string[]
    - `providersIds` object[]
      - `serviceId` string
      - `providerId` string, required
    - `dueDates` string[]
    - `dueDate` string, date-time
    - `bundleIds` object — Map of serviceId to bundleId for per-bundle pricing disambiguation
    - `brandId` string
    - `providerCreated` boolean
    - `employeeIds` string[]
    - `priority` 'normal' | 'high' — Order priority level
    - `metadata` object — Optional arbitrary metadata (<=10KB when JSON stringified)
  - object
    - `_id` string
    - `employeeId` string, required
    - `employerId` string, required
    - `services` object[]
      - `_id` string, required
      - `quantity` integer, required
      - `autoAccept` boolean
    - `providerId` string
    - `person` object
      - `firstName` string, required
      - `lastName` string, required
      - `dob` string, required — Date of birth in YYYY-MM-DD format
      - `street` string, required
      - `street2` string
      - `city` string, required
      - `state` string, required
      - `county` string
      - `country` string
      - `zipcode` string, required — US ZIP code in 12345 or 12345-6789 format
      - `phone` string, required
      - `email` string, required
    - `paymentMethod` 'self-pay' | 'employer-sponsored'
    - `tokenId` string
    - `reCaptchaToken` string
    - `quantities` object
    - `servicesIds` string[], required
    - `providersIds` object[], required
      - `serviceId` string
      - `providerId` string, required
    - `dueDates` string[]
    - `dueDate` string, date-time
    - `bundleIds` object — Map of serviceId to bundleId for per-bundle pricing disambiguation
    - `brandId` string
    - `providerCreated` boolean
    - `employeeIds` string[]
    - `priority` 'normal' | 'high' — Order priority level
    - `metadata` object — Optional arbitrary metadata (<=10KB when JSON stringified)
  - object
    - `_id` string
    - `employeeId` string
    - `employerId` string, required
    - `services` object[]
      - `_id` string, required
      - `quantity` integer, required
      - `autoAccept` boolean
    - `providerId` string
    - `person` object
      - `firstName` string, required
      - `lastName` string, required
      - `dob` string, required — Date of birth in YYYY-MM-DD format
      - `street` string, required
      - `street2` string
      - `city` string, required
      - `state` string, required
      - `county` string
      - `country` string
      - `zipcode` string, required — US ZIP code in 12345 or 12345-6789 format
      - `phone` string, required
      - `email` string, required
    - `paymentMethod` 'self-pay' | 'employer-sponsored'
    - `tokenId` string
    - `reCaptchaToken` string
    - `quantities` object
    - `servicesIds` string[], required
    - `providersIds` object[], required
      - `serviceId` string
      - `providerId` string, required
    - `dueDates` string[]
    - `dueDate` string, date-time
    - `bundleIds` object — Map of serviceId to bundleId for per-bundle pricing disambiguation
    - `brandId` string
    - `providerCreated` boolean
    - `employeeIds` string[], required
    - `priority` 'normal' | 'high' — Order priority level
    - `metadata` object — Optional arbitrary metadata (<=10KB when JSON stringified)

## Response `200`

Default Response

- union
  - object
    - `success` true, required
    - `orderId` string, required
    - `orderNumber` string, required
    - `selfPay` boolean
    - `hostedInvoiceUrl` string, uri
    - `message` string
    - `unavailableServices` object[]
      - `serviceId` string, required
      - `serviceName` string
      - `reason` string, required
    - `partialSuccess` boolean
  - object
    - `success` true, required
    - `status` 'split', required
    - `message` string
    - `orderResults` object[], required
      - `orderId` string, required
      - `orderNumber` string, required
      - `providerId` string, required
    - `unavailableServices` object[]
      - `serviceId` string, required
      - `serviceName` string
      - `reason` string, required
    - `partialSuccess` boolean

## Other responses

- `400` — Default Response
- `401` — Default Response
- `500` — Default Response

---

[API](https://skmtc.net/bluehive-health/apis/bluehive-api.md) · [All operations](https://skmtc.net/bluehive-health/apis/bluehive-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/bluehive-health/bluehive-api/revisions/e6e553c2594a/schema)
