---
title: "Review a self-contained Compose stack before deployment"
method: POST
path: "/platform/deployments/custom/compose/prepare"
tags: ["Platform"]
---

# Review a self-contained Compose stack before deployment

`POST /platform/deployments/custom/compose/prepare`

## Request

- Base URL: `https://api.imprezahost.com/v1`
- URL: `https://api.imprezahost.com/v1/platform/deployments/custom/compose/prepare`
- Auth: API key in header `X-API-Key` and API key in header `X-API-Secret`

context_id selects one account-owned retained
upload for local build contexts, env_file and file-backed configs/secrets.
Required paths are inspected without executing code; auxiliary files total
at most 1 MiB. Review identity also covers context_id. Runtime file deployment
requires agent 0.6.11+ advertising compose-source-files-v1; local MCP inputs require 0.34.0+.
Without context_id, the image-only baseline below applies.
Read scope. Parses supplied UTF-8 YAML up to 64 KiB without fetching or
executing code. Public images only; 1-12 services, private networks and
local named volumes. Returns blocked, needs_input or ready_for_review,
with services, variables, volumes, changes, warnings and unverified checks.
Choose web_service and target_port explicitly. Original host ports are
removed; only this HTTP service joins the proxy and gets a loopback port.
Container/volume names become deployment-specific. Source file dependencies,
builds, profiles, external resources and YAML aliases are not supported.
Submit the same source/service/port plus compose_review_id=analysis_id to
POST /platform/deployments/custom after review. This fingerprint is not a
persisted executable plan, authorization or capacity reservation.

## Request body

- object
  - `compose_yaml` string, required
  - `context_id` string: Retained source upload for local Compose builds and auxiliary files.
  - `web_service` string
  - `target_port` integer

## Response `200`

Configuration review with findings and optional creation parameters

## Other responses

- `400`: Missing, oversized or invalid YAML or selection
- `401`: Authentication required

---

[API](https://skmtc.dev/imprezahost/apis/impreza-host-public-api.md) · [All operations](https://skmtc.dev/imprezahost/apis/impreza-host-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/imprezahost/apis/impreza-host-public-api/revisions/db86511f604f?raw)
