---
title: "Join Waitlist"
method: POST
path: "/api/v1/waitlist"
---

# Join Waitlist

`POST /api/v1/waitlist`

## Request

- Base URL: `https://app.heyjarvie.com` (the document declares no server; this is the origin it was published from)
- URL: `https://app.heyjarvie.com/api/v1/waitlist`
- Auth: none declared

Capture a phone and/or email on the waitlist. Idempotent on either.

## Headers

- `authorization` string, nullable

## Request body

- WaitlistRequest: Body for ``POST /api/v1/waitlist``. ``phone`` is any human-entered phone string (normalized server-side to E.164) and ``email`` is any email string (normalized server-side): at least one must be supplied. ``source`` is a free-form tag naming where the capture came from, e.g. ``landing-hero`` / ``desktop-qr``; it defaults to ``"unknown"`` so a caller that omits it still records a row. ``desired_platform`` is an optional free-form string stored on the row (write-only — not returned by the API).
  - `phone` string, nullable
  - `email` string, nullable
  - `desired_platform` string, nullable
  - `source` string
  - `utm_source` unknown
  - `utm_medium` unknown
  - `utm_campaign` unknown
  - `utm_term` unknown
  - `utm_content` unknown
  - `click_id_param` unknown

## Response `200`

Successful Response

- WaitlistResponse
  - `e164` string, nullable, required
  - `email` string, nullable, required
  - `source` string, required
  - `created` boolean, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/heyjarvie/apis/jarvis-api.md) - [All operations](https://skmtc.dev/heyjarvie/apis/jarvis-api/llms.txt) - [OpenAPI document](https://skmtc.dev/heyjarvie/apis/jarvis-api/revisions/36fe7e94e33a?raw)
