---
title: "Post Order"
method: POST
path: "/diagnostics/v0/orders"
tags: ["diagnostics"]
---

# Post Order

`POST /diagnostics/v0/orders`

Create a new order, and fulfill a new kit to the patient for that order. If there's already a kit for this patient, use the "register" endpoint instead of this endpoint.

## Request body

- PostOrders
  - `patient` Model204 — Patient information
    - `first_name` string, required — Patient first name
    - `last_name` string, required — Patient last name
    - `dob` string, required — Patient date of birth
    - `gender` 'male' | 'female' | 'unknown', required — Patient gender
    - `email` string — Patient contact email address
    - `phone` string — Patient contact phone number
    - `street1` string — Patient street 1
    - `street2` string — Patient street 2
    - `city` string — Patient city
    - `state` string — Patient state
    - `zip` string, required — Location postal code
  - `patient_token` string — Token to reference Patient record. Only one of patient_token or patient will be accepted
  - `panels` string[]
  - `address` Address, required — Shipping Address Object
    - `name` string, required — Name
    - `street1` string, required — Shipping street 1
    - `street2` string — Shipping street 2
    - `city` string, required — Shipping city
    - `state` string — Shipping state
    - `zip` string, required — Shipping postal code
  - `physician` Physician — Physician providing requisition
    - `first_name` string, required — Physician first name
    - `last_name` string, required — Physician last name
    - `npi` string, required — National provider identifier
    - `facility` string — Physician Facility
    - `address` string — Physician Address
    - `city` string — Physician city
    - `state` string — Physician state
    - `zip` string — Physician postal code
    - `phone` string — Physician contact phone number
    - `credential` string — Physician credential
  - `insurance` Insurance — Insurance information
    - `payer_name` string, required — Payer name
    - `group_id` string, required — Group ID on insurance card
    - `member_id` string, required — Member ID on insurance card
    - `bin` string, required — RX Bin on card, always 6 characters
  - `insurance_token` string — Only one of insurance_token or insurance will be accepted
  - `kit_id` string — ID indicating which kit should be ordered
  - `test_id` string, required — ID indicating which test should to be ordered
  - `custom_data_1` string — A custom data string for external use. This can be any arbitrary UTF-8 string
  - `custom_data_2` string — A custom data string for external use. This can be any arbitrary UTF-8 string
  - `custom_data_3` string — A custom data string for external use. This can be any arbitrary UTF-8 string
  - `specimen` Specimen
    - `specimenCollectedDate` string
    - `questionnaireResponse` Model40[]
      - `linkId` string
      - `answer` Model39[]
        - `valueCoding` ValueCoding
          - `code` string
          - `display` string
        - `valueBoolean` boolean
        - `valueString` string
        - `valueDate` string

## Response `200`

Successful

## Other responses

- `201` — The created order
- `400` — There is an issue with your request. Inspection of the response body will yield more details
- `401` — Authorization missing or invalid
- `500` — An unexpected, likely ephemeral scenario occurred. The request will have to be retried later. We recommend reaching out to Truepill if this is a persistent issue.

---

[API](https://skmtc.dev/truepill/apis/truepill-api-documentation.md) · [All operations](https://skmtc.dev/truepill/apis/truepill-api-documentation/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/truepill/truepill-api-documentation/revisions/d9aaa355c1e0/schema)
