biome-installations
Operations of the Biome Host API. Paths are relative to your deployment's API host.
GET /api/biome-host-api/projects/{projectId}/biome-installations
List biome installations for this project, optionally only those of one biomeId. Archived installations are excluded unless includeArchived=true.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
projectId | path | string | yes | |
biomeId | query | string | no | Return only installations of this biome (the manifest xema.id, lowercase kebab-case). Absent: every biome. A biome with no installation answers an empty list. |
includeArchived | query | boolean | no | Include installations whose lifecycle is archived. Default false — archived is terminal: archived rows are never resolved and are ineligible for runtime contribution, so listing one advertises an install nothing will route to. |
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeInstallationResponseDtoDataArrayEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
GET /api/biome-host-api/projects/{projectId}/biome-installations/{id}
Get a single biome installation
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeInstallationDetailResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
DELETE /api/biome-host-api/projects/{projectId}/biome-installations/{id}
Hard-delete a biome installation. Tears down the sidecar workload, deletes the row, then starts uninstallBiomeCascadeWorkflow which fans cleanup out to every downstream service that owns biome-scoped rows (workflow-engine, deliverable-specs, mcp-gateway, org-database-pool). The org's workflow definitions and the biome's schema are retired only when no installation of the biome, of any owner, remains in the org. The response carries the workflowId — clients poll the workflow for the terminal outcome (clean | dirty). Use disable instead when you want a temporary, reversible teardown.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 202 | application/json BiomeInstallationDeleteResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/biome-host-api/projects/{projectId}/biome-installations/{id}/approve-in-store
Approve a submitted biome in the Xema Store. Guarded by biome:approve-in-store@1. Transitions store-submitted → store-approved.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
Request body: application/json LifecycleTransitionAckDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeLifecycleTransitionResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/biome-host-api/projects/{projectId}/biome-installations/{id}/archive
Archive a biome installation from any non-archived state. Guarded by biome:archive@1. Terminal — archived rows are never resolved.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
Request body: application/json LifecycleTransitionAckDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeLifecycleTransitionResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PATCH /api/biome-host-api/projects/{projectId}/biome-installations/{id}/disable
Disable a biome installation without deleting its configuration
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeInstallationResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
PATCH /api/biome-host-api/projects/{projectId}/biome-installations/{id}/enable
Enable a disabled biome installation. The only transition out of disabled: the state becomes active or pending_config per the current configuration and the workload is dispatched again.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeInstallationResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/biome-host-api/projects/{projectId}/biome-installations/{id}/promote
Promote a biome installation across the lifecycle graph (draft → sandbox-installed → review-required → org-installed, or store-approved → org-installed). Guarded by biome:promote@1 at xema-capability-router. Promote-out-of-sandbox additionally requires an acknowledged approval id.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
Request body: application/json PromoteBiomeInstallationDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeLifecycleTransitionResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto | |
| 503 | BIOME_LIFECYCLE_APPROVALS_UNAVAILABLE: the transition requires an approval and decision-api is not available. Nothing changed and no ack was spent. | application/problem+json ProblemDetailsDto |
PATCH /api/biome-host-api/projects/{projectId}/biome-installations/{id}/resources
Replace the per-adapter resource selector slices on an installation
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
Request body: application/json UpdateBiomeInstallationResourcesDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeInstallationResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |
POST /api/biome-host-api/projects/{projectId}/biome-installations/{id}/submit-to-store
Submit an org-installed biome to the Xema Store. Guarded by biome:submit-to-store@1. Transitions org-installed → store-submitted.
Authentication: bearer token (Authorization: Bearer <token>)
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | |
projectId | path | string | yes |
Request body: application/json LifecycleTransitionAckDto
| Status | Description | Body |
|---|---|---|
| 200 | application/json BiomeLifecycleTransitionResponseDtoDataEnvelope | |
| 400 | application/problem+json ProblemDetailsDto | |
| 401 | application/problem+json ProblemDetailsDto | |
| 403 | application/problem+json ProblemDetailsDto | |
| 404 | application/problem+json ProblemDetailsDto | |
| 409 | application/problem+json ProblemDetailsDto | |
| 422 | application/problem+json ProblemDetailsDto | |
| 500 | application/problem+json ProblemDetailsDto |