---
title: "Get Project Detail"
method: GET
path: "/v1/marketplace/projects/{item_id}"
tags: ["marketplace"]
---

# Get Project Detail

`GET /v1/marketplace/projects/{item_id}`

## Request

- Base URL: `https://api.kodik.ru` (the document declares no server; this is the origin it was published from)
- URL: `https://api.kodik.ru/v1/marketplace/projects/{item_id}`
- Auth: HTTP bearer

Everything the dedicated project page needs in one request: the project
(with `content` + repo metadata), the author's public profile, the first
page of reviews with rating distribution, and related projects.

## Path parameters

- `item_id` string, required

## Query parameters

- `reviewsLimit` integer

## Response `200`

Successful Response

- MarketplaceProjectDetailResponse
  - `project` MarketplaceProjectDetail, required: Full project payload for the dedicated project page. Same fields as a project card (which carries the repo metadata: repositoryUrl, repositoryStars, framework, runtime, packageManager, demoUrl, isBuiltIn) plus the detail-only `content` and status fields.
    - `id` string, required
    - `type` string, required
    - `title` string, required
    - `description` string, required
    - `author` string, required
    - `authorId` union, required
      - integer
      - string
    - `rating` number, required
    - `ratingCount` integer, required
    - `downloads` integer, required
    - `tags` string[]
    - `categories` string[]
    - `license` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `featured` boolean
    - `verified` boolean
    - `isFree` boolean
    - `price` number, nullable
    - `currency` string, nullable
    - `version` string, nullable
    - `variables` MarketplaceVariable[], nullable
      - `name` string, required
      - `description` string, nullable
      - `required` boolean
      - `defaultValue` string, nullable
    - `outputFormat` string, nullable
    - `ruleFormat` string, nullable
    - `level` string, nullable
    - `durationMinutes` integer, nullable
    - `lessonCount` integer, nullable
    - `language` string, nullable
    - `hasExercises` boolean, nullable
    - `hasCertificate` boolean, nullable
    - `isBuiltIn` boolean, nullable
    - `thumbnailUrl` string, nullable
    - `repositoryUrl` string, nullable
    - `demoUrl` string, nullable
    - `framework` string, nullable
    - `runtime` string, nullable
    - `packageManager` string, nullable
    - `repositoryStars` integer, nullable
    - `stats` MarketplaceItemStats
      - `views` integer
      - `likes` integer
      - `forks` integer, nullable
      - `liked` boolean, nullable
    - `live` boolean, nullable
    - `content` string, nullable
    - `hasAccess` boolean, nullable
    - `status` 'draft' | 'submitted' | 'approved' | 'rejected' | 'unpublished'
    - `submittedAt` string, date-time, nullable
    - `reviewedAt` string, date-time, nullable
    - `rejectionReason` string, nullable
  - `author` PublicSellerProfile
    - `id` integer, required
    - `username` string, required
    - `displayName` string, required
    - `avatar` string, nullable, required
    - `bio` string, nullable, required
    - `location` string, nullable, required
    - `company` string, nullable, required
    - `websiteUrl` string, nullable
    - `twitterUsername` string, nullable
    - `githubUsername` string, nullable
    - `linkedinUrl` string, nullable
    - `bannerImageUrl` string, nullable
    - `verified` boolean, required
    - `joinedAt` string, date-time, required
    - `stats` SellerStats, required
      - `itemsPublished` integer, required
      - `totalDownloads` integer, required
      - `avgRating` number, required
      - `followers` integer, required
      - `totalEarnings` number, required
      - `verified` boolean, required
    - `isFollowing` boolean, nullable
  - `reviews` ReviewListResponse, required
    - `reviews` RatingResponse[], required
      - `id` string, required
      - `itemId` string, required
      - `userId` integer, required
      - `userName` string, required
      - `userAvatar` string, nullable
      - `rating` number, required
      - `review` string, nullable
      - `helpful` integer
      - `createdAt` string, date-time, required
    - `pagination` PaginationMeta, required
      - `page` integer, required
      - `limit` integer, required
      - `total` integer, required
      - `totalPages` integer, required
    - `ratingDistribution` RatingDistribution, required
      - `1` integer
      - `2` integer
      - `3` integer
      - `4` integer
      - `5` integer
  - `relatedItems` MarketplaceCategoryItem[]
    - `id` string, required
    - `type` string, required
    - `title` string, required
    - `description` string, required
    - `author` string, required
    - `authorId` union, required
      - integer
      - string
    - `rating` number, required
    - `ratingCount` integer, required
    - `downloads` integer, required
    - `tags` string[]
    - `categories` string[]
    - `license` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
    - `featured` boolean
    - `verified` boolean
    - `isFree` boolean
    - `price` number, nullable
    - `currency` string, nullable
    - `version` string, nullable
    - `variables` MarketplaceVariable[], nullable
      - `name` string, required
      - `description` string, nullable
      - `required` boolean
      - `defaultValue` string, nullable
    - `outputFormat` string, nullable
    - `ruleFormat` string, nullable
    - `level` string, nullable
    - `durationMinutes` integer, nullable
    - `lessonCount` integer, nullable
    - `language` string, nullable
    - `hasExercises` boolean, nullable
    - `hasCertificate` boolean, nullable
    - `isBuiltIn` boolean, nullable
    - `thumbnailUrl` string, nullable
    - `repositoryUrl` string, nullable
    - `demoUrl` string, nullable
    - `framework` string, nullable
    - `runtime` string, nullable
    - `packageManager` string, nullable
    - `repositoryStars` integer, nullable
    - `stats` MarketplaceItemStats
      - `views` integer
      - `likes` integer
      - `forks` integer, nullable
      - `liked` boolean, nullable
    - `live` boolean, nullable
  - `meta` object, nullable

## Other responses

- `422`: Validation Error

---

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