v50

latestOpenAPI 3.0.2raw.githubusercontent.com2026-08-013374139.1 KB
catalog

Resolve a list of Package Groups

Resolves a list of package groups, each being a list of package descriptors.

Required Body:

  • groups: An object with an items array of PackageGroups to resolve.

Optional Query Parameters:

  • candidate_pages: Number of additional candidate pages to return (default: 0)

Returns:

  • ResolvedPackageGroups: An object with an items array of ResolvedPackageGroup items.

Resolution Rules:

  • Each PackageGroup is resolved independently.
  • Each page that has packages meeting all descriptors in the group is returned.
  • The latest complete page includes full package details.
  • Additional candidate pages are returned without full details.

PackageDescriptor Fields:

  • install_id: [required] Reference identifier for the package in the manifest. Used for error messages and result correlation.
  • attr_path: [required] The nix attribute path to match exactly.
  • systems: [required] List of systems to resolve for (e.g., x86_64-linux).
  • version: [optional] Version constraint. Can be a literal version or semver constraint. Packages whose version cannot be parsed as semver are excluded when using semver constraints.
  • derivation: [optional] Specific derivation path to match.
  • allow_pre_releases: [optional] Include pre-release versions when using semver constraints (default: False).
  • allow_broken: [optional] Include packages marked as broken (default: False).
  • allow_unfree: [optional] Include packages with unfree licenses (default: True).
  • allow_insecure: [optional] Include packages marked as insecure (default: False).
  • allowed_licenses: [optional] List of acceptable license identifiers.
  • allow_missing_builds: [optional] Include packages without confirmed build artifacts (default: False). If resolution fails with this constraint, it may be relaxed with a warning message.
post/api/v1/catalog/resolve

Query parameters

candidate_pagesinteger

Request body

Example request

{
  "items": [
    {
      "descriptors": [
        {
          "attr_path": "curl",
          "install_id": "curl",
          "systems": [
            "x86_64-linux"
          ]
        },
        {
          "attr_path": "slack",
          "install_id": "slack",
          "systems": [
            "x86_64-linux"
          ]
        },
        {
          "attr_path": "xorg.xeyes",
          "install_id": "xeyes",
          "systems": [
            "x86_64-linux"
          ]
        }
      ],
      "name": "test"
    }
  ]
}

Response

A list of resolved package groups

Example response

{
  "items": [
    {
      "candidate_pages": [],
      "messages": [],
      "name": "test",
      "page": {
        "complete": true,
        "messages": [],
        "packages": [
          {
            "attr_path": "curl",
            "broken": false,
            "catalog": "nixpkgs",
            "derivation": "/nix/store/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-curl-8.5.0.drv",
            "description": "A command line tool for transferring files with URL syntax",
            "insecure": false,
            "install_id": "curl",
            "license": "curl",
            "locked_url": "https://github.com/flox/nixpkgs?rev=abc123def456",
            "missing_builds": false,
            "name": "curl-8.5.0",
            "outputs": [
              {
                "name": "out",
                "store_path": "/nix/store/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb-curl-8.5.0"
              },
              {
                "name": "man",
                "store_path": "/nix/store/cccccccccccccccccccccccccccccccc-curl-8.5.0-man"
              }
            ],
            "outputs_to_install": [
              "out",
              "man"
            ],
            "pkg_path": "curl",
            "pname": "curl",
            "rev": "abc123def456",
            "rev_count": 12345,
            "rev_date": "2024-01-15T00:00:00Z",
            "scrape_date": "2024-01-15T00:00:00Z",
            "stabilities": [
              "stable"
            ],
            "system": "x86_64-linux",
            "unfree": false,
            "version": "8.5.0"
          }
        ],
        "page": 1,
        "url": "https://github.com/flox/nixpkgs?rev=abc123def456"
      }
    }
  ]
}