Order Labs
Browse → purchase → schedule blood draw → view results.
Prerequisites
- Authenticated CLI
- Complete profile — gender, phone (with dial code), birth date, home address. The order will fail to initialize if any of these are missing.
Step 0 — make sure your profile is complete
betterness profile get
Fix any N/A fields. Phone requires both --phone and --phone-dial-code.
betterness profile update \
--gender MALE --birth-date 1990-05-15 \
--phone 5551234567 --phone-dial-code +1 \
--address "123 Main St" --city Boulder --state CO \
--zip-code 80302 --country US
Step 1 — browse available tests
--us-state is required. Lab availability and price are state-specific (NY/NJ have different catalogs than other states), and the CLI fails closed without it.
betterness lab-tests list --us-state NJ # catalog purchasable in NJ
betterness lab-tests list --us-state NJ --popular # popular only
betterness lab-tests list --us-state NJ --query "comprehensive" # search by name
Note the objectKey (e.g. betterness-comprehensive) for the test you want. Always reference labs by objectKey, not by display name — two results with the same name can be different sellable products across states or providers.
Step 2 — purchase
If you have a saved card:
betterness purchases payment-methods
betterness purchases buy --test-key betterness-comprehensive --payment-method-id pm_abc123
If not, generate a Stripe Checkout link:
betterness purchases checkout \
--test-key betterness-comprehensive \
--success-url https://your.app/success \
--cancel-url https://your.app/cancel
Open the returned URL to complete payment. After payment, the order is created automatically via webhook.
Step 3 — initialize (if needed)
betterness lab-records list
If status is Paid (auto-init didn't complete because a profile field was missing at purchase time):
betterness lab-orders initialize --order-id abc123
Step 4 — schedule a blood draw
# Find nearby service centers
betterness lab-orders service-centers --zip-code 80302 --order-id abc123
# See available slots at one
betterness lab-orders slots --site-code QST001 --order-id abc123 --timezone America/Denver
# Book
betterness lab-orders book --order-id abc123 --booking-key slot_xyz --timezone America/Denver
Step 5 — manage the appointment
# Reschedule (only while appointment is still active)
betterness lab-orders reschedule --order-id abc123 --booking-key new_slot --timezone America/Denver
# Cancel — without --reason-id first to see options
betterness lab-orders cancel --order-id abc123
betterness lab-orders cancel --order-id abc123 --reason-id 3
After cancellation, use book (not reschedule) for a new appointment.
Step 6 — view results
betterness lab-records list # check status — wait for "Completed"
betterness biomarkers search --start-date 2026-03-01 # results
betterness biological-age get # updated biological age
Status lifecycle
| Status | What to do |
|---|---|
| Paid | Complete profile, then initialize |
| Order Submitted | Wait — no action needed |
| Requisition Created | Search service centers, book appointment |
| Appointment Scheduled | Visit the lab. Reschedule or cancel if needed. |
| Appointment Cancelled | Book a new appointment with book (not reschedule) |
| Partial Results | View available results, wait for the rest |
| Completed | Search biomarkers and view biological age |
| Failed | Contact support or order again |

