---
title: "🔒 Создание нового функционала (фичи) с автоматической инициализацией аналитических и UI задач."
method: POST
path: "/projects/feature/create"
tags: ["Features"]
---

# 🔒 Создание нового функционала (фичи) с автоматической инициализацией аналитических и UI задач.

`POST /projects/feature/create`

## Request

- Base URL: `http://localhost`
- URL: `http://localhost/projects/feature/create`
- Auth: one of:
  - API key in header `sid` and API key in header `rts` and API key in header `sig`
  - HTTP bearer

Создание нового функционала (фичи) с автоматической инициализацией аналитических и UI задач.

**Access:** `authorized` (10 ) · **Scope:** `write`

**Allows:** `feature:create` (все обязательны; ресурс — `fields.productID`)

### TypeScript (copy-paste)

**`POST /projects/feature/create`**

<details open><summary><b>Params</b></summary>

```typescript
export interface ProjectsFeatureCreateParams {
  skipCreateContent?: boolean | null
}
```

</details>

<details open><summary><b>Body (Partial)</b></summary>

```typescript
// Patch-body: все поля опциональны (Valid.Patch)
export type ProjectsFeatureCreateBody = Partial<Feature>

export interface ProjectsFeatureCreateBodyFields {
  fields?: {
  cID: string
  projectID: string
  productID: string
  versionID: string
  ID: string
  key?: number | null
  title: string
  status: number
  spec: string
  gist?: string | null
  meta?: Record<string, any> | null
  analyticAssignee: string
  ord: number
  isDeleted?: boolean | null
  deletedTS?: number | null
  updTS: number
  updUID: string
}
  relations?: Array<any> | null
}
```

</details>

<details open><summary><b>Response</b></summary>

```typescript
export type ProjectsFeatureCreateResponse = IServerResponse<Feature>

export interface IServerResponse<T = any> {
  code: number
  data: T
  srvTS: number
  rkey: string
}
```

</details>

> Полный файл типов: [`/docs/types`](/docs/types) · raw: [`/docs/api-types.ts`](/docs/api-types.ts)

## Query parameters

- `skipCreateContent` boolean, nullable

## Headers

- `devID` string, uuid, required
- `tz` string, required
- `app` string, required
- `appVer` string, required
- `rKey` string

## Request body

- ProjectsFeatureCreateBody: Partial body (Valid.Patch) for `projects/feature/create` — все поля опциональны
  - `fields` object
    - `cID` string, uuid, required
    - `projectID` string, uuid, required
    - `productID` string, uuid, required
    - `versionID` string, uuid, required
    - `ID` string, uuid, required
    - `key` integer, nullable
    - `title` string, required
    - `status` integer, required
    - `spec` string, required
    - `gist` string, nullable
    - `meta` object, nullable
    - `analyticAssignee` string, required
    - `ord` integer, required: Unix timestamp in milliseconds
    - `isDeleted` boolean, nullable
    - `deletedTS` integer, nullable
    - `updTS` integer, required: Unix timestamp in milliseconds
    - `updUID` string, required
  - `relations` unknown[], nullable
    - unknown

## Response `200`

OK — `IServerResponse<Feature>`

- object
  - `code` integer, required
  - `data` Feature, required: Entity `Feature` (table: Feature )
    - `cID` string, uuid, required
    - `projectID` string, uuid, required
    - `productID` string, uuid, required
    - `versionID` string, uuid, required
    - `ID` string, uuid, required
    - `key` integer, nullable
    - `title` string, required
    - `status` integer, required
    - `spec` string, required
    - `gist` string, nullable
    - `meta` object, nullable
    - `analyticAssignee` string, required
    - `ord` integer, required: Unix timestamp in milliseconds
    - `isDeleted` boolean, nullable
    - `deletedTS` integer, nullable
    - `updTS` integer, required: Unix timestamp in milliseconds
    - `updUID` string, required
  - `srvTS` integer, required: Server timestamp (ms)
  - `rkey` string, required: Request key

## Other responses

- `400`: BadRequest / Validation — неверные params/body/headers
- `401`: Unauthorized: Active user session required
- `403`: AccessNotAllowed: Privilege feature:create required or the product is archived
- `406`: TimeResync — расхождение rts с сервером
- `422`: UnprocessableContent: Product/version not found, duplicate feature ID or invalid relation item

---

[API](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api.md) · [All operations](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/kosmodrom/apis/kosmodrom-backend-api/revisions/a143b51ba29a?raw)
