v50

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

Check if a build already exists

Check whether a build already exists for the given source tuple.

Path Parameters:

  • catalog_name: The name of the catalog
  • package_name: The name of the package

Request Body:

  • source_url: Source repository URL
  • source_rev: Source revision
  • nixpkgs_rev: Nixpkgs revision used for the build
  • system: Target system (e.g. x86_64-linux)
  • locked_inputs: Optional flat map of DIRECT catalog dependencies, same shape as the locked_inputs field on the publish endpoint. The check is always closure-aware — there is no hash-blind path: absent/null/{} → empty closure (H(∅)); {…} → resolved + Merkle-hashed. Old clients that omit the field are accepted (no 422); they are treated as publishing with an empty closure.

Returns:

  • CheckBuildResponse with already_published=true and provenance if a matching build exists, or already_published=false otherwise.
post/api/v1/catalog/catalogs/{catalog_name}/packages/{package_name}/check-build

Path parameters

catalog_namestring required
Example:mycatalog
package_namestring required
Example:curl

Request body

source_urlstring required
source_revstring required
nixpkgs_revstring required
system'aarch64-darwin' | 'aarch64-linux' | 'x86_64-darwin' | 'x86_64-linux' | 'invalid' required
locked_inputsobject nullable

Response

Build existence check result

already_publishedboolean required
source_revstring nullable
source_rev_datestring date-time nullable
published_atstring date-time nullable