---
title: "Update Pose Variant"
method: PATCH
path: "/api/tryon/pose-variants/{variant_id}"
tags: ["tryon"]
---

# Update Pose Variant

`PATCH /api/tryon/pose-variants/{variant_id}`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/tryon/pose-variants/{variant_id}`
- Auth: HTTP bearer

Edit label / description / prompt / category tags. Presets
are immutable; ownership is enforced via owner_user_id
(tryon is single-user scoped).

## Path parameters

- `variant_id` string, uuid, required

## Request body

- TryonPoseVariantUpdate: Editable fields on an owned variant. Presets are immutable — the API rejects PATCH on any scope=preset row.
  - `label` string, nullable
  - `description` string, nullable
  - `refinement_prompt` string, nullable
  - `product_types` string[], nullable
  - `model_categories` string[], nullable

## Response `200`

Successful Response

- TryonPoseVariantResponse
  - `id` string, uuid, required
  - `scope` string, required
  - `owner_user_id` string, uuid, nullable, required
  - `owner_team_id` string, uuid, nullable, required
  - `project_id` string, uuid, nullable, required
  - `slug` string, required
  - `label` string, required
  - `description` string, nullable, required
  - `sketch_s3_key` string, nullable, required
  - `sketch_url` string, nullable, required
  - `source_photo_s3_key` string, nullable, required
  - `refinement_prompt` string, nullable, required
  - `product_types` string[], required
  - `model_categories` string[], required
  - `sketch_status` string
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required

## Other responses

- `422`: Validation Error

---

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