---
title: "Load full detail for one public package, including untrusted README content and aggregate ratings."
method: GET
path: "/v1/community/listings/{listing_id}"
tags: ["community"]
---

# Load full detail for one public package, including untrusted README content and aggregate ratings.

`GET /v1/community/listings/{listing_id}`

## Request

- Base URL: `https://api.kody.codes`
- URL: `https://api.kody.codes/v1/community/listings/{listing_id}`
- Auth: HTTP bearer

Load full detail for one public package, including untrusted README content and aggregate ratings.

Org permission: `search:read`.

## Path parameters

- `listing_id` string, required: Catalog entry id to load.

## Response `200`

Success.

- object
  - `average_stars` number, nullable, required
  - `rating_count` integer, required
  - `average_adaptation_effort` number, nullable, required
  - `fork_count` integer, required
  - `listing_id` string, required
  - `name` string, required
  - `kody_id` string, required
  - `description` string, required
  - `tags` string[], required
  - `category` 'integrations' | 'examples' | 'productivity' | 'apps' | 'utilities' | 'other', required
  - `license` string, required
  - `version` string, nullable, required: package.json#version from the pinned listing snapshot, or null when the author did not set a string version.
  - `pinned_commit` string, required
  - `status` 'active' | 'delisted', required
  - `trusted` boolean, required: Always false. Catalog listings have no trusted-review mark.
  - `featured` boolean, required: True when an admin featured this listing as an onboarding starter package. Featured is editorial placement, not a safety review.
  - `owner_username` string, required
  - `owner_profile_url` string, nullable, required
  - `public_url` string, required: Canonical shareable user URL ({base}/@{username}/{package-name-leaf}); share this URL with humans.
  - `published_at` string, required
  - `readme_untrusted` string, nullable, required
  - `content_warning` string, required
  - `fork_instructions` string, required

## Other responses

- `400`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `401`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `403`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `404`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `409`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `413`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `429`: Too many requests (edge IP/token limit) or an entitlement / plan-cap limit. Wait at least `Retry-After` seconds before retrying.
- `500`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `503`: Error envelope `{ "error": { "code", "message", "details"? } }`.
- `default`: Error envelope `{ "error": { "code", "message", "details"? } }`.

---

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