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.
Query parameters
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"
}
}
]
}Changes
Changed in 23 of the 53 revisions of this API.485152
- ▲
the
//response's property type changed fromobjectto no type for statusresponse-property-type-changed
- ▲
removed the required property
///from the response with the statusresponse-required-property-removed
- ▲
removed the required property
///from the response with the statusresponse-required-property-removed
- ▲
removed the required property
///from the response with the statusresponse-required-property-removed
- ▲
removed the required property
///from the response with the statusresponse-required-property-removed
- ●
removed the optional property
///from the response with the statusresponse-optional-property-removed
- ○
added to the
//response propertyallOflist for the response statusresponse-property-all-of-added
- ▲
- ●
added the new
archivedenum value to the//////response property for the response statusresponse-property-enum-value-added
- ●
added the new
archivedenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
archivedenum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
- ●
added the new
brokenenum value to the//////response property for the response statusresponse-property-enum-value-added
- ●
added the new
brokenenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
brokenenum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
added the new
insecureenum value to the//////response property for the response statusresponse-property-enum-value-added
- ●
added the new
insecureenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
insecureenum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
added the new
unfreeenum value to the//////response property for the response statusresponse-property-enum-value-added
- ●
added the new
unfreeenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
unfreeenum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
added the new
version_not_foundenum value to the//////response property for the response statusresponse-property-enum-value-added
- ●
added the new
version_not_foundenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
version_not_foundenum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
- ○
the endpoint scheme security
HTTPBasicwas added to the APIapi-security-added
This revision also has 7 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog
- ○
- ●
removed the optional property
//from the response with the statusresponse-optional-property-removed
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ●
- ●
added the new
resolution_logicenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
resolution_logicenum value to the/////response property for the response statusresponse-property-enum-value-added
- ○
added the new optional
queryrequest parametercandidate_pagesnew-optional-request-parameter
- ○
added the optional property
//to the response with the statusresponse-optional-property-added
- ○
removed the
resolution_traceenum value from the////response property for the response statusresponse-property-enum-value-removed
- ○
removed the
resolution_traceenum value from the/////response property for the response statusresponse-property-enum-value-removed
- ●
- ○
the
request property default valuefalsewas removedrequest-property-default-value-removed
- ○
- ▲
the response property
/////became nullable for the statusresponse-property-became-nullable
- ●
added the new
change_in_version_formatenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
change_in_version_formatenum value to the/////response property for the response statusresponse-property-enum-value-added
- ▲
- ●
added the new
missing_buildsenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
missing_buildsenum value to the/////response property for the response statusresponse-property-enum-value-added
- ●
added the new
unacceptable_licensesenum value to the////response property for the response statusresponse-property-enum-value-added
- ●
added the new
unacceptable_licensesenum value to the/////response property for the response statusresponse-property-enum-value-added
- ○
added the new optional request property
////new-optional-request-property
- ○
added the required property
/////to the response with the statusresponse-required-property-added
- ●
- ○
added the required property
/////to the response with the statusresponse-required-property-added
- ○