---
title: "Update Me"
method: PATCH
path: "/auth/me"
tags: ["auth"]
---

# Update Me

`PATCH /auth/me`

## Request

- Base URL: `https://api.reeldrop.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.reeldrop.io/auth/me`
- Auth: HTTP bearer

Update the user's onboarding profile (name, role, niches, referral source).

Name is also written to Clerk by the client before this call — Clerk is the
source of truth for display name everywhere else, and the `user.updated`
webhook copies Clerk → Mongo unconditionally. Writing both keeps the two
stores holding the same value, so that echoing webhook is a harmless no-op
instead of a silent revert.

## Request body

- MeUpdate: Partial profile update. Used by both the onboarding modal and the "About you" section of Settings — the only difference is that Settings omits `complete_onboarding`.
  - `name` string, nullable
  - `role` 'creator' | 'influencer' | 'founder' | 'marketer' | 'agency' | 'coach' | 'business_owner' | 'student' | 'freelancer' | 'other': What the user does. Single-select.
  - `niches` string[], nullable
  - `referral_source` 'instagram' | 'youtube' | 'tiktok' | 'linkedin' | 'x' | 'reddit' | 'google' | 'friend' | 'newsletter' | 'podcast' | 'ad' | 'other': How the user found ReelDrop. Optional.
  - `email_ig_disconnected` boolean, nullable
  - `email_publish_failed` boolean, nullable
  - `email_weekly_digest` boolean, nullable
  - `email_monthly_digest` boolean, nullable
  - `email_product_updates` boolean, nullable
  - `email_referral_updates` boolean, nullable
  - `email_plan_nudges` boolean, nullable
  - `email_milestones` boolean, nullable
  - `complete_onboarding` boolean

## Response `200`

Successful Response

- MeOut
  - `clerk_id` string, required
  - `email` string, required
  - `name` string, nullable, required
  - `avatar_url` string, nullable, required
  - `role` string, nullable
  - `niches` string[]
  - `referral_source` string, nullable
  - `onboarding_completed_at` string, date-time, nullable
  - `email_ig_disconnected` boolean
  - `email_publish_failed` boolean
  - `email_weekly_digest` boolean
  - `email_monthly_digest` boolean
  - `email_product_updates` boolean
  - `email_referral_updates` boolean
  - `email_plan_nudges` boolean
  - `email_milestones` boolean
  - `referral_promo_seen` integer
  - `personal_workspace` RoutersAuthWorkspaceOut, required
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `plan` 'starter' | 'influencer' | 'creator', required
    - `personal` boolean, required
    - `avatar_url` string, nullable, required
    - `hook_photo_url` string, nullable
  - `default_workspace_id` string, nullable
  - `created_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

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