---
title: "Set persona_primary"
method: POST
path: "/api/v1/user/persona"
tags: ["User"]
---

# Set persona_primary

`POST /api/v1/user/persona`

Set the account persona to a slug returned by the GET operation.

## Headers

- `X-CSRF-Token` string, required

## Request body

- UserPersonaUpdateRequest
  - `persona` string, required — Slug returned by GET /api/v1/user/persona.

## Response `200`

Updated

- UserPersonaSelectedResponse
  - `ok` boolean, required
  - `persona` string, required

## Other responses

- `400` — Invalid persona slug
- `401` — Authentication required (no active session)
- `403` — Invalid CSRF

## Changes

- **2026-07-26** `996f96a11758` — 2 breaking, 36 info
  - added the new required `header` request parameter `X-CSRF-Token`
  - added required request body
  - api operation id `postUserPersona` was added
  - added the media type `application/json` for the response with the status `200`
  - …34 more

[Change history](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/changes/api/v1/user/persona/post.md)

---

[API](https://skmtc.dev/openmercantil/apis/openmercantil-public-api.md) · [All operations](https://skmtc.dev/openmercantil/apis/openmercantil-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/openmercantil/openmercantil-public-api/revisions/601ff6123c86/schema)
