---
title: "Subscribe"
method: POST
path: "/api/v1/gtm/newsletter/subscribe"
tags: ["GTM - Newsletter"]
---

# Subscribe

`POST /api/v1/gtm/newsletter/subscribe`

## Request

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

Public signup endpoint. Writes to local DB AND Beehiiv.

Idempotent — if email exists and was unsubscribed, reactivates. If active, returns existing.

## Headers

- `x-admin-key` string, nullable

## Request body

- SubscriberSignupRequest
  - `email` string, email, required
  - `first_name` string, nullable
  - `last_name` string, nullable
  - `company_name` string, nullable
  - `source` string
  - `segments` string[], nullable
  - `utm_source` string, nullable
  - `utm_medium` string, nullable
  - `utm_campaign` string, nullable
  - `referring_site` string, nullable

## Response `200`

Successful Response

- SubscriberSignupResponse
  - `id` integer, required
  - `email` string, required
  - `status` string, required
  - `beehiiv_id` string, nullable
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/gemstoneaiapp/apis/gemstoneai-api.md) · [All operations](https://skmtc.dev/gemstoneaiapp/apis/gemstoneai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/gemstoneaiapp/apis/gemstoneai-api/revisions/fcb441f55161?raw)
