---
title: "Persist first/last-touch UTM attribution for the current user"
method: POST
path: "/api/v1/users/me/onboarding"
tags: ["users"]
---

# Persist first/last-touch UTM attribution for the current user

`POST /api/v1/users/me/onboarding`

## Request

- Base URL: `https://api.qualityclouds.ai` (the document declares no server; this is the origin it was published from)
- URL: `https://api.qualityclouds.ai/api/v1/users/me/onboarding`
- Auth: one of:
  - HTTP bearer
  - OpenID Connect (`https://account.qualityclouds.com//realms/ai-production/.well-known/openid-configuration`)

## Request body

- OnboardingRequest
  - `first_touch` UtmBundleRequest
    - `source` string, nullable
    - `medium` string, nullable
    - `campaign` string, nullable
    - `content` string, nullable
    - `term` string, nullable
  - `last_touch` UtmBundleRequest
    - `source` string, nullable
    - `medium` string, nullable
    - `campaign` string, nullable
    - `content` string, nullable
    - `term` string, nullable

## Response `202`

Successful Response

- OnboardingResponse
  - `persisted` boolean, required

## Other responses

- `401`: Unauthorized
- `403`: Forbidden
- `422`: Validation Error

---

[API](https://skmtc.dev/qualityclouds/apis/qai-orchestrator-api.md) · [All operations](https://skmtc.dev/qualityclouds/apis/qai-orchestrator-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qualityclouds/apis/qai-orchestrator-api/revisions/250c849925af?raw)
