Skip to content

Read, update, install, compare, and pin package.json dependencies for an exec project. Use these endpoints to bootstrap a project, inspect its current dependency state, install new packages, pin versions for reproducible builds, and compare declared versus installed dependencies.

Reads the current package.json for the exec project, returning parsed content, the resolved dependencies, and counts of dependencies and devDependencies.

This endpoint takes no parameters.

Terminal window
curl -X GET https://api.hoody.com/api/v1/exec/package/read \
-H "Authorization: Bearer YOUR_API_KEY"

Compares the declared dependencies in package.json against what is actually installed on disk, returning missing, outdated, and extra packages along with aggregate counts.

This endpoint takes no parameters.

The request body schema is empty; send {} if no input is needed.

Terminal window
curl -X POST https://api.hoody.com/api/v1/exec/package/compare \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{}'

Initializes a new package.json for the exec project with sane defaults for name, version, description, and scripts.

This endpoint takes no parameters.

All fields are optional. Omit the body to use defaults.

{
"name": "hoody-exec-project",
"version": "1.0.0",
"description": "Hoody Exec project",
"force": false
}
NameTypeRequiredDefaultDescription
namestringNo"hoody-exec-project"Project name written to package.json
versionstringNo"1.0.0"Initial semantic version
descriptionstringNo"Hoody Exec project"Short project description
forcebooleanNofalseOverwrite an existing package.json if present
Terminal window
curl -X POST https://api.hoody.com/api/v1/exec/package/init \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"my-exec-app","force":false}'

Installs one or more packages, optionally saving them to devDependencies and forcing a reinstall. The response is returned as 202 Accepted because installation runs asynchronously.

This endpoint takes no parameters.

All fields are optional. Omit the body to perform a plain install of whatever is declared in package.json.

{
"packages": ["hono", "zod"],
"dev": false,
"save": true,
"force": false
}
NameTypeRequiredDefaultDescription
packagesarrayNoPackage names (and optional @version) to install
devbooleanNofalseAdd the packages to devDependencies instead of dependencies
savebooleanNotruePersist the installed versions into package.json
forcebooleanNofalseReinstall even if already present
Terminal window
curl -X POST https://api.hoody.com/api/v1/exec/package/install \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"packages":["hono","zod"],"dev":false,"save":true}'

Pins the listed dependencies (or all dependencies if omitted) to exact installed versions in package.json, producing a fully reproducible lockfile-like state.

This endpoint takes no parameters.

All fields are optional.

{
"packages": ["hono", "zod"]
}
NameTypeRequiredDescription
packagesarrayNoPackage names to pin. If omitted, all dependencies are pinned
Terminal window
curl -X POST https://api.hoody.com/api/v1/exec/package/pin \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"packages":["hono","zod"]}'

Updates package.json with new dependencies, scripts, metadata, or by removing existing dependencies. Returns a summary of the changes applied.

This endpoint takes no parameters.

All fields are optional. Supply only the operations you want to perform.

{
"dependencies": "hono@^4.6.0,zod@^3.23.8",
"scripts": "{\"start\":\"bun src/index.ts\"}",
"metadata": {
"author": "Hoody Team",
"license": "MIT"
},
"remove": "lodash"
}
NameTypeRequiredDescription
dependenciesstringNoComma-separated name@version pairs to add or update
scriptsstringNoJSON-encoded map of script name to command
metadataobjectNoFree-form metadata fields merged into the top level of package.json
removestringNoComma-separated package names to remove from dependencies and devDependencies
Terminal window
curl -X POST https://api.hoody.com/api/v1/exec/package/update \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"dependencies": "hono@^4.6.0",
"scripts": "{\"start\":\"bun src/index.ts\"}",
"remove": "lodash"
}'