Skip to content
Hoody.com

Manage application sources — list, create, update, delete, sync, and diagnose.

The Run service resolves package candidates from one or more configured sources. These endpoints let you inspect the current configuration, add or modify sources, remove sources that are no longer needed, trigger syncs to refresh source metadata, and pull runtime diagnostics for troubleshooting search and sync failures.

All endpoints are scoped to a specific container instance. Requests are sent to: https://{projectId}-{containerId}-run-1.{server}.containers.hoody.icu

List all configured package sources with their type, provider, priority, enabled state, and provider-specific configuration.

This endpoint takes no parameters.

Terminal window
curl https://proj1-cnt1-run-1.us-east.containers.hoody.icu/api/v1/run/sources

GET /api/v1/run/sources/{source_id}/diagnostics

Section titled “GET /api/v1/run/sources/{source_id}/diagnostics”

Return runtime-only health and observability data for a configured source, including recent search or sync failures.

NameInTypeRequiredDescription
source_idpathstringYesSource identifier
Terminal window
curl https://proj1-cnt1-run-1.us-east.containers.hoody.icu/api/v1/run/sources/nixpkgs/diagnostics

Add a new package source configuration. The source is appended to the existing list and is immediately available for searches if enabled.

The request body is a complete SourceConfig object.

NameTypeRequiredDescription
source_idstringYesUnique source identifier
enabledbooleanYesWhether this source is active for searches
priorityintegerYesSource priority (higher values are searched first and ranked higher)
providerstringYesPackage source provider kind (one of nix, pkgx, appimage, oci, registry, system, any)
source_typestringYesSpecific source implementation type (e.g. nix-flake, nix-pkgs, pkgx, app-image-pinned)
pinobjectNoPin configuration including URL and optional integrity verification fields
configobjectNoProvider-specific configuration (varies by source_type)
{
"source_id": "nixpkgs-stable",
"enabled": true,
"priority": 100,
"provider": "nix",
"source_type": "nix-flake",
"pin": {
"url": "https://github.com/NixOS/nixpkgs/archive/refs/heads/nixos-unstable.tar.gz"
},
"config": {
"flake": "nixpkgs"
}
}
Terminal window
curl -X POST https://proj1-cnt1-run-1.us-east.containers.hoody.icu/api/v1/run/sources \
-H "Content-Type: application/json" \
-d '{
"source_id": "nixpkgs-stable",
"enabled": true,
"priority": 100,
"provider": "nix",
"source_type": "nix-flake",
"config": {"flake": "nixpkgs"}
}'

Partially update a source configuration. Supports merging enabled, priority, pin, and config fields. Only the fields included in the body are modified.

NameInTypeRequiredDescription
source_idpathstringYesSource identifier

Provide any subset of SourceConfig fields to update. Only the fields included in the body are modified; omitted fields retain their existing values.

{
"enabled": false,
"priority": 50
}
Terminal window
curl -X PATCH https://proj1-cnt1-run-1.us-east.containers.hoody.icu/api/v1/run/sources/nixpkgs \
-H "Content-Type: application/json" \
-d '{
"enabled": false,
"priority": 50
}'

Remove a package source by its ID. Returns 204 on success with no body.

NameInTypeRequiredDescription
source_idpathstringYesSource identifier
Terminal window
curl -X DELETE https://proj1-cnt1-run-1.us-east.containers.hoody.icu/api/v1/run/sources/nixpkgs

Trigger a sync operation for a specific source. Returns immediately with a job handle for tracking progress via the jobs endpoint.

NameInTypeRequiredDescription
source_idpathstringYesSource identifier
Terminal window
curl -X POST https://proj1-cnt1-run-1.us-east.containers.hoody.icu/api/v1/run/sources/nixpkgs/sync

Trigger a sync operation for all enabled sources. Returns immediately with a job handle. Use GET /api/v1/run/jobs/{job_id}?wait=done&timeout_ms=30000 to poll for completion.

This endpoint takes no parameters.

Terminal window
curl -X POST https://proj1-cnt1-run-1.us-east.containers.hoody.icu/api/v1/run/sources/sync