---
title: "Shows available packages of a specific package"
method: GET
path: "/api/v1/catalog/packages/{attr_path}"
tags: ["catalog"]
---

# Shows available packages of a specific package

`GET /api/v1/catalog/packages/{attr_path}`

Returns a list of versions for a given attr_path

Required Query Parameters:
- **attr_path**: The attr_path, must be valid.

Optional Query Parameters:
- **page**: Optional page number for pagination (def = 0)
- **pageSize**: Optional page size for pagination (def = 10)

Returns:
- **PackagesResult**: A list of PackageResolutionInfo and the total result count

## Path parameters

- `attr_path` string, required

## Query parameters

- `page` integer
- `pageSize` integer

## Response `200`

A list of packages attr_path

- PackagesResult
  - `items` PackageResolutionInfo[], required
    - `catalog` string, nullable
    - `attr_path` string, required
    - `pkg_path` string, required
    - `derivation` string, required
    - `name` string, required
    - `pname` string, required
    - `version` string, required
    - `system` 'aarch64-darwin' | 'aarch64-linux' | 'x86_64-darwin' | 'x86_64-linux' | 'invalid', required
    - `outputs` PackageOutput[], required
      - `name` string, required
      - `store_path` string, required
    - `outputs_to_install` string[], nullable, required
    - `description` string, nullable, required
    - `license` string, nullable, required
    - `locked_url` string, required
    - `rev` string, required
    - `rev_count` integer, required
    - `rev_date` string, date-time, required
    - `broken` boolean, nullable, required
    - `insecure` boolean, nullable, required
    - `unfree` boolean, nullable, required
    - `missing_builds` boolean, nullable, required
    - `stabilities` string[], nullable, required
    - `scrape_date` string, date-time, nullable, required
    - `cache_uri` string, nullable
  - `total_count` integer, required
  - `deprecation` DeprecationInfo — Deprecation metadata for a package from nixpkgs aliases.nix
    - `kind` 'renamed' | 'removed' | 'deprecated', required — Package deprecation category from nixpkgs aliases.nix
    - `replacement` string, nullable
    - `message` string, nullable
  - `lifecycle` PackageLifecycleInfo — Lifecycle state a package has been placed in, with the policy that state implies. Absent (null) means ordinary circulation.
    - `state` string, required — The lifecycle state a package is in, for example 'archived'. New states may be added over time; clients should branch on policy rather than on this value.
    - `source` string, required — The authority that placed the package in its lifecycle state, for example 'publisher'. New sources may be added over time.
    - `effective_at` string, date-time, required — When the state took effect.
    - `reason` string, nullable — Why the package entered this state, as recorded by the source.
    - `replacement` string, nullable — Installable reference to a suggested substitute: catalog_name/attr_path for a catalog package, a bare attr_path for a base-catalog package.
    - `message` string, nullable — Publisher-authored note to show alongside the state.
    - `policy` LifecyclePolicy, required — What a lifecycle state permits, one boolean per capability. Clients should branch on these capabilities rather than on the state name, so a state added later renders correct affordances without a client release.
      - `visible_in_discovery` boolean, required — Whether the package appears where users browse: search results, listings, and package summaries.
      - `allows_name_resolution` boolean, required — Whether name-based resolution may select this package. False does not mean the package is gone; a manifest naming it resolves to some other package or fails outright.
      - `allows_exact_pin` boolean, required — Whether a lockfile pinning this exact package still resolves. Environments locked before the state changed keep resolving.
      - `allows_publish` boolean, required — Whether a new build may be published to this package.
      - `warning_required` boolean, required — Whether a consumer that honors the package anyway, in practice the exact-pin path, must surface a warning.

## Other responses

- `404` — attr_path was not found.
- `422` — Request validation error

## Changes

- **2026-08-27** `8ec561551880` — 2 breaking, 4 warning, 2 info
  - the `deprecation` response's property type changed from `object` to no type for status `200`
  - removed the required property `deprecation/kind` from the response with the `200` status
  - for the `query` request parameter `page`, the min was set to `0.00`
  - for the `query` request parameter `pageSize`, the min was set to `0.00`
  - …4 more
- **2026-03-18** `b99206a49d27` — 1 info
  - added the optional property `deprecation` to the response with the `200` status
- **2025-07-23** `29c059f1823a` — 1 info
  - the endpoint scheme security `HTTPBasic` was added to the API
- **2025-03-19** `dcd958492a63` — 1 breaking
  - the response property `items/items/scrape_date` became nullable for the status `200`
- **2025-02-10** `b1a16c027df3` — 1 info
  - added the required property `items/items/missing_builds` to the response with the `200` status

[Full history](https://skmtc.dev/flox/apis/floxhub-catalog-server/changes/api/v1/catalog/packages/:attr_path/get.md)

---

[API](https://skmtc.dev/flox/apis/floxhub-catalog-server.md) · [All operations](https://skmtc.dev/flox/apis/floxhub-catalog-server/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flox/floxhub-catalog-server/revisions/8ec561551880/schema)
