---
title: "Create or update web user"
method: POST
path: "/v1/web-users"
tags: ["Web Users"]
---

# Create or update web user

`POST /v1/web-users`

Creates a new web user or updates existing one based on firebaseUid. Returns webUserId to store in localStorage.

## Headers

- `origin` string, required

## Request body

- CreateWebUserDto
  - `firebaseUid` string
  - `email` string
  - `funnelType` string, required — Funnel variant identifier (e.g., "main", "dialogue", "quick")
  - `funnelAnswers` object, required
  - `utmParams` UtmParamsDto
    - `utmSource` string
    - `utmMedium` string
    - `utmCampaign` string
    - `utmContent` string
    - `utmTerm` string
    - `fbclid` string
  - `geolocation` GeolocationDto, required
    - `ipAddress` string, required
    - `country` string
  - `amplitudeDeviceId` string
  - `facebookPixelId` string
  - `locale` string, required
  - `userAgent` string, required
  - `referrer` string
  - `deviceType` 'mobile' | 'tablet' | 'desktop'
  - `adMetadata` object — Ad/campaign metadata - all URL query params from ad links (e.g. campaign_id, adset_id, ad_id, affid, _subid, _token, etc.)
  - `experiments` object — A/B test experiment assignments (experimentId -> assignment)

## Response `200`

Web user created or updated successfully

- CreateWebUserResponseDto
  - `webUserId` string, required
  - `created` boolean, required

---

[API](https://skmtc.dev/miaai/apis/backend-template-api.md) · [All operations](https://skmtc.dev/miaai/apis/backend-template-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/miaai/backend-template-api/revisions/2a8d88a5124f/schema)
