---
title: "Creates a new Aspect"
method: PUT
path: "/perspectives/aspect"
tags: ["perspectives"]
---

# Creates a new Aspect

`PUT /perspectives/aspect`

## Request body

- AspectCreate
  - `name` string, required — Name of the aspect
  - `doc_embedding_prompt` string, required — Prompt for document embedding
  - `doc_modification_prompt` string, nullable — Prompt for document modification
  - `is_hierarchical` boolean, required — Whether the aspect is hierarchical
  - `modality` 'text' | 'image' | 'video' | 'audio', required
  - `pipeline_settings` PipelineSettings, required — Settings for the perspective creation pipeline. When updating these settings, make sure to also update the frontend default settings! (PerspectiveCreationDialog.tsx)
    - `rewriting_model` string, required — Large Language Model to use for the perspective creation pipeline
    - `umap_n_neighbors` integer — Number of neighbors for UMAP dimensionality reduction
    - `umap_n_components` integer — Number of components for UMAP dimensionality reduction
    - `umap_min_dist` number — Minimum distance for UMAP dimensionality reduction
    - `umap_metric` string — Metric for UMAP dimensionality reduction
    - `hdbscan_min_cluster_size` integer — Minimum cluster size for HDBSCAN clustering
    - `hdbscan_metric` string — Metric for HDBSCAN clustering
    - `num_keywords` integer — Number of keywords to extract per cluster
    - `num_top_documents` integer — Number of top documents to extract per cluster
  - `tag_id` integer, nullable — ID of the tag associated with this aspect.
  - `project_id` integer, required — ID of the project this aspect belongs to

## Response `200`

Successful Response

- AspectRead
  - `name` string, required — Name of the aspect
  - `doc_embedding_prompt` string, required — Prompt for document embedding
  - `doc_modification_prompt` string, nullable — Prompt for document modification
  - `is_hierarchical` boolean, required — Whether the aspect is hierarchical
  - `modality` 'text' | 'image' | 'video' | 'audio', required
  - `pipeline_settings` PipelineSettings, required — Settings for the perspective creation pipeline. When updating these settings, make sure to also update the frontend default settings! (PerspectiveCreationDialog.tsx)
    - `rewriting_model` string, required — Large Language Model to use for the perspective creation pipeline
    - `umap_n_neighbors` integer — Number of neighbors for UMAP dimensionality reduction
    - `umap_n_components` integer — Number of components for UMAP dimensionality reduction
    - `umap_min_dist` number — Minimum distance for UMAP dimensionality reduction
    - `umap_metric` string — Metric for UMAP dimensionality reduction
    - `hdbscan_min_cluster_size` integer — Minimum cluster size for HDBSCAN clustering
    - `hdbscan_metric` string — Metric for HDBSCAN clustering
    - `num_keywords` integer — Number of keywords to extract per cluster
    - `num_top_documents` integer — Number of top documents to extract per cluster
  - `tag_id` integer, nullable — ID of the tag associated with this aspect.
  - `id` integer, required — ID of the aspect
  - `project_id` integer, required — ID of the project this aspect belongs to
  - `most_recent_job_id` string, nullable — ID of the most recent job associated with the aspect

## Other responses

- `422` — Validation Error

## Changes

- **2026-07-15** `1af5a8046f20` — 2 info
  - added the optional property `detail/items/ctx` to the response with the `422` status
  - added the optional property `detail/items/input` to the response with the `422` status
- **2026-06-30** `ea28bda836c5` — 1 breaking, 1 info
  - added the new required request property `pipeline_settings/rewriting_model`
  - added the required property `pipeline_settings/rewriting_model` to the response with the `200` status
- **2025-12-04** `bf20656dfc4d` — 2 warning, 8 info
  - removed the request property `pipeline_settings/hdbscan_min_samples`
  - removed the optional property `pipeline_settings/hdbscan_min_samples` from the response with the `200` status
  - added the new optional request property `pipeline_settings/hdbscan_min_cluster_size`
  - added the new optional request property `pipeline_settings/num_top_documents`
  - …6 more
- **2025-12-03** `c806aea0dc47` — 2 breaking, 4 info
  - added the new required request property `modality`
  - added the new required request property `pipeline_settings`
  - added the new optional request property `tag_id`
  - added the optional property `tag_id` to the response with the `200` status
  - …2 more
- …earlier changes not shown

[Full history](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api/changes/perspectives/aspect/put.md)

---

[API](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api.md) · [All operations](https://skmtc.dev/uhh-lt/apis/discourse-analysis-tool-suite-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/uhh-lt/discourse-analysis-tool-suite-api/revisions/a84d27ef7a0d/schema)
