cipi-sh/api
Laravel/PHP client for the CIPI API, providing a simple way to authenticate and send requests to CIPI services from your applications. Wraps API calls in a clean, consistent interface for easier integration.
config/cipi.php contains the new token abilities yml-view and yml-manage.yml-view for read-only plan/inspection.yml-manage for apply and auto-apply changes.
Existing tokens will not receive these abilities automatically.cipi self-update, migration 5.6.4), otherwise the new /yml endpoints return 503.cipi.yml tag and schemas YmlPlanResponse, YmlAutoResponse, JobResultAppYmlApply.AppYmlShow, AppYmlApply, AppYmlAuto.CipiCliService::ALLOWED_COMMANDS, which now whitelists yml plan, yml apply, yml auto.cipi.yml before changing anything.
GET /api/apps/{name}/yml or use AppYmlShow.file, auto, valid, errors, warnings, changes, blockers, notes, and in_sync.GET /api/apps/{name}/yml as the standard preflight for any configuration change. Surface valid, errors, warnings, changes, and blockers in your admin UI or deploy script before offering an apply action.POST /api/apps/{name}/yml/apply and poll the app-yml-apply job result. Model the outcome explicitly:
applied, unchanged: successful terminal states.partial, blocked, invalid, no-file: job ends as failed, but still carries applied, failed, failures, blockers, and errors. Do not discard that payload.POST /api/apps/{name}/yml/auto/enable and .../disable are synchronous and idempotent, returning {app, auto, sudoers, file}. Enabling auto-apply means anyone who can commit to the repository can change the app’s server configuration. Confirm intent and audit who has repo access.yml-view; reserve yml-manage for deploy automation and trusted operators.AppYmlShow for read-only inspection, AppYmlApply for the apply job, and AppYmlAuto for enable/disable state changes. If your MCP client caches tools, refresh it for server version 1.5.0 and the 76-tool listing.info.version is now 1.35.0, with four new paths under cipi.yml and new app-yml-apply job type. Regenerate typed clients before wiring the new endpoints.CipiCliService, use the newly allowed yml plan, yml apply, and yml auto commands rather than raw cipi calls.503 is a server-version signal, not an app error. New /yml endpoints require Cipi CLI ≥ 5.6.4 and the matching sudoers entry. Feature-check the server version or handle 503 with a clear “upgrade required” message.yml-view / yml-manage. This is a common source of immediate 403 or missing-action failures after upgrade.sudoers value, and disable it when the deployment model does not require it.app-yml-apply as a job. blocked, invalid, partial, and no-file end as failed; always read the embedded result instead of relying only on the job status.blockers are explicit reasons apply will refuse. Do not retry blindly. Distinguish errors (invalid config) from warnings (potentially acceptable but worth surfacing).file: null means the live release has no cipi.yml. Expect no-file when applying. Decide whether that is a valid state for the app before building UI around it.cipi yml plan *, cipi yml apply *, and cipi yml auto *. The sudoers field in auto responses is a useful diagnostic; check it when commands work over SSH but fail through the API.app handling changed. If the parsed CLI result has an app key that the CLI text could not fill, it is now taken from the job parameters. Consume the job’s app field rather than parsing CLI text yourself.tools/list page. If AppYmlShow, AppYmlApply, or AppYmlAuto are missing, refresh the client cache or restart the MCP client.How can I help you explore Laravel packages today?