{
  "components": {
    "schemas": {
      "AcceptedOperation": {
        "description": "Operation accepted by a mutation endpoint.",
        "properties": {
          "environment_id": {
            "description": "Environment the operation changes. Receipts stored before environments\nexisted name it `application_id`.",
            "type": "string"
          },
          "generation": {
            "description": "Accepted intent revision.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "operation_id": {
            "description": "Asynchronous operation identifier.",
            "type": "string"
          }
        },
        "required": [
          "operation_id",
          "environment_id",
          "generation"
        ],
        "type": "object"
      },
      "AcceptedPromotion": {
        "allOf": [
          {
            "$ref": "#/components/schemas/AcceptedOperation",
            "description": "The deployment operation; its ID is also the deployment's."
          },
          {
            "properties": {
              "origin": {
                "$ref": "#/components/schemas/DeploymentOrigin",
                "description": "Where the release came from."
              },
              "release_id": {
                "$ref": "#/components/schemas/ReleaseId",
                "description": "The release it deploys."
              }
            },
            "required": [
              "release_id",
              "origin"
            ],
            "type": "object"
          }
        ],
        "description": "An accepted promotion and the release it pinned."
      },
      "Account": {
        "description": "An account and its grants.",
        "properties": {
          "grants": {
            "$ref": "#/components/schemas/Grants",
            "description": "What the account may do."
          },
          "user": {
            "$ref": "#/components/schemas/User",
            "description": "Account information."
          }
        },
        "required": [
          "user",
          "grants"
        ],
        "type": "object"
      },
      "ActionDuration": {
        "description": "Aggregated duration for one action phase.",
        "properties": {
          "count": {
            "description": "Completed actions measured.",
            "format": "int64",
            "type": "integer"
          },
          "mean_ms": {
            "description": "Mean duration in milliseconds.",
            "format": "double",
            "type": "number"
          },
          "phase": {
            "description": "Action phase.",
            "type": "string"
          }
        },
        "required": [
          "phase",
          "count",
          "mean_ms"
        ],
        "type": "object"
      },
      "ActionKind": {
        "description": "Concrete action that can appear in a runtime plan.",
        "oneOf": [
          {
            "description": "Resolve and build a Git source before rollout.",
            "properties": {
              "action": {
                "enum": [
                  "build_git"
                ],
                "type": "string"
              },
              "service": {
                "description": "Logical service requesting a build.",
                "type": "string"
              }
            },
            "required": [
              "service",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Resolve an image source.",
            "properties": {
              "action": {
                "enum": [
                  "resolve_image"
                ],
                "type": "string"
              },
              "reference": {
                "description": "Requested mutable image reference.",
                "type": "string"
              },
              "service": {
                "description": "Service whose image must be resolved.",
                "type": "string"
              }
            },
            "required": [
              "service",
              "reference",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Ensure a desired network exists.",
            "properties": {
              "action": {
                "enum": [
                  "ensure_network"
                ],
                "type": "string"
              },
              "network": {
                "$ref": "#/components/schemas/DesiredNetwork",
                "description": "Network state to create or verify."
              }
            },
            "required": [
              "network",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Ensure a desired volume exists.",
            "properties": {
              "action": {
                "enum": [
                  "ensure_volume"
                ],
                "type": "string"
              },
              "volume": {
                "$ref": "#/components/schemas/DesiredVolume",
                "description": "Volume state to create or verify."
              }
            },
            "required": [
              "volume",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Ensure a desired service exists.",
            "properties": {
              "action": {
                "enum": [
                  "ensure_service"
                ],
                "type": "string"
              },
              "service": {
                "$ref": "#/components/schemas/DesiredService",
                "description": "Service state to create or verify."
              }
            },
            "required": [
              "service",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Wait for a service to converge.",
            "properties": {
              "action": {
                "enum": [
                  "wait_for_service"
                ],
                "type": "string"
              },
              "service": {
                "description": "Service whose convergence is awaited.",
                "type": "string"
              }
            },
            "required": [
              "service",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Wait for a service to be removed.",
            "properties": {
              "action": {
                "enum": [
                  "wait_for_service_removal"
                ],
                "type": "string"
              },
              "service": {
                "description": "Service whose removal is awaited.",
                "type": "string"
              }
            },
            "required": [
              "service",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Remove a service.",
            "properties": {
              "action": {
                "enum": [
                  "remove_service"
                ],
                "type": "string"
              },
              "name": {
                "description": "Canonical service name to remove.",
                "type": "string"
              }
            },
            "required": [
              "name",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Remove a private network.",
            "properties": {
              "action": {
                "enum": [
                  "remove_network"
                ],
                "type": "string"
              },
              "name": {
                "description": "Canonical network name to remove.",
                "type": "string"
              }
            },
            "required": [
              "name",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Retain a volume by policy.",
            "properties": {
              "action": {
                "enum": [
                  "retain_volume"
                ],
                "type": "string"
              },
              "name": {
                "description": "Canonical volume name intentionally left in place.",
                "type": "string"
              }
            },
            "required": [
              "name",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Run a before-rollout job to completion. Only previews list jobs:\ndeployments run them before planning the rollout.",
            "properties": {
              "action": {
                "enum": [
                  "run_job"
                ],
                "type": "string"
              },
              "job": {
                "description": "Manifest-level job name.",
                "type": "string"
              }
            },
            "required": [
              "job",
              "action"
            ],
            "type": "object"
          }
        ]
      },
      "ActionReason": {
        "description": "Reason explaining why a plan action is required.",
        "oneOf": [
          {
            "description": "The desired resource does not exist.",
            "properties": {
              "reason": {
                "enum": [
                  "missing"
                ],
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "type": "object"
          },
          {
            "description": "The observed resource differs from desired state.",
            "properties": {
              "fields": {
                "description": "Desired fields that differ from the observation.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "reason": {
                "enum": [
                  "drift"
                ],
                "type": "string"
              }
            },
            "required": [
              "fields",
              "reason"
            ],
            "type": "object"
          },
          {
            "description": "The observed resource is no longer desired.",
            "properties": {
              "reason": {
                "enum": [
                  "obsolete"
                ],
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "type": "object"
          },
          {
            "description": "The action waits for a prior runtime change.",
            "properties": {
              "reason": {
                "enum": [
                  "convergence_pending"
                ],
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "type": "object"
          },
          {
            "description": "An image still needs immutable digest resolution.",
            "properties": {
              "reason": {
                "enum": [
                  "resolution_required"
                ],
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "type": "object"
          },
          {
            "description": "The application is being deleted.",
            "properties": {
              "reason": {
                "enum": [
                  "application_deletion"
                ],
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "type": "object"
          },
          {
            "description": "The volume is intentionally retained.",
            "properties": {
              "reason": {
                "enum": [
                  "volume_retention_policy"
                ],
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "type": "object"
          },
          {
            "description": "A before-rollout job runs, or needs exclusive use of a volume.",
            "properties": {
              "reason": {
                "enum": [
                  "deployment_job"
                ],
                "type": "string"
              }
            },
            "required": [
              "reason"
            ],
            "type": "object"
          }
        ]
      },
      "ApplicationId": {
        "description": "Stable internal application identity. It is assigned by persistence and is not\nderived from editable application metadata. An application owns the shared\nmanifest and its environments; it has no runtime resources of its own.\n\n```compile_fail\nuse piqueld_core::{ApplicationId, EnvironmentId};\nlet environment: EnvironmentId = ApplicationId::parse(\"app-00000001\").unwrap();\n```",
        "type": "string"
      },
      "ApplicationLogs": {
        "description": "Bounded historical container output read directly from Docker.",
        "properties": {
          "items": {
            "description": "Chronologically ordered records.",
            "items": {
              "$ref": "#/components/schemas/LogRecord"
            },
            "type": "array"
          },
          "truncated": {
            "description": "More output existed than the requested window or safety limit.",
            "type": "boolean"
          }
        },
        "required": [
          "items",
          "truncated"
        ],
        "type": "object"
      },
      "ApplicationManifest": {
        "additionalProperties": false,
        "description": "An application: what it runs, and how its environments and previews\ndeploy it.",
        "properties": {
          "api_version": {
            "description": "Version of the manifest format.",
            "type": "string"
          },
          "kind": {
            "description": "Kind of resource the manifest describes.",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/Metadata",
            "description": "The application's identity."
          },
          "spec": {
            "$ref": "#/components/schemas/ApplicationSpec",
            "description": "What the application runs, and how it deploys."
          }
        },
        "required": [
          "api_version",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object"
      },
      "ApplicationName": {
        "description": "User-facing logical application name.",
        "type": "string"
      },
      "ApplicationPreviews": {
        "description": "One application's previews against `max_per_application`.",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/ApplicationId",
            "description": "Stable application identifier."
          },
          "name": {
            "description": "Editable application name.",
            "type": "string"
          },
          "previews": {
            "description": "Its previews; above `max_per_application` once the limit is lowered.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "previews"
        ],
        "type": "object"
      },
      "ApplicationSelection": {
        "description": "The applications a destination receives notifications about. Daemon-wide\nnotifications, such as daemon failures, security events and daemon starts,\nreach every destination receiving their category.",
        "oneOf": [
          {
            "description": "Every application, including ones created later.",
            "enum": [
              "all"
            ],
            "type": "string"
          },
          {
            "description": "Only these applications, by ID: renaming one keeps it selected, and\ndeleting one removes it from the list.",
            "properties": {
              "only": {
                "description": "Only these applications, by ID: renaming one keeps it selected, and\ndeleting one removes it from the list.",
                "items": {
                  "$ref": "#/components/schemas/ApplicationId"
                },
                "type": "array",
                "uniqueItems": true
              }
            },
            "required": [
              "only"
            ],
            "type": "object"
          }
        ]
      },
      "ApplicationSpec": {
        "additionalProperties": false,
        "description": "What the application runs, and how its environments and previews deploy\nit.",
        "properties": {
          "environments": {
            "additionalProperties": {
              "$ref": "#/components/schemas/EnvironmentConfig"
            },
            "default": {},
            "description": "Declares the environment `<environment>` and how it deploys, for at\nmost 64 environments.",
            "type": "object"
          },
          "exports": {
            "default": [],
            "description": "Services of this application that other applications may reach, at\nmost 64.",
            "items": {
              "$ref": "#/components/schemas/Export"
            },
            "type": "array"
          },
          "imports": {
            "default": [],
            "description": "Services of other applications this application reaches, at most 64.",
            "items": {
              "$ref": "#/components/schemas/Import"
            },
            "type": "array"
          },
          "jobs": {
            "default": [],
            "description": "Containers that run to completion during each deployment, such as\ndatabase migrations, at most 16. They run in the order listed.",
            "items": {
              "$ref": "#/components/schemas/Job"
            },
            "type": "array"
          },
          "manifest": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RepositoryManifest"
                  }
                ],
                "description": "The Git repository each deployment reads the manifest from. Without\nit, deployments use the saved manifest. A manifest read from the\nrepository can't change it: its own `spec.manifest` is ignored."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "previews": {
            "default": {
              "visibility": "private"
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/PreviewConfig",
                "description": "Settings shared by every preview."
              }
            ]
          },
          "routes": {
            "default": [],
            "description": "HTTP routes to the services, at most 64. They take effect when an\nenvironment deploys them.",
            "items": {
              "$ref": "#/components/schemas/Route"
            },
            "type": "array"
          },
          "secrets": {
            "default": [],
            "description": "Secrets piqueld generates a value for in each environment, at most 64.",
            "items": {
              "$ref": "#/components/schemas/SecretDeclaration"
            },
            "type": "array"
          },
          "services": {
            "default": [],
            "description": "The application's services, at most 64.",
            "items": {
              "$ref": "#/components/schemas/Service"
            },
            "type": "array"
          },
          "variables": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Variable"
            },
            "default": {},
            "description": "Default value of the variable `<variable>`, referenced as\n`${{ vars.<variable> }}`. An environment's or the previews' own value\nreplaces it. Variable names start with a letter or `_`, use letters,\ndigits, `_` or `-`, and are at most 63 bytes. Each table of variables\nholds at most 128.",
            "type": "object"
          },
          "volumes": {
            "default": [],
            "description": "Named volumes the services mount, at most 64.",
            "items": {
              "$ref": "#/components/schemas/Volume"
            },
            "type": "array"
          }
        },
        "type": "object"
      },
      "ApplicationState": {
        "description": "Current environment reconciliation status.",
        "enum": [
          "not_deployed",
          "pending",
          "deploying",
          "ready",
          "degraded",
          "deleting",
          "failed"
        ],
        "type": "string"
      },
      "ApplicationSummary": {
        "description": "Metadata returned when listing applications.",
        "properties": {
          "created_at_ms": {
            "description": "Creation timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "delete_intent": {
            "description": "Whether deletion has been requested.",
            "type": "boolean"
          },
          "environments": {
            "description": "Environments in name order.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentView"
            },
            "type": "array"
          },
          "generation": {
            "description": "Current manifest or deletion-intent revision.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "id": {
            "$ref": "#/components/schemas/ApplicationId",
            "description": "Stable application identifier."
          },
          "name": {
            "description": "Editable application name.",
            "type": "string"
          },
          "updated_at_ms": {
            "description": "Last update timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "name",
          "generation",
          "delete_intent",
          "created_at_ms",
          "updated_at_ms",
          "environments"
        ],
        "type": "object"
      },
      "ApplicationTemplate": {
        "description": "A saved manifest in canonical order, with its persistence-assigned\nidentity. Its values may reference variables: [`Self::render`] produces the\n[`NormalizedApplication`] one environment deploys.",
        "properties": {
          "api_version": {
            "description": "API version string.",
            "type": "string"
          },
          "files": {
            "$ref": "#/components/schemas/RepositoryFiles",
            "description": "Contents of the repository files services mount, captured when the\nmanifest was fetched; empty for manifests not fetched by a deployment."
          },
          "id": {
            "$ref": "#/components/schemas/ApplicationId",
            "description": "Stable application identity."
          },
          "kind": {
            "description": "Resource kind string.",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/ValidatedMetadata",
            "description": "Canonical metadata."
          },
          "spec": {
            "$ref": "#/components/schemas/ApplicationSpec",
            "description": "Resource specification, with references unresolved."
          }
        },
        "required": [
          "id",
          "api_version",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object"
      },
      "ApplicationView": {
        "description": "Public application state returned by the API.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/ApplicationTemplate",
            "description": "Saved manifest, shared by every environment, with references unresolved."
          },
          "created_at_ms": {
            "description": "Creation timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "delete_intent": {
            "description": "Whether deletion has been requested.",
            "type": "boolean"
          },
          "drift": {
            "description": "How the environments differ from the ones the saved manifest\ndeclares: changes waiting for its next save or fetch, and\nenvironments it no longer declares, kept until deleted explicitly.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentChange"
            },
            "type": "array"
          },
          "environments": {
            "description": "Environments in name order. Never includes previews.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentView"
            },
            "type": "array"
          },
          "generation": {
            "description": "Current manifest or deletion-intent revision.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "previews": {
            "description": "Previews in slug order.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentView"
            },
            "type": "array"
          },
          "repository": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ApplicationTemplate"
                  }
                ],
                "description": "The manifest it last read from its repository, with its connection,\nwhile repository-backed and once it has read one: where the saved\nmanifest differs from it, it was [edited](Self::edits) since."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "spec_hash": {
            "description": "Hash of the normalized desired specification.",
            "type": "string"
          },
          "sync_check": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SyncCheck"
                  }
                ],
                "description": "The last time sync listed its repository's branches; absent until it\ndid, and while sync is off."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "updated_at_ms": {
            "description": "Last update timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "application",
          "generation",
          "spec_hash",
          "delete_intent",
          "created_at_ms",
          "updated_at_ms",
          "environments"
        ],
        "type": "object"
      },
      "ApplyApplicationRequest": {
        "additionalProperties": false,
        "description": "Desired application state to apply or preview.",
        "properties": {
          "expected_application_id": {
            "description": "Required for non-forced updates by name; protects against name reuse.",
            "nullable": true,
            "type": "string"
          },
          "expected_generation": {
            "description": "Required for apply unless forced; optional for preview. Zero requires an absent name.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "manifest": {
            "$ref": "#/components/schemas/ApplicationManifest",
            "description": "Application configuration to save or preview. Deployment is an explicit query option."
          }
        },
        "required": [
          "manifest"
        ],
        "type": "object"
      },
      "AuditEvent": {
        "description": "One audited API request. Accounts and credentials are copied when\nrecorded, so records outlive them. Request and response bodies are never\nrecorded.",
        "properties": {
          "action": {
            "description": "Method and route template, e.g. `POST /api/v1/applications/{id}/deploy`,\nfollowed for account management by what it changed, e.g.\n`POST /api/v1/auth/manage revoke_credential \"0190…\"`. A record without a\ncaller reading `audit records missing before this one: N` marks where\nN records could not be written.",
            "type": "string"
          },
          "application_id": {
            "description": "Application the request addressed: by ID, or as the owner of the\nenvironment it addressed when that environment existed.",
            "nullable": true,
            "type": "string"
          },
          "created_at_ms": {
            "description": "Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "credential_id": {
            "description": "Credential that authenticated the request.",
            "nullable": true,
            "type": "string"
          },
          "credential_kind": {
            "description": "`browser`, `cli`, or `token`.",
            "nullable": true,
            "type": "string"
          },
          "environment_id": {
            "description": "Environment the request addressed by ID.",
            "nullable": true,
            "type": "string"
          },
          "id": {
            "description": "Ordering cursor.",
            "format": "int64",
            "type": "integer"
          },
          "operator": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/HostOperator"
                  }
                ],
                "description": "The host operator, when it made the request instead of an account."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "outcome": {
            "$ref": "#/components/schemas/AuditOutcome",
            "description": "Whether the request was allowed."
          },
          "peer": {
            "description": "Network address the daemon saw; absent over the Unix socket.",
            "nullable": true,
            "type": "string"
          },
          "permission": {
            "description": "Permission a refused request lacked.",
            "nullable": true,
            "type": "string"
          },
          "request_id": {
            "description": "Request ID, matching `x-request-id` and daemon logs.",
            "nullable": true,
            "type": "string"
          },
          "scoped": {
            "description": "Whether that credential was limited to its own grants.",
            "nullable": true,
            "type": "boolean"
          },
          "status": {
            "description": "HTTP response status.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "tailnet": {
            "description": "Tailnet user or tags and node, for requests through the daemon's\ntailnet node, e.g. `alice@example.com on laptop`.",
            "nullable": true,
            "type": "string"
          },
          "user_id": {
            "description": "Account that made the request, or signed in by it.",
            "nullable": true,
            "type": "string"
          },
          "username": {
            "description": "That account's name when recorded.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "created_at_ms",
          "action",
          "outcome",
          "status"
        ],
        "type": "object"
      },
      "AuditLink": {
        "description": "One record's place in the audit chain.",
        "properties": {
          "id": {
            "description": "Record ID.",
            "format": "int64",
            "type": "integer"
          },
          "link": {
            "description": "Its link, in lowercase hex.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "link"
        ],
        "type": "object"
      },
      "AuditOutcome": {
        "description": "Whether an audited request was allowed.",
        "enum": [
          "allowed",
          "denied",
          "failed"
        ],
        "type": "string"
      },
      "AuditVerification": {
        "description": "Result of checking the audit trail's hash chain.\n\nRecords have consecutive IDs, and each stores a SHA-256 link over its\npredecessor's link and its own ID and fields, so editing, inserting,\nrenumbering, or removing a record breaks the chain from there on. The\nchain cannot tell who wrote it, so someone able to write the database\ncould rewrite it whole or move its `anchor`: keep `anchor` and `head`\nelsewhere and compare them later to detect that, including removed newest\nrecords.",
        "properties": {
          "anchor": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AuditLink"
                  }
                ],
                "description": "The newest pruned record, which the oldest retained one extends;\nabsent when nothing was pruned."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "broken_at": {
            "description": "First record whose ID or link does not match, if the chain is broken.\nThe change may also be a removal or insertion just before it.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "checked": {
            "description": "Records whose links were checked.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "head": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/AuditLink"
                  }
                ],
                "description": "The newest verified record; when the chain is broken, the last one\nverified before `broken_at`."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "checked"
        ],
        "type": "object"
      },
      "AuthStatus": {
        "description": "Public initialization state and canonical browser origin.",
        "properties": {
          "initialized": {
            "description": "Whether the first account has been created.",
            "type": "boolean"
          },
          "public_url": {
            "description": "Canonical website origin.",
            "type": "string"
          }
        },
        "required": [
          "initialized",
          "public_url"
        ],
        "type": "object"
      },
      "BoolValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "type": "boolean"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "BranchState": {
        "description": "Where a preview's branch is, read on demand with `git ls-remote`.",
        "oneOf": [
          {
            "description": "The branch is at the deployed commit, or nothing was fetched yet.",
            "properties": {
              "head": {
                "description": "Commit at the branch head.",
                "type": "string"
              },
              "state": {
                "enum": [
                  "exists"
                ],
                "type": "string"
              }
            },
            "required": [
              "head",
              "state"
            ],
            "type": "object"
          },
          {
            "description": "The branch moved past the deployed commit.",
            "properties": {
              "deployed": {
                "description": "Commit the preview last fetched its manifest from.",
                "type": "string"
              },
              "head": {
                "description": "Commit at the branch head.",
                "type": "string"
              },
              "state": {
                "enum": [
                  "moved"
                ],
                "type": "string"
              }
            },
            "required": [
              "head",
              "deployed",
              "state"
            ],
            "type": "object"
          },
          {
            "description": "The repository answered and has no such branch.",
            "properties": {
              "state": {
                "enum": [
                  "gone"
                ],
                "type": "string"
              }
            },
            "required": [
              "state"
            ],
            "type": "object"
          },
          {
            "description": "The preview runs or is deploying a snapshot of a local worktree\n(`preview deploy --local`), so the branch may never have been\npushed. Never counts as gone.",
            "properties": {
              "head": {
                "description": "Commit at the branch head; absent while the repository has no\nsuch branch.",
                "nullable": true,
                "type": "string"
              },
              "state": {
                "enum": [
                  "local"
                ],
                "type": "string"
              }
            },
            "required": [
              "state"
            ],
            "type": "object"
          },
          {
            "description": "The repository could not be read. Never counts as gone.",
            "properties": {
              "message": {
                "description": "Why the repository could not be read.",
                "type": "string"
              },
              "state": {
                "enum": [
                  "unknown"
                ],
                "type": "string"
              }
            },
            "required": [
              "message",
              "state"
            ],
            "type": "object"
          }
        ]
      },
      "Build": {
        "description": "How to build a Git source's image.",
        "oneOf": [
          {
            "description": "Build the image with Docker Buildx, from a Dockerfile.",
            "properties": {
              "args": {
                "additionalProperties": {
                  "$ref": "#/components/schemas/Template"
                },
                "description": "The value of the build argument `<name>`, passed with\n`--build-arg`. Docker records it in the image's metadata, so pass\nsensitive values as secrets instead. Build arguments total at most\n256 KiB.",
                "type": "object"
              },
              "context": {
                "default": ".",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Template",
                    "description": "Build context directory, relative to the repository root."
                  }
                ]
              },
              "dockerfile": {
                "$ref": "#/components/schemas/Template",
                "description": "Path of the Dockerfile, relative to the repository root."
              },
              "target": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Template"
                      }
                    ],
                    "description": "Stage of a multi-stage Dockerfile to build. By default, the final\nstage."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "type": {
                "enum": [
                  "docker"
                ],
                "type": "string"
              }
            },
            "required": [
              "dockerfile",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "BuildFingerprint": {
        "additionalProperties": {
          "$ref": "#/components/schemas/BuildInputs"
        },
        "description": "Each service's [`BuildInputs`]: what a release's images were built or\npulled from. An environment may run a release's images only where its own\nrendering of the release's manifest has the same fingerprint.",
        "type": "object"
      },
      "BuildInputs": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "One service's rendered build inputs, keyed by field path from the service:\nevery source field `ApplicationSpec::visit_values` lets reference variables\n(`source.image` or `source.build.*`), plus a Git source's\n`source.repository` and the `source.commit` it was built from.",
        "type": "object"
      },
      "BuildLogChunk": {
        "description": "Captured output with stream identity and capture time.",
        "properties": {
          "offset": {
            "description": "Byte position in the retained output.",
            "format": "int64",
            "type": "integer"
          },
          "stream": {
            "$ref": "#/components/schemas/LogStream",
            "description": "Captured source stream."
          },
          "text": {
            "description": "Lossy UTF-8 output, possibly containing partial lines.",
            "type": "string"
          },
          "timestamp_ms": {
            "description": "Capture time in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "offset",
          "timestamp_ms",
          "stream",
          "text"
        ],
        "type": "object"
      },
      "BuildLogPage": {
        "description": "Bounded byte-offset page of build output.",
        "properties": {
          "expired": {
            "description": "Retention removed the output.",
            "type": "boolean"
          },
          "items": {
            "description": "Structured output chunks in chronological order.",
            "items": {
              "$ref": "#/components/schemas/BuildLogChunk"
            },
            "type": "array"
          },
          "previous_offset": {
            "description": "Exclusive byte cursor for loading an older page.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "truncated": {
            "description": "The build exceeded its total output cap.",
            "type": "boolean"
          }
        },
        "required": [
          "items",
          "truncated",
          "expired"
        ],
        "type": "object"
      },
      "BuildRecord": {
        "description": "Durable source-preparation attempt or one-shot job run, independent of the executor.",
        "properties": {
          "commit": {
            "description": "Resolved Git commit, when checkout completed.",
            "nullable": true,
            "type": "string"
          },
          "environment_id": {
            "description": "Owning environment ID.",
            "type": "string"
          },
          "exit_code": {
            "description": "Job container exit code, when the job ran to completion.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "finished_at_ms": {
            "description": "Completion time, absent while running.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "description": "Monotonic build identifier.",
            "format": "int64",
            "type": "integer"
          },
          "image_id": {
            "description": "Built image identifier, when successful; for job runs, the image that ran.",
            "nullable": true,
            "type": "string"
          },
          "job": {
            "description": "Logical job name when this record is a job run rather than a source build.",
            "nullable": true,
            "type": "string"
          },
          "log_bytes": {
            "description": "Number of currently retained output bytes.",
            "format": "int64",
            "type": "integer"
          },
          "log_expired": {
            "description": "Output was removed by retention.",
            "type": "boolean"
          },
          "log_truncated": {
            "description": "Output exceeded the configured per-build cap.",
            "type": "boolean"
          },
          "operation_id": {
            "description": "Source operation ID, retained even after operation pruning.",
            "type": "string"
          },
          "service": {
            "description": "Logical service name; for job runs, the service whose container the job reuses.",
            "type": "string"
          },
          "source": {
            "$ref": "#/components/schemas/ValidatedSource",
            "description": "Requested build source."
          },
          "started_at_ms": {
            "description": "Start time in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "state": {
            "$ref": "#/components/schemas/BuildState",
            "description": "Current attempt outcome."
          }
        },
        "required": [
          "id",
          "environment_id",
          "operation_id",
          "service",
          "source",
          "state",
          "started_at_ms",
          "log_bytes",
          "log_truncated",
          "log_expired"
        ],
        "type": "object"
      },
      "BuildState": {
        "description": "Outcome of a source-preparation attempt or job run.",
        "enum": [
          "running",
          "succeeded",
          "failed",
          "interrupted"
        ],
        "type": "string"
      },
      "CategoryRule": {
        "additionalProperties": false,
        "description": "How one category is delivered to a destination.",
        "properties": {
          "message": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NotificationMessage"
                  }
                ],
                "description": "Text sent with each notification of the category. Discord sends it as\nthe message content, so mentions in it notify."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "type": "object"
      },
      "Ceremony": {
        "description": "Server-generated, browser-bound `WebAuthn` challenge.",
        "properties": {
          "id": {
            "description": "Single-use ceremony identifier.",
            "type": "string"
          },
          "options": {
            "description": "`WebAuthn` creation/request options, including `publicKey`."
          }
        },
        "required": [
          "id",
          "options"
        ],
        "type": "object"
      },
      "CeremonyFinish": {
        "description": "Browser's signed response to a pending ceremony.",
        "properties": {
          "credential": {
            "description": "Serialized `WebAuthn` credential response."
          },
          "id": {
            "description": "Pending ceremony identifier.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "credential"
        ],
        "type": "object"
      },
      "CertificateStatus": {
        "description": "One certificate issued through DNS-01, which covers a single name.",
        "properties": {
          "error": {
            "description": "Latest issuance or renewal failure, cleared by the next success.",
            "nullable": true,
            "type": "string"
          },
          "expires_at_ms": {
            "description": "Expiry of the stored certificate, absent until one is issued.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "hostnames": {
            "description": "Route hostnames served with it; empty once no route needs it.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "name": {
            "description": "Covered name: a wildcard such as `*.example.com`, or an exact hostname.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "hostnames"
        ],
        "type": "object"
      },
      "CheckStatus": {
        "description": "A check's verdict. Only `fail` makes `piquelctl doctor` exit nonzero.",
        "enum": [
          "pass",
          "warn",
          "fail",
          "skip"
        ],
        "type": "string"
      },
      "Convergence": {
        "description": "Aggregate health state derived from observed tasks.",
        "enum": [
          "converged",
          "updating",
          "degraded",
          "failed"
        ],
        "type": "string"
      },
      "CountValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Typed_u32",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "CountedPreview": {
        "description": "A preview counted against a `[previews]` limit.",
        "properties": {
          "application_id": {
            "$ref": "#/components/schemas/ApplicationId",
            "description": "Owning application."
          },
          "deleting": {
            "description": "Whether its deletion is in progress. It counts until it is gone.",
            "type": "boolean"
          },
          "id": {
            "$ref": "#/components/schemas/EnvironmentId",
            "description": "Stable preview identifier."
          },
          "last_deployment": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LastDeployment"
                  }
                ],
                "description": "Its newest deployment; absent before its first."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "preview": {
            "$ref": "#/components/schemas/Preview",
            "description": "Its branch, slot, and slug."
          }
        },
        "required": [
          "id",
          "application_id",
          "preview",
          "deleting"
        ],
        "type": "object"
      },
      "CpuValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32"
                  }
                ],
                "description": "New value; null explicitly clears an optional setting."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "CreateEnvironmentRequest": {
        "additionalProperties": false,
        "description": "Creates an environment, conditioned on the inspected application revision.",
        "properties": {
          "branch": {
            "description": "Branch of the application's manifest repository to follow. Defaults to\nthe branch `spec.manifest` names; only for repository-backed applications.",
            "nullable": true,
            "type": "string"
          },
          "commit": {
            "description": "Full commit to pin instead of following `branch`'s head; requires `branch`.",
            "nullable": true,
            "type": "string"
          },
          "expected_generation": {
            "description": "Current application revision, required unless explicitly forced.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "name": {
            "description": "Environment name, unique within the application.",
            "type": "string"
          },
          "promote_from": {
            "description": "ID of an environment to receive releases from instead of building;\nexcludes `branch`.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "CreatePreviewRequest": {
        "additionalProperties": false,
        "description": "Creates a preview of a branch of the application's manifest repository,\nor returns the existing preview of that branch and slot. Needs no\napplication revision.",
        "properties": {
          "branch": {
            "description": "Branch to deploy.",
            "type": "string"
          },
          "slot": {
            "description": "Distinguishes several previews of one branch, e.g. one per agent.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "branch"
        ],
        "type": "object"
      },
      "CreatedPreview": {
        "description": "A preview and its deployment, as created or found.",
        "properties": {
          "created": {
            "description": "Whether this request created the preview.",
            "type": "boolean"
          },
          "operation": {
            "$ref": "#/components/schemas/AcceptedOperation",
            "description": "Its first deployment or, when it already existed, its latest\noperation: creating a preview again never redeploys it."
          },
          "preview": {
            "$ref": "#/components/schemas/EnvironmentView",
            "description": "The preview."
          }
        },
        "required": [
          "preview",
          "operation",
          "created"
        ],
        "type": "object"
      },
      "CredentialView": {
        "description": "Revocable browser session, CLI session, or automation token metadata.",
        "properties": {
          "expires_at": {
            "description": "Absolute expiry, as Unix seconds; absent for non-expiring tokens.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "grants": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Grants"
                  }
                ],
                "description": "Grants this credential is limited to, within its account's current\naccess; absent when it acts with the account's full access."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "id": {
            "description": "Revocation identifier, never a bearer secret.",
            "type": "string"
          },
          "kind": {
            "description": "`browser`, `cli`, or `token`.",
            "type": "string"
          },
          "last_used_at": {
            "description": "Last use, as Unix seconds.",
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "description": "Human-readable label.",
            "type": "string"
          },
          "tailnet": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TailnetBinding"
                  }
                ],
                "description": "Tailnet user or tag this token is bound to, if any."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "user_id": {
            "description": "Account identifier.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "kind",
          "name",
          "last_used_at"
        ],
        "type": "object"
      },
      "DaemonStats": {
        "description": "Current daemon measurements. Missing OS values are unavailable, never fabricated zeroes.",
        "properties": {
          "available_disk_bytes": {
            "description": "Free bytes available to this process on the data filesystem.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "build_output_bytes": {
            "description": "Retained build-output bytes.",
            "format": "int64",
            "type": "integer"
          },
          "cpu_percent": {
            "description": "CPU usage between samples; 100 means one full CPU core.",
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "cpu_seconds": {
            "description": "CPU seconds used by this process.",
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "database_bytes": {
            "description": "Main database file size.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "diagnostics": {
            "description": "Number of retained diagnostic occurrences.",
            "format": "int64",
            "type": "integer"
          },
          "events": {
            "description": "Number of retained events.",
            "format": "int64",
            "type": "integer"
          },
          "failed_deliveries": {
            "description": "Notification deliveries that exhausted retries or were rejected.",
            "format": "int64",
            "type": "integer"
          },
          "memory_bytes": {
            "description": "Resident memory in bytes.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "pending_deliveries": {
            "description": "Notification deliveries awaiting a retry.",
            "format": "int64",
            "type": "integer"
          },
          "queued_operations": {
            "description": "Operations waiting to execute.",
            "format": "int64",
            "type": "integer"
          },
          "running_operations": {
            "description": "Operations currently executing.",
            "format": "int64",
            "type": "integer"
          },
          "sampled_at_ms": {
            "description": "Unix milliseconds when this snapshot was collected.",
            "format": "int64",
            "type": "integer"
          },
          "uptime_seconds": {
            "description": "Process lifetime in seconds.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "wal_bytes": {
            "description": "`SQLite` write-ahead log size.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "sampled_at_ms",
          "uptime_seconds",
          "database_bytes",
          "wal_bytes",
          "events",
          "diagnostics",
          "build_output_bytes",
          "running_operations",
          "queued_operations",
          "pending_deliveries",
          "failed_deliveries"
        ],
        "type": "object"
      },
      "DeclaredSource": {
        "description": "Where a declared environment deploys from, naming other environments by\nname, as the manifest does.",
        "oneOf": [
          {
            "description": "The application's saved manifest.",
            "properties": {
              "type": {
                "enum": [
                  "saved"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrackedBranch",
                "description": "The manifest file on a branch of the application's manifest repository."
              },
              {
                "properties": {
                  "type": {
                    "enum": [
                      "branch"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            ],
            "description": "The manifest file on a branch of the application's manifest repository."
          },
          {
            "description": "Releases promoted from another environment of the application.",
            "properties": {
              "from": {
                "$ref": "#/components/schemas/EnvironmentName",
                "description": "The environment it receives releases from."
              },
              "type": {
                "enum": [
                  "promoted"
                ],
                "type": "string"
              }
            },
            "required": [
              "from",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "DeletedApplication": {
        "description": "Accepted application deletion: one delete operation per environment,\npreviews included.",
        "properties": {
          "application_id": {
            "description": "Stable application identity.",
            "type": "string"
          },
          "generation": {
            "description": "Revision after requesting deletion.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "operations": {
            "description": "Deletion of each environment and preview; the application disappears\nwith the last one.",
            "items": {
              "$ref": "#/components/schemas/AcceptedOperation"
            },
            "type": "array"
          }
        },
        "required": [
          "application_id",
          "generation",
          "operations"
        ],
        "type": "object"
      },
      "DeletedPreview": {
        "description": "A preview whose deletion was accepted.",
        "properties": {
          "operation": {
            "$ref": "#/components/schemas/AcceptedOperation",
            "description": "Its deletion."
          },
          "preview": {
            "$ref": "#/components/schemas/EnvironmentView",
            "description": "The preview."
          }
        },
        "required": [
          "preview",
          "operation"
        ],
        "type": "object"
      },
      "DeliveryState": {
        "description": "Lifecycle of a durable webhook delivery.",
        "enum": [
          "pending",
          "delivered",
          "failed",
          "cancelled"
        ],
        "type": "string"
      },
      "DependencyStatus": {
        "description": "One diagnostic dependency probe, independent of application health.",
        "oneOf": [
          {
            "description": "The dependency is usable.",
            "properties": {
              "status": {
                "enum": [
                  "ready"
                ],
                "type": "string"
              }
            },
            "required": [
              "status"
            ],
            "type": "object"
          },
          {
            "description": "The probe failed with a safe explanation.",
            "properties": {
              "message": {
                "description": "Explanation when the probe fails.",
                "type": "string"
              },
              "status": {
                "enum": [
                  "failed"
                ],
                "type": "string"
              }
            },
            "required": [
              "message",
              "status"
            ],
            "type": "object"
          }
        ]
      },
      "DeploymentAnalytics": {
        "description": "Analytics derived from durable records within a selected time interval.",
        "properties": {
          "action_retries": {
            "description": "Individual Docker/action failures followed by retry.",
            "format": "int64",
            "type": "integer"
          },
          "actions": {
            "description": "Durations grouped by phase.",
            "items": {
              "$ref": "#/components/schemas/ActionDuration"
            },
            "type": "array"
          },
          "deployments": {
            "description": "Distinct deployments with terminal attempts in the interval.",
            "format": "int64",
            "type": "integer"
          },
          "failed": {
            "description": "Deployments whose latest attempt in the interval failed.",
            "format": "int64",
            "type": "integer"
          },
          "failed_attempts": {
            "description": "Failed execution attempts, including subsequent recoveries.",
            "format": "int64",
            "type": "integer"
          },
          "failures": {
            "description": "Common failures, descending by count.",
            "items": {
              "$ref": "#/components/schemas/FailureCount"
            },
            "type": "array"
          },
          "history_started_at_ms": {
            "description": "First time detailed observability was available.",
            "format": "int64",
            "type": "integer"
          },
          "incomplete": {
            "description": "Selected interval extends beyond available detailed history.",
            "type": "boolean"
          },
          "mean_duration_ms": {
            "description": "Mean completed deployment attempt duration.",
            "format": "double",
            "nullable": true,
            "type": "number"
          },
          "pruned_through_ms": {
            "description": "History was removed through this timestamp, when known.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "retry_attempts": {
            "description": "Execution attempts beyond the first.",
            "format": "int64",
            "type": "integer"
          },
          "since_ms": {
            "description": "Inclusive lower time bound.",
            "format": "int64",
            "type": "integer"
          },
          "succeeded": {
            "description": "Deployments whose latest attempt in the interval succeeded.",
            "format": "int64",
            "type": "integer"
          },
          "until_ms": {
            "description": "Inclusive upper time bound.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "since_ms",
          "until_ms",
          "history_started_at_ms",
          "incomplete",
          "deployments",
          "succeeded",
          "failed",
          "failed_attempts",
          "retry_attempts",
          "action_retries",
          "actions",
          "failures"
        ],
        "type": "object"
      },
      "DeploymentOrigin": {
        "description": "Where a deployment came from.",
        "oneOf": [
          {
            "description": "Built from its environment's source: the saved manifest or its branch.\nIt records its release once prepared.",
            "properties": {
              "type": {
                "enum": [
                  "build"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          },
          {
            "description": "The release of another environment's deployment, promoted into this one.",
            "properties": {
              "deployment": {
                "description": "That environment's deployment whose release it runs.",
                "type": "string"
              },
              "environment": {
                "$ref": "#/components/schemas/EnvironmentId",
                "description": "The environment it was promoted from."
              },
              "type": {
                "enum": [
                  "promotion"
                ],
                "type": "string"
              }
            },
            "required": [
              "environment",
              "deployment",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "An earlier release, deployed again by ID.",
            "properties": {
              "type": {
                "enum": [
                  "release"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          },
          {
            "description": "An earlier deployment of the same environment, restored exactly: its\nrendered manifest, images and pinned secret versions. It never runs\njobs.",
            "properties": {
              "deployment": {
                "description": "The deployment it restored.",
                "type": "string"
              },
              "rolled_back": {
                "description": "The deployment whose failed rollout piqueld rolled back by\nrestoring, in an environment with automatic rollback. Absent when\nsomeone asked for the restore.",
                "nullable": true,
                "type": "string"
              },
              "type": {
                "enum": [
                  "restore"
                ],
                "type": "string"
              }
            },
            "required": [
              "deployment",
              "type"
            ],
            "type": "object"
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/LocalSnapshot",
                "description": "A snapshot of a local worktree, uploaded to a preview with\n`preview deploy --local`, and built like its branch would be."
              },
              {
                "properties": {
                  "type": {
                    "enum": [
                      "local"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            ],
            "description": "A snapshot of a local worktree, uploaded to a preview with\n`preview deploy --local`, and built like its branch would be."
          }
        ]
      },
      "DeploymentView": {
        "description": "Durable deployment snapshot and execution summary.",
        "properties": {
          "application": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/NormalizedApplication"
                  }
                ],
                "description": "Rendered configuration; absent until a repository-backed manifest is fetched."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "current_target": {
            "description": "Whether this is the currently promoted runtime target.",
            "type": "boolean"
          },
          "last_successful": {
            "description": "Whether this is the most recent deployment to converge successfully.",
            "type": "boolean"
          },
          "operation": {
            "$ref": "#/components/schemas/Operation",
            "description": "Execution ID also identifies this deployment."
          },
          "origin": {
            "$ref": "#/components/schemas/DeploymentOrigin",
            "description": "Where it came from: built from its environment's source, a promoted\nor redeployed release, or a local snapshot uploaded to a preview."
          },
          "release": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReleaseId"
                  }
                ],
                "description": "The release its prepared target runs; absent until prepared, and for\ndeployments that recorded none."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "succeeded_at_ms": {
            "description": "First successful convergence, retained during later drift repair.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "template": {
            "$ref": "#/components/schemas/ApplicationTemplate",
            "description": "Manifest captured for this deployment, with references unresolved."
          },
          "variables": {
            "additionalProperties": {
              "$ref": "#/components/schemas/VariableValue"
            },
            "description": "Values its references rendered to, keyed by reference.",
            "type": "object"
          },
          "warnings": {
            "description": "Problems found while fetching the manifest that did not stop the\ndeployment, e.g. `manifest_connection_ignored`.",
            "items": {
              "$ref": "#/components/schemas/DiagnosticView"
            },
            "type": "array"
          }
        },
        "required": [
          "operation",
          "template",
          "variables",
          "current_target",
          "last_successful"
        ],
        "type": "object"
      },
      "DesiredFile": {
        "additionalProperties": false,
        "description": "A read-only file mounted from an immutable, content-named Swarm config.",
        "properties": {
          "config_name": {
            "$ref": "#/components/schemas/DockerConfigName",
            "description": "The config holding the content, named after the environment and the\ncontent's digest."
          },
          "content": {
            "description": "The file's content.",
            "type": "string"
          },
          "mode": {
            "$ref": "#/components/schemas/FileMode",
            "description": "Permissions of the root-owned file."
          },
          "target": {
            "description": "Absolute container path.",
            "type": "string"
          }
        },
        "required": [
          "config_name",
          "target",
          "mode",
          "content"
        ],
        "type": "object"
      },
      "DesiredMount": {
        "additionalProperties": false,
        "description": "Desired persistent volume mount in a service.",
        "properties": {
          "read_only": {
            "description": "Whether the mount is read-only.",
            "type": "boolean"
          },
          "target": {
            "description": "Container target path.",
            "type": "string"
          },
          "volume_name": {
            "$ref": "#/components/schemas/DockerVolumeName",
            "description": "Canonical Docker volume name."
          }
        },
        "required": [
          "volume_name",
          "target",
          "read_only"
        ],
        "type": "object"
      },
      "DesiredNetwork": {
        "additionalProperties": false,
        "description": "Desired private overlay network state.",
        "properties": {
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Expected ownership labels.",
            "type": "object"
          },
          "name": {
            "$ref": "#/components/schemas/DockerNetworkName",
            "description": "Canonical Docker resource name."
          }
        },
        "required": [
          "name",
          "labels"
        ],
        "type": "object"
      },
      "DesiredService": {
        "additionalProperties": false,
        "description": "Desired Docker service state.",
        "properties": {
          "arguments": {
            "description": "Arguments passed to the command.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "command": {
            "description": "Container entrypoint command.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "depends_on": {
            "description": "Logical services that must converge before this service rolls out.\nPlanning order only; it is not part of the Docker specification.",
            "items": {
              "$ref": "#/components/schemas/ServiceName"
            },
            "type": "array"
          },
          "environment": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Environment variables keyed by name.",
            "type": "object"
          },
          "files": {
            "description": "Read-only files from content-named configs. Omitted when empty, so\ntargets prepared before files existed still decode.",
            "items": {
              "$ref": "#/components/schemas/DesiredFile"
            },
            "type": "array"
          },
          "healthcheck": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ValidatedHealthCheck"
                  }
                ],
                "description": "Optional health check."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "image": {
            "$ref": "#/components/schemas/ImmutableImage",
            "description": "Digest-pinned image reference."
          },
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Ownership labels.",
            "type": "object"
          },
          "link_aliases": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Link networks on which importers reach this service, with the name it\nanswers to there. Projected at runtime by\n[`ResolvedApplication::with_links`], never prepared.",
            "type": "object"
          },
          "logical_name": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Manifest-level service name."
          },
          "mounts": {
            "description": "Persistent volume mounts.",
            "items": {
              "$ref": "#/components/schemas/DesiredMount"
            },
            "type": "array"
          },
          "name": {
            "$ref": "#/components/schemas/DockerServiceName",
            "description": "Canonical Docker service name."
          },
          "networks": {
            "description": "Private, ingress and link network names attached to the service.",
            "items": {
              "$ref": "#/components/schemas/DockerNetworkName"
            },
            "type": "array"
          },
          "receives_telemetry": {
            "description": "Whether the service receives the daemon's telemetry once its\nenvironment is granted it.",
            "type": "boolean"
          },
          "replicas": {
            "description": "Desired replica count.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "resources": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ValidatedResourceLimits"
                  }
                ],
                "description": "Optional CPU and memory limits."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "rollout": {
            "$ref": "#/components/schemas/ValidatedRollout",
            "description": "Rollout settings, resolved by [`Self::rollout_policy`]. Omitted when\ndefault, so targets prepared before the setting existed still decode."
          },
          "secrets": {
            "description": "Immutable secret file bindings.",
            "items": {
              "$ref": "#/components/schemas/SecretFile"
            },
            "type": "array"
          },
          "source": {
            "$ref": "#/components/schemas/ResolvedSource",
            "description": "Immutable source resolution used by the service."
          },
          "telemetry": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TelemetryMount"
                  }
                ],
                "description": "The telemetry socket directory mounted while the environment is\ngranted. Projected at runtime by\n[`ResolvedApplication::with_telemetry`], never prepared."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "logical_name",
          "name",
          "source",
          "image",
          "replicas",
          "environment",
          "command",
          "arguments",
          "mounts",
          "networks",
          "labels"
        ],
        "type": "object"
      },
      "DesiredVolume": {
        "additionalProperties": false,
        "description": "Desired persistent volume state.",
        "properties": {
          "labels": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Expected ownership labels.",
            "type": "object"
          },
          "logical_name": {
            "$ref": "#/components/schemas/VolumeName",
            "description": "Manifest-level volume name."
          },
          "name": {
            "$ref": "#/components/schemas/DockerVolumeName",
            "description": "Canonical Docker resource name."
          }
        },
        "required": [
          "logical_name",
          "name",
          "labels"
        ],
        "type": "object"
      },
      "DestinationKind": {
        "description": "Payload format a destination receives.",
        "enum": [
          "json",
          "discord"
        ],
        "type": "string"
      },
      "DestinationName": {
        "description": "Unique name of a notification destination, such as `ops`.",
        "type": "string"
      },
      "DestinationRequest": {
        "additionalProperties": false,
        "description": "Creates or replaces a destination. Its `Debug` hides the URL, a credential.",
        "properties": {
          "settings": {
            "$ref": "#/components/schemas/DestinationSettings",
            "description": "What it receives and how."
          },
          "url": {
            "description": "Webhook URL: HTTPS, or HTTP to a loopback address. Required to create\na destination; omitted, an existing one keeps its URL. A new URL or\nkind makes it a new receiver: pending deliveries are cancelled, and\nrecoveries of failures sent before are never sent to it.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "settings"
        ],
        "type": "object"
      },
      "DestinationSettings": {
        "additionalProperties": false,
        "description": "What a destination receives and how. Its URL is write-only, see\n[`DestinationRequest`].",
        "properties": {
          "applications": {
            "$ref": "#/components/schemas/ApplicationSelection",
            "description": "Applications it receives notifications about."
          },
          "categories": {
            "additionalProperties": {
              "$ref": "#/components/schemas/CategoryRule"
            },
            "description": "Categories it receives. Adding one never replays earlier events.",
            "type": "object"
          },
          "enabled": {
            "description": "Whether it receives notifications. Disabling cancels pending\ndeliveries; enabling again never replays what happened meanwhile.",
            "type": "boolean"
          },
          "kind": {
            "$ref": "#/components/schemas/DestinationKind",
            "description": "Payload format."
          },
          "previews": {
            "description": "Whether it receives notifications about previews.",
            "type": "boolean"
          }
        },
        "required": [
          "kind",
          "enabled",
          "categories",
          "applications",
          "previews"
        ],
        "type": "object"
      },
      "DestinationTest": {
        "description": "Outcome of a test notification.",
        "properties": {
          "delivered": {
            "description": "Whether the receiver acknowledged it with a 2xx status.",
            "type": "boolean"
          },
          "error": {
            "description": "Safe failure summary, such as the receiver's HTTP status, when it was not.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "delivered"
        ],
        "type": "object"
      },
      "DeviceApprove": {
        "description": "Browser confirmation of the code shown by the initiating CLI.",
        "properties": {
          "user_code": {
            "description": "Code entered by the user.",
            "type": "string"
          }
        },
        "required": [
          "user_code"
        ],
        "type": "object"
      },
      "DevicePoll": {
        "description": "CLI polling request.",
        "properties": {
          "device_code": {
            "description": "Secret from device initiation.",
            "type": "string"
          }
        },
        "required": [
          "device_code"
        ],
        "type": "object"
      },
      "DeviceRequest": {
        "description": "Pending device login shown to the approver before they confirm it.",
        "properties": {
          "age": {
            "description": "Seconds since the login started.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "expires_in": {
            "description": "Seconds until the request expires.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "grants": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Grants"
                  }
                ],
                "description": "Grants the session is limited to; absent for the approver's full access."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "requester": {
            "description": "Network address the daemon observed when the login started. Absent for\nrequests made over the Unix socket.",
            "nullable": true,
            "type": "string"
          },
          "user_code": {
            "description": "Code entered by the user.",
            "type": "string"
          }
        },
        "required": [
          "user_code",
          "age",
          "expires_in"
        ],
        "type": "object"
      },
      "DeviceStart": {
        "description": "Device login challenge for an interactive CLI.",
        "properties": {
          "device_code": {
            "description": "Secret used only by the initiating CLI to poll.",
            "type": "string"
          },
          "expires_in": {
            "description": "Lifetime in seconds.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "grants": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Grants"
                  }
                ],
                "description": "Grants the session will be limited to, as requested. Daemons older\nthan limited logins omit it, so clients can tell they ignored a limit."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "interval": {
            "description": "Minimum polling interval, in seconds.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "requester": {
            "description": "Network address the daemon observed for this request, shown again on\nthe approval page. Absent for requests made over the Unix socket.",
            "nullable": true,
            "type": "string"
          },
          "user_code": {
            "description": "Human-readable code explicitly confirmed in the browser.",
            "type": "string"
          },
          "verification_uri": {
            "description": "Canonical browser login page.",
            "type": "string"
          },
          "verification_uri_complete": {
            "description": "Login page with `user_code` already filled in, so the user only has to\nopen it. Daemons older than this field omit it.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "device_code",
          "user_code",
          "verification_uri",
          "expires_in",
          "interval"
        ],
        "type": "object"
      },
      "DeviceStartRequest": {
        "description": "Optional limits for a CLI device login.",
        "properties": {
          "grants": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Grants"
                  }
                ],
                "description": "Grants the issued CLI session is limited to; absent for the approving\naccount's full access."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "type": "object"
      },
      "DeviceToken": {
        "description": "Poll result; the token is returned exactly once after explicit approval.",
        "properties": {
          "status": {
            "description": "`authorization_pending`, `slow_down`, or `complete`.",
            "type": "string"
          },
          "token": {
            "description": "Issued CLI credential.",
            "nullable": true,
            "type": "string"
          },
          "user": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/User"
                  }
                ],
                "description": "Account associated with the credential."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "status"
        ],
        "type": "object"
      },
      "Diagnostic": {
        "description": "Safe structured explanation of a failure. Never contains raw engine payloads.",
        "properties": {
          "causes": {
            "description": "Explicitly sanitized causal facts.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "code": {
            "description": "Stable classification.",
            "type": "string"
          },
          "id": {
            "description": "Stable occurrence identity shared with responses and logs.",
            "type": "string"
          },
          "next_action": {
            "description": "What happens next or what the administrator can do.",
            "type": "string"
          },
          "retryable": {
            "description": "Whether automatic recovery is appropriate.",
            "type": "boolean"
          },
          "scope": {
            "$ref": "#/components/schemas/EventScope",
            "description": "Retention ownership."
          },
          "summary": {
            "description": "What failed.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "code",
          "summary",
          "causes",
          "retryable",
          "next_action",
          "scope"
        ],
        "type": "object"
      },
      "DiagnosticSeverity": {
        "description": "Severity of a planning diagnostic.",
        "enum": [
          "info",
          "warning",
          "error"
        ],
        "type": "string"
      },
      "DiagnosticView": {
        "description": "Sanitized runtime diagnostic shown by the read-only dashboard.",
        "properties": {
          "code": {
            "description": "Stable diagnostic category.",
            "type": "string"
          },
          "message": {
            "description": "Bounded, actionable message safe for a browser.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message"
        ],
        "type": "object"
      },
      "Directory": {
        "description": "Account management directory. Callers with `accounts:manage` see every\naccount and invitation; everyone else sees only their own account, and a\nscoped credential only itself, its account carrying its own grants.",
        "properties": {
          "credentials": {
            "description": "Sessions and tokens, without secrets.",
            "items": {
              "$ref": "#/components/schemas/CredentialView"
            },
            "type": "array"
          },
          "invitations": {
            "description": "Unexpired invitations.",
            "items": {
              "$ref": "#/components/schemas/InvitationView"
            },
            "type": "array"
          },
          "operator_sessions": {
            "description": "Live host operator browser sessions; empty without `accounts:manage`.",
            "items": {
              "$ref": "#/components/schemas/OperatorSessionView"
            },
            "type": "array"
          },
          "passkeys": {
            "description": "Enrolled passkeys.",
            "items": {
              "$ref": "#/components/schemas/PasskeyView"
            },
            "type": "array"
          },
          "users": {
            "description": "Accounts with their grants.",
            "items": {
              "$ref": "#/components/schemas/Account"
            },
            "type": "array"
          }
        },
        "required": [
          "users",
          "passkeys",
          "credentials",
          "invitations"
        ],
        "type": "object"
      },
      "DnsProviderStatus": {
        "description": "Zone discovery state of one configured DNS provider.",
        "properties": {
          "healthy": {
            "description": "The latest discovery succeeded and no zone is claimed by another provider.",
            "type": "boolean"
          },
          "kind": {
            "description": "Provider kind, such as `cloudflare` or `ovh`.",
            "type": "string"
          },
          "manage_records": {
            "description": "piqueld manages routes' DNS records in this provider's zones.",
            "type": "boolean"
          },
          "message": {
            "description": "Safe diagnostic: the discovery error or the conflicting zones.",
            "type": "string"
          },
          "zones": {
            "description": "Zones discovered through the provider's API, including conflicting ones.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "kind",
          "zones",
          "healthy",
          "message"
        ],
        "type": "object"
      },
      "DnsRecordState": {
        "description": "Who keeps a route's DNS records current.",
        "enum": [
          "manual",
          "managed",
          "pending",
          "dns_conflict"
        ],
        "type": "string"
      },
      "DnsRecords": {
        "description": "The records a route's hostname needs. piqueld creates them where its DNS\nprovider manages records (see [`DnsRecordState`]); otherwise operators\ncopy them to their DNS provider.",
        "oneOf": [
          {
            "description": "Public routes: A/AAAA records to this server's public addresses.",
            "properties": {
              "addresses": {
                "description": "`[ingress] public_addresses`; empty when not configured.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "type": {
                "enum": [
                  "server_addresses"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          },
          {
            "description": "Public routes in tunnel mode: a proxied CNAME record to the tunnel.",
            "properties": {
              "target": {
                "description": "`<tunnel-id>.cfargotunnel.com`.",
                "type": "string"
              },
              "type": {
                "enum": [
                  "tunnel_cname"
                ],
                "type": "string"
              }
            },
            "required": [
              "target",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "Private routes: the apps tailnet node's addresses, empty until it has\njoined the tailnet.",
            "properties": {
              "addresses": {
                "description": "IPv4 and IPv6 tailnet addresses.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "type": {
                "enum": [
                  "tailnet_addresses"
                ],
                "type": "string"
              }
            },
            "required": [
              "addresses",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "DnsStatus": {
        "description": "DNS providers from daemon TOML and the DNS-01 certificates piqueld issues\nthrough them.",
        "properties": {
          "certificates": {
            "description": "Certificates that routes need, or that are kept until they expire.",
            "items": {
              "$ref": "#/components/schemas/CertificateStatus"
            },
            "type": "array"
          },
          "providers": {
            "description": "Configured providers, in configuration order.",
            "items": {
              "$ref": "#/components/schemas/DnsProviderStatus"
            },
            "type": "array"
          }
        },
        "required": [
          "providers",
          "certificates"
        ],
        "type": "object"
      },
      "DockerConfigName": {
        "description": "A Docker config name, distinct from other resource kinds.",
        "type": "string"
      },
      "DockerNetworkName": {
        "description": "A Docker network name, distinct from logical names and other resource kinds.",
        "type": "string"
      },
      "DockerServiceName": {
        "description": "A Docker service name, distinct from its logical service name.\n\n```compile_fail\nuse piqueld_core::{DockerNetworkName, DockerServiceName};\nfn attach_network(_: DockerNetworkName) {}\nfn wrong_kind(service: DockerServiceName) { attach_network(service); }\n```",
        "type": "string"
      },
      "DockerVolumeName": {
        "description": "A Docker volume name, distinct from its logical volume name.",
        "type": "string"
      },
      "Envelope_AcceptedOperation": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Operation accepted by a mutation endpoint.",
            "properties": {
              "environment_id": {
                "description": "Environment the operation changes. Receipts stored before environments\nexisted name it `application_id`.",
                "type": "string"
              },
              "generation": {
                "description": "Accepted intent revision.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "operation_id": {
                "description": "Asynchronous operation identifier.",
                "type": "string"
              }
            },
            "required": [
              "operation_id",
              "environment_id",
              "generation"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_AcceptedPromotion": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/AcceptedOperation",
                "description": "The deployment operation; its ID is also the deployment's."
              },
              {
                "properties": {
                  "origin": {
                    "$ref": "#/components/schemas/DeploymentOrigin",
                    "description": "Where the release came from."
                  },
                  "release_id": {
                    "$ref": "#/components/schemas/ReleaseId",
                    "description": "The release it deploys."
                  }
                },
                "required": [
                  "release_id",
                  "origin"
                ],
                "type": "object"
              }
            ],
            "description": "An accepted promotion and the release it pinned."
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_ApplicationLogs": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Bounded historical container output read directly from Docker.",
            "properties": {
              "items": {
                "description": "Chronologically ordered records.",
                "items": {
                  "$ref": "#/components/schemas/LogRecord"
                },
                "type": "array"
              },
              "truncated": {
                "description": "More output existed than the requested window or safety limit.",
                "type": "boolean"
              }
            },
            "required": [
              "items",
              "truncated"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_ApplicationView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Public application state returned by the API.",
            "properties": {
              "application": {
                "$ref": "#/components/schemas/ApplicationTemplate",
                "description": "Saved manifest, shared by every environment, with references unresolved."
              },
              "created_at_ms": {
                "description": "Creation timestamp in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              },
              "delete_intent": {
                "description": "Whether deletion has been requested.",
                "type": "boolean"
              },
              "drift": {
                "description": "How the environments differ from the ones the saved manifest\ndeclares: changes waiting for its next save or fetch, and\nenvironments it no longer declares, kept until deleted explicitly.",
                "items": {
                  "$ref": "#/components/schemas/EnvironmentChange"
                },
                "type": "array"
              },
              "environments": {
                "description": "Environments in name order. Never includes previews.",
                "items": {
                  "$ref": "#/components/schemas/EnvironmentView"
                },
                "type": "array"
              },
              "generation": {
                "description": "Current manifest or deletion-intent revision.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "previews": {
                "description": "Previews in slug order.",
                "items": {
                  "$ref": "#/components/schemas/EnvironmentView"
                },
                "type": "array"
              },
              "repository": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ApplicationTemplate"
                      }
                    ],
                    "description": "The manifest it last read from its repository, with its connection,\nwhile repository-backed and once it has read one: where the saved\nmanifest differs from it, it was [edited](Self::edits) since."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "spec_hash": {
                "description": "Hash of the normalized desired specification.",
                "type": "string"
              },
              "sync_check": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SyncCheck"
                      }
                    ],
                    "description": "The last time sync listed its repository's branches; absent until it\ndid, and while sync is off."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "updated_at_ms": {
                "description": "Last update timestamp in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "application",
              "generation",
              "spec_hash",
              "delete_intent",
              "created_at_ms",
              "updated_at_ms",
              "environments"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_AuditVerification": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Result of checking the audit trail's hash chain.\n\nRecords have consecutive IDs, and each stores a SHA-256 link over its\npredecessor's link and its own ID and fields, so editing, inserting,\nrenumbering, or removing a record breaks the chain from there on. The\nchain cannot tell who wrote it, so someone able to write the database\ncould rewrite it whole or move its `anchor`: keep `anchor` and `head`\nelsewhere and compare them later to detect that, including removed newest\nrecords.",
            "properties": {
              "anchor": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/AuditLink"
                      }
                    ],
                    "description": "The newest pruned record, which the oldest retained one extends;\nabsent when nothing was pruned."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "broken_at": {
                "description": "First record whose ID or link does not match, if the chain is broken.\nThe change may also be a removal or insertion just before it.",
                "format": "int64",
                "nullable": true,
                "type": "integer"
              },
              "checked": {
                "description": "Records whose links were checked.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "head": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/AuditLink"
                      }
                    ],
                    "description": "The newest verified record; when the chain is broken, the last one\nverified before `broken_at`."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              }
            },
            "required": [
              "checked"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_BuildLogPage": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Bounded byte-offset page of build output.",
            "properties": {
              "expired": {
                "description": "Retention removed the output.",
                "type": "boolean"
              },
              "items": {
                "description": "Structured output chunks in chronological order.",
                "items": {
                  "$ref": "#/components/schemas/BuildLogChunk"
                },
                "type": "array"
              },
              "previous_offset": {
                "description": "Exclusive byte cursor for loading an older page.",
                "format": "int64",
                "nullable": true,
                "type": "integer"
              },
              "truncated": {
                "description": "The build exceeded its total output cap.",
                "type": "boolean"
              }
            },
            "required": [
              "items",
              "truncated",
              "expired"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_CreatedPreview": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "A preview and its deployment, as created or found.",
            "properties": {
              "created": {
                "description": "Whether this request created the preview.",
                "type": "boolean"
              },
              "operation": {
                "$ref": "#/components/schemas/AcceptedOperation",
                "description": "Its first deployment or, when it already existed, its latest\noperation: creating a preview again never redeploys it."
              },
              "preview": {
                "$ref": "#/components/schemas/EnvironmentView",
                "description": "The preview."
              }
            },
            "required": [
              "preview",
              "operation",
              "created"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_DaemonStats": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Current daemon measurements. Missing OS values are unavailable, never fabricated zeroes.",
            "properties": {
              "available_disk_bytes": {
                "description": "Free bytes available to this process on the data filesystem.",
                "format": "int64",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "build_output_bytes": {
                "description": "Retained build-output bytes.",
                "format": "int64",
                "type": "integer"
              },
              "cpu_percent": {
                "description": "CPU usage between samples; 100 means one full CPU core.",
                "format": "double",
                "nullable": true,
                "type": "number"
              },
              "cpu_seconds": {
                "description": "CPU seconds used by this process.",
                "format": "double",
                "nullable": true,
                "type": "number"
              },
              "database_bytes": {
                "description": "Main database file size.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "diagnostics": {
                "description": "Number of retained diagnostic occurrences.",
                "format": "int64",
                "type": "integer"
              },
              "events": {
                "description": "Number of retained events.",
                "format": "int64",
                "type": "integer"
              },
              "failed_deliveries": {
                "description": "Notification deliveries that exhausted retries or were rejected.",
                "format": "int64",
                "type": "integer"
              },
              "memory_bytes": {
                "description": "Resident memory in bytes.",
                "format": "int64",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "pending_deliveries": {
                "description": "Notification deliveries awaiting a retry.",
                "format": "int64",
                "type": "integer"
              },
              "queued_operations": {
                "description": "Operations waiting to execute.",
                "format": "int64",
                "type": "integer"
              },
              "running_operations": {
                "description": "Operations currently executing.",
                "format": "int64",
                "type": "integer"
              },
              "sampled_at_ms": {
                "description": "Unix milliseconds when this snapshot was collected.",
                "format": "int64",
                "type": "integer"
              },
              "uptime_seconds": {
                "description": "Process lifetime in seconds.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "wal_bytes": {
                "description": "`SQLite` write-ahead log size.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              }
            },
            "required": [
              "sampled_at_ms",
              "uptime_seconds",
              "database_bytes",
              "wal_bytes",
              "events",
              "diagnostics",
              "build_output_bytes",
              "running_operations",
              "queued_operations",
              "pending_deliveries",
              "failed_deliveries"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_DeletedApplication": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Accepted application deletion: one delete operation per environment,\npreviews included.",
            "properties": {
              "application_id": {
                "description": "Stable application identity.",
                "type": "string"
              },
              "generation": {
                "description": "Revision after requesting deletion.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "operations": {
                "description": "Deletion of each environment and preview; the application disappears\nwith the last one.",
                "items": {
                  "$ref": "#/components/schemas/AcceptedOperation"
                },
                "type": "array"
              }
            },
            "required": [
              "application_id",
              "generation",
              "operations"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_DeploymentAnalytics": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Analytics derived from durable records within a selected time interval.",
            "properties": {
              "action_retries": {
                "description": "Individual Docker/action failures followed by retry.",
                "format": "int64",
                "type": "integer"
              },
              "actions": {
                "description": "Durations grouped by phase.",
                "items": {
                  "$ref": "#/components/schemas/ActionDuration"
                },
                "type": "array"
              },
              "deployments": {
                "description": "Distinct deployments with terminal attempts in the interval.",
                "format": "int64",
                "type": "integer"
              },
              "failed": {
                "description": "Deployments whose latest attempt in the interval failed.",
                "format": "int64",
                "type": "integer"
              },
              "failed_attempts": {
                "description": "Failed execution attempts, including subsequent recoveries.",
                "format": "int64",
                "type": "integer"
              },
              "failures": {
                "description": "Common failures, descending by count.",
                "items": {
                  "$ref": "#/components/schemas/FailureCount"
                },
                "type": "array"
              },
              "history_started_at_ms": {
                "description": "First time detailed observability was available.",
                "format": "int64",
                "type": "integer"
              },
              "incomplete": {
                "description": "Selected interval extends beyond available detailed history.",
                "type": "boolean"
              },
              "mean_duration_ms": {
                "description": "Mean completed deployment attempt duration.",
                "format": "double",
                "nullable": true,
                "type": "number"
              },
              "pruned_through_ms": {
                "description": "History was removed through this timestamp, when known.",
                "format": "int64",
                "nullable": true,
                "type": "integer"
              },
              "retry_attempts": {
                "description": "Execution attempts beyond the first.",
                "format": "int64",
                "type": "integer"
              },
              "since_ms": {
                "description": "Inclusive lower time bound.",
                "format": "int64",
                "type": "integer"
              },
              "succeeded": {
                "description": "Deployments whose latest attempt in the interval succeeded.",
                "format": "int64",
                "type": "integer"
              },
              "until_ms": {
                "description": "Inclusive upper time bound.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "since_ms",
              "until_ms",
              "history_started_at_ms",
              "incomplete",
              "deployments",
              "succeeded",
              "failed",
              "failed_attempts",
              "retry_attempts",
              "action_retries",
              "actions",
              "failures"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_DestinationTest": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Outcome of a test notification.",
            "properties": {
              "delivered": {
                "description": "Whether the receiver acknowledged it with a 2xx status.",
                "type": "boolean"
              },
              "error": {
                "description": "Safe failure summary, such as the receiver's HTTP status, when it was not.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "delivered"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_DnsStatus": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "DNS providers from daemon TOML and the DNS-01 certificates piqueld issues\nthrough them.",
            "properties": {
              "certificates": {
                "description": "Certificates that routes need, or that are kept until they expire.",
                "items": {
                  "$ref": "#/components/schemas/CertificateStatus"
                },
                "type": "array"
              },
              "providers": {
                "description": "Configured providers, in configuration order.",
                "items": {
                  "$ref": "#/components/schemas/DnsProviderStatus"
                },
                "type": "array"
              }
            },
            "required": [
              "providers",
              "certificates"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_EnvironmentDetailView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Read-only environment detail composed at the API boundary.",
            "properties": {
              "application": {
                "$ref": "#/components/schemas/ApplicationView",
                "description": "Its application and shared desired configuration."
              },
              "diagnostics": {
                "description": "Bounded diagnostics from status, runtime, and the latest operation.",
                "items": {
                  "$ref": "#/components/schemas/DiagnosticView"
                },
                "type": "array"
              },
              "environment": {
                "$ref": "#/components/schemas/EnvironmentView",
                "description": "The environment."
              },
              "latest_operation": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Operation"
                      }
                    ],
                    "description": "Most recent durable operation, when one exists."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "links": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/LinkReport"
                      }
                    ],
                    "description": "The private links the current runtime target takes part in. Absent\nfrom daemons that predate links."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "manifest": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ApplicationTemplate"
                      }
                    ],
                    "description": "The manifest this environment deploys, with references unresolved: the\nlast one fetched from its branch, the application's saved manifest, or\nthat of the release last promoted into it. Before a promoted\nenvironment's first promotion, that of the release its source runs,\nwhich promoting would deploy. Absent until a repository-backed\nenvironment's first fetch."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "observed": {
                "$ref": "#/components/schemas/ObservedApplicationView",
                "description": "Sanitized runtime observation."
              },
              "release": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ReleaseId"
                      }
                    ],
                    "description": "The release the current runtime target runs; absent before a\ndeployment was prepared, and for deployments that recorded none."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "status": {
                "$ref": "#/components/schemas/EnvironmentStatusView",
                "description": "Durable environment lifecycle status."
              },
              "telemetry": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TelemetryReport"
                      }
                    ],
                    "description": "Whether it receives the daemon's telemetry. Absent from daemons that\npredate telemetry receivers."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "urls": {
                "description": "The URL of every route the current runtime target renders, and\nwhether each is ready; see [`RouteUrl::derive`]. Absent from daemons\nthat predate URL readiness, which is not the same as no routes.",
                "items": {
                  "$ref": "#/components/schemas/RouteUrl"
                },
                "nullable": true,
                "type": "array"
              }
            },
            "required": [
              "environment",
              "application",
              "status",
              "observed",
              "diagnostics"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_EnvironmentStatusView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Current environment reconciliation status.",
            "properties": {
              "environment_id": {
                "description": "Stable environment identifier.",
                "type": "string"
              },
              "health_observed_at_ms": {
                "description": "When `runtime_health` was last observed, in Unix milliseconds; it is\nrefreshed on every health scan, so an old value means it is stale.",
                "format": "int64",
                "nullable": true,
                "type": "integer"
              },
              "message": {
                "description": "Optional safe status message.",
                "nullable": true,
                "type": "string"
              },
              "runtime_health": {
                "description": "Observed runtime health, independent of operation progress.",
                "nullable": true,
                "type": "string"
              },
              "state": {
                "$ref": "#/components/schemas/ApplicationState",
                "description": "Machine-readable lifecycle state."
              },
              "updated_at_ms": {
                "description": "Last update timestamp in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "environment_id",
              "state",
              "updated_at_ms"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_EnvironmentView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "A deployable unit of an application, with its own deployment history,\nstatus, volumes, generated secrets, routes, and Docker network.",
            "properties": {
              "application_id": {
                "$ref": "#/components/schemas/ApplicationId",
                "description": "Owning application."
              },
              "created_at_ms": {
                "description": "Creation timestamp in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              },
              "delete_intent": {
                "description": "Whether deletion has been requested.",
                "type": "boolean"
              },
              "id": {
                "$ref": "#/components/schemas/EnvironmentId",
                "description": "Stable environment identifier; runtime names derive from it."
              },
              "kind": {
                "$ref": "#/components/schemas/EnvironmentKind",
                "description": "An environment, or a preview of a branch."
              },
              "name": {
                "$ref": "#/components/schemas/EnvironmentName",
                "description": "Name, unique within the application; a preview's slug."
              },
              "resolved_generation": {
                "description": "Application revision of the last completely resolved target, not a\nconvergence guarantee.",
                "format": "int64",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "run_state": {
                "$ref": "#/components/schemas/RunState",
                "description": "Whether it runs its services, or is stopped until it is started or\ndeployed again."
              },
              "source": {
                "$ref": "#/components/schemas/EnvironmentSource",
                "description": "Where deployments come from; a preview's branch."
              },
              "sync": {
                "description": "Whether this environment opted into its application's sync (see\n[`Self::sync_state`]). Previews follow their application's setting.",
                "type": "boolean"
              },
              "synced": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SyncedHead"
                      }
                    ],
                    "description": "The branch head as of its last deployment, by sync or of its own\nbranch; absent before its first."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "telemetry": {
                "description": "Whether it is granted the daemon's telemetry, which its receiving\nservice, if it has one, then gets from every application. Previews\nnever are.",
                "type": "boolean"
              },
              "updated_at_ms": {
                "description": "Last update timestamp in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "id",
              "application_id",
              "name",
              "source",
              "delete_intent",
              "created_at_ms",
              "updated_at_ms"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Event": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "One immutable, sanitized fact about control-plane activity.",
            "properties": {
              "action_id": {
                "description": "Action execution identity.",
                "nullable": true,
                "type": "string"
              },
              "actor": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/EventActor"
                      }
                    ],
                    "description": "Who caused this event, including runtime actions of the operation it\nrequested; absent for the daemon's own work."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "application_id": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ApplicationId"
                      }
                    ],
                    "description": "Related application, including for events of its deleted environments."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "attempt": {
                "description": "Execution attempt for attempt-related events.",
                "format": "int64",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "created_at_ms": {
                "description": "Unix timestamp in milliseconds.",
                "format": "int64",
                "type": "integer"
              },
              "diagnostic": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Diagnostic"
                      }
                    ],
                    "description": "Safe, independently readable failure details."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "duration_ms": {
                "description": "Action duration in milliseconds.",
                "format": "int64",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "environment_id": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/EnvironmentId"
                      }
                    ],
                    "description": "Related environment; absent for application-wide events such as edits."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "error_code": {
                "description": "Stable failure classification, when this event records failure.",
                "nullable": true,
                "type": "string"
              },
              "generation": {
                "description": "Intent generation, when applicable.",
                "format": "int64",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "id": {
                "description": "Monotonic event identity used for pagination.",
                "format": "int64",
                "type": "integer"
              },
              "kind": {
                "description": "Stable event category, such as `operation_failed` or `health_changed`.",
                "type": "string"
              },
              "message": {
                "description": "Sanitized diagnostic or state description.",
                "nullable": true,
                "type": "string"
              },
              "operation_id": {
                "description": "Related operation, retained even if that operation is pruned.",
                "nullable": true,
                "type": "string"
              },
              "phase": {
                "description": "Execution phase at the time of the event.",
                "nullable": true,
                "type": "string"
              },
              "request_id": {
                "description": "Correlated API request identity.",
                "nullable": true,
                "type": "string"
              },
              "resource": {
                "description": "Related logical or Docker resource.",
                "nullable": true,
                "type": "string"
              },
              "retry": {
                "description": "One-based action request attempt.",
                "format": "int64",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "retry_delay_ms": {
                "description": "Scheduled delay before another request, in milliseconds.",
                "format": "int64",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "scope": {
                "$ref": "#/components/schemas/EventScope",
                "description": "Lifetime owner, independent of contextual environment references."
              }
            },
            "required": [
              "id",
              "kind",
              "created_at_ms"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_EventKinds": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "The distinct kinds of the retained events a caller may read, in name\norder, to filter history by one.",
            "properties": {
              "kinds": {
                "description": "Event kinds, such as `operation_succeeded`.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "kinds"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_HostConfiguration": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Effective host settings loaded by the daemon; no mutation endpoint exists.",
            "properties": {
              "groups": {
                "additionalProperties": {
                  "additionalProperties": {
                    "type": "string"
                  },
                  "type": "object"
                },
                "description": "Settings grouped by server, Docker, reconciliation and retention.",
                "type": "object"
              }
            },
            "required": [
              "groups"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_NotificationDestination": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "A notification destination; its URL is never returned.",
            "properties": {
              "created_at_ms": {
                "description": "Creation timestamp.",
                "format": "int64",
                "type": "integer"
              },
              "name": {
                "$ref": "#/components/schemas/DestinationName",
                "description": "Unique name."
              },
              "settings": {
                "$ref": "#/components/schemas/DestinationSettings",
                "description": "What it receives and how."
              },
              "updated_at_ms": {
                "description": "Last change timestamp.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "name",
              "settings",
              "created_at_ms",
              "updated_at_ms"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Operation": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Durable asynchronous operation returned by the API.",
            "properties": {
              "attempt": {
                "description": "Number of execution attempts started, including interrupted attempts.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "consecutive_failures": {
                "description": "Consecutive failed attempts since the last successful execution.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "created_at_ms": {
                "description": "Creation timestamp in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              },
              "environment_id": {
                "$ref": "#/components/schemas/EnvironmentId",
                "description": "Environment the operation changes. Records stored before environments\nexisted name it `application_id`; the value is the same."
              },
              "error_code": {
                "description": "Stable failure code, when present.",
                "nullable": true,
                "type": "string"
              },
              "error_message": {
                "description": "Safe failure message, when present.",
                "nullable": true,
                "type": "string"
              },
              "finished_at_ms": {
                "description": "Completion timestamp in Unix milliseconds.",
                "format": "int64",
                "nullable": true,
                "type": "integer"
              },
              "generation": {
                "description": "Intent revision this operation targets.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "id": {
                "description": "Stable operation identifier.",
                "type": "string"
              },
              "kind": {
                "$ref": "#/components/schemas/OperationKind",
                "description": "Requested change."
              },
              "phase": {
                "description": "Current execution phase, retained on failure.",
                "nullable": true,
                "type": "string"
              },
              "resource": {
                "description": "Logical or Docker resource currently being processed.",
                "nullable": true,
                "type": "string"
              },
              "started_at_ms": {
                "description": "Start timestamp in Unix milliseconds.",
                "format": "int64",
                "nullable": true,
                "type": "integer"
              },
              "state": {
                "$ref": "#/components/schemas/OperationState",
                "description": "Current lifecycle state."
              },
              "updated_at_ms": {
                "description": "Last update timestamp in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "id",
              "environment_id",
              "kind",
              "generation",
              "attempt",
              "state",
              "created_at_ms",
              "updated_at_ms"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Page_ApplicationSummary": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Cursor-paginated API response.",
            "properties": {
              "items": {
                "description": "Items in this page.",
                "items": {
                  "description": "Metadata returned when listing applications.",
                  "properties": {
                    "created_at_ms": {
                      "description": "Creation timestamp in Unix milliseconds.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "delete_intent": {
                      "description": "Whether deletion has been requested.",
                      "type": "boolean"
                    },
                    "environments": {
                      "description": "Environments in name order.",
                      "items": {
                        "$ref": "#/components/schemas/EnvironmentView"
                      },
                      "type": "array"
                    },
                    "generation": {
                      "description": "Current manifest or deletion-intent revision.",
                      "format": "int64",
                      "minimum": 0,
                      "type": "integer"
                    },
                    "id": {
                      "$ref": "#/components/schemas/ApplicationId",
                      "description": "Stable application identifier."
                    },
                    "name": {
                      "description": "Editable application name.",
                      "type": "string"
                    },
                    "updated_at_ms": {
                      "description": "Last update timestamp in Unix milliseconds.",
                      "format": "int64",
                      "type": "integer"
                    }
                  },
                  "required": [
                    "id",
                    "name",
                    "generation",
                    "delete_intent",
                    "created_at_ms",
                    "updated_at_ms",
                    "environments"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "next_cursor": {
                "description": "Cursor for the next page, when more items are available.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Page_AuditEvent": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Cursor-paginated API response.",
            "properties": {
              "items": {
                "description": "Items in this page.",
                "items": {
                  "description": "One audited API request. Accounts and credentials are copied when\nrecorded, so records outlive them. Request and response bodies are never\nrecorded.",
                  "properties": {
                    "action": {
                      "description": "Method and route template, e.g. `POST /api/v1/applications/{id}/deploy`,\nfollowed for account management by what it changed, e.g.\n`POST /api/v1/auth/manage revoke_credential \"0190…\"`. A record without a\ncaller reading `audit records missing before this one: N` marks where\nN records could not be written.",
                      "type": "string"
                    },
                    "application_id": {
                      "description": "Application the request addressed: by ID, or as the owner of the\nenvironment it addressed when that environment existed.",
                      "nullable": true,
                      "type": "string"
                    },
                    "created_at_ms": {
                      "description": "Unix milliseconds.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "credential_id": {
                      "description": "Credential that authenticated the request.",
                      "nullable": true,
                      "type": "string"
                    },
                    "credential_kind": {
                      "description": "`browser`, `cli`, or `token`.",
                      "nullable": true,
                      "type": "string"
                    },
                    "environment_id": {
                      "description": "Environment the request addressed by ID.",
                      "nullable": true,
                      "type": "string"
                    },
                    "id": {
                      "description": "Ordering cursor.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "operator": {
                      "oneOf": [
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/HostOperator"
                            }
                          ],
                          "description": "The host operator, when it made the request instead of an account."
                        },
                        {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "string"
                        }
                      ]
                    },
                    "outcome": {
                      "$ref": "#/components/schemas/AuditOutcome",
                      "description": "Whether the request was allowed."
                    },
                    "peer": {
                      "description": "Network address the daemon saw; absent over the Unix socket.",
                      "nullable": true,
                      "type": "string"
                    },
                    "permission": {
                      "description": "Permission a refused request lacked.",
                      "nullable": true,
                      "type": "string"
                    },
                    "request_id": {
                      "description": "Request ID, matching `x-request-id` and daemon logs.",
                      "nullable": true,
                      "type": "string"
                    },
                    "scoped": {
                      "description": "Whether that credential was limited to its own grants.",
                      "nullable": true,
                      "type": "boolean"
                    },
                    "status": {
                      "description": "HTTP response status.",
                      "format": "int32",
                      "minimum": 0,
                      "type": "integer"
                    },
                    "tailnet": {
                      "description": "Tailnet user or tags and node, for requests through the daemon's\ntailnet node, e.g. `alice@example.com on laptop`.",
                      "nullable": true,
                      "type": "string"
                    },
                    "user_id": {
                      "description": "Account that made the request, or signed in by it.",
                      "nullable": true,
                      "type": "string"
                    },
                    "username": {
                      "description": "That account's name when recorded.",
                      "nullable": true,
                      "type": "string"
                    }
                  },
                  "required": [
                    "id",
                    "created_at_ms",
                    "action",
                    "outcome",
                    "status"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "next_cursor": {
                "description": "Cursor for the next page, when more items are available.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Page_BuildRecord": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Cursor-paginated API response.",
            "properties": {
              "items": {
                "description": "Items in this page.",
                "items": {
                  "description": "Durable source-preparation attempt or one-shot job run, independent of the executor.",
                  "properties": {
                    "commit": {
                      "description": "Resolved Git commit, when checkout completed.",
                      "nullable": true,
                      "type": "string"
                    },
                    "environment_id": {
                      "description": "Owning environment ID.",
                      "type": "string"
                    },
                    "exit_code": {
                      "description": "Job container exit code, when the job ran to completion.",
                      "format": "int64",
                      "nullable": true,
                      "type": "integer"
                    },
                    "finished_at_ms": {
                      "description": "Completion time, absent while running.",
                      "format": "int64",
                      "nullable": true,
                      "type": "integer"
                    },
                    "id": {
                      "description": "Monotonic build identifier.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "image_id": {
                      "description": "Built image identifier, when successful; for job runs, the image that ran.",
                      "nullable": true,
                      "type": "string"
                    },
                    "job": {
                      "description": "Logical job name when this record is a job run rather than a source build.",
                      "nullable": true,
                      "type": "string"
                    },
                    "log_bytes": {
                      "description": "Number of currently retained output bytes.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "log_expired": {
                      "description": "Output was removed by retention.",
                      "type": "boolean"
                    },
                    "log_truncated": {
                      "description": "Output exceeded the configured per-build cap.",
                      "type": "boolean"
                    },
                    "operation_id": {
                      "description": "Source operation ID, retained even after operation pruning.",
                      "type": "string"
                    },
                    "service": {
                      "description": "Logical service name; for job runs, the service whose container the job reuses.",
                      "type": "string"
                    },
                    "source": {
                      "$ref": "#/components/schemas/ValidatedSource",
                      "description": "Requested build source."
                    },
                    "started_at_ms": {
                      "description": "Start time in Unix milliseconds.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "state": {
                      "$ref": "#/components/schemas/BuildState",
                      "description": "Current attempt outcome."
                    }
                  },
                  "required": [
                    "id",
                    "environment_id",
                    "operation_id",
                    "service",
                    "source",
                    "state",
                    "started_at_ms",
                    "log_bytes",
                    "log_truncated",
                    "log_expired"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "next_cursor": {
                "description": "Cursor for the next page, when more items are available.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Page_DeploymentView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Cursor-paginated API response.",
            "properties": {
              "items": {
                "description": "Items in this page.",
                "items": {
                  "description": "Durable deployment snapshot and execution summary.",
                  "properties": {
                    "application": {
                      "oneOf": [
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/NormalizedApplication"
                            }
                          ],
                          "description": "Rendered configuration; absent until a repository-backed manifest is fetched."
                        },
                        {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "string"
                        }
                      ]
                    },
                    "current_target": {
                      "description": "Whether this is the currently promoted runtime target.",
                      "type": "boolean"
                    },
                    "last_successful": {
                      "description": "Whether this is the most recent deployment to converge successfully.",
                      "type": "boolean"
                    },
                    "operation": {
                      "$ref": "#/components/schemas/Operation",
                      "description": "Execution ID also identifies this deployment."
                    },
                    "origin": {
                      "$ref": "#/components/schemas/DeploymentOrigin",
                      "description": "Where it came from: built from its environment's source, a promoted\nor redeployed release, or a local snapshot uploaded to a preview."
                    },
                    "release": {
                      "oneOf": [
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/ReleaseId"
                            }
                          ],
                          "description": "The release its prepared target runs; absent until prepared, and for\ndeployments that recorded none."
                        },
                        {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "string"
                        }
                      ]
                    },
                    "succeeded_at_ms": {
                      "description": "First successful convergence, retained during later drift repair.",
                      "format": "int64",
                      "nullable": true,
                      "type": "integer"
                    },
                    "template": {
                      "$ref": "#/components/schemas/ApplicationTemplate",
                      "description": "Manifest captured for this deployment, with references unresolved."
                    },
                    "variables": {
                      "additionalProperties": {
                        "$ref": "#/components/schemas/VariableValue"
                      },
                      "description": "Values its references rendered to, keyed by reference.",
                      "type": "object"
                    },
                    "warnings": {
                      "description": "Problems found while fetching the manifest that did not stop the\ndeployment, e.g. `manifest_connection_ignored`.",
                      "items": {
                        "$ref": "#/components/schemas/DiagnosticView"
                      },
                      "type": "array"
                    }
                  },
                  "required": [
                    "operation",
                    "template",
                    "variables",
                    "current_target",
                    "last_successful"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "next_cursor": {
                "description": "Cursor for the next page, when more items are available.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Page_Event": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Cursor-paginated API response.",
            "properties": {
              "items": {
                "description": "Items in this page.",
                "items": {
                  "description": "One immutable, sanitized fact about control-plane activity.",
                  "properties": {
                    "action_id": {
                      "description": "Action execution identity.",
                      "nullable": true,
                      "type": "string"
                    },
                    "actor": {
                      "oneOf": [
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/EventActor"
                            }
                          ],
                          "description": "Who caused this event, including runtime actions of the operation it\nrequested; absent for the daemon's own work."
                        },
                        {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "string"
                        }
                      ]
                    },
                    "application_id": {
                      "oneOf": [
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/ApplicationId"
                            }
                          ],
                          "description": "Related application, including for events of its deleted environments."
                        },
                        {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "string"
                        }
                      ]
                    },
                    "attempt": {
                      "description": "Execution attempt for attempt-related events.",
                      "format": "int64",
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "created_at_ms": {
                      "description": "Unix timestamp in milliseconds.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "diagnostic": {
                      "oneOf": [
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/Diagnostic"
                            }
                          ],
                          "description": "Safe, independently readable failure details."
                        },
                        {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "string"
                        }
                      ]
                    },
                    "duration_ms": {
                      "description": "Action duration in milliseconds.",
                      "format": "int64",
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "environment_id": {
                      "oneOf": [
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/EnvironmentId"
                            }
                          ],
                          "description": "Related environment; absent for application-wide events such as edits."
                        },
                        {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "string"
                        }
                      ]
                    },
                    "error_code": {
                      "description": "Stable failure classification, when this event records failure.",
                      "nullable": true,
                      "type": "string"
                    },
                    "generation": {
                      "description": "Intent generation, when applicable.",
                      "format": "int64",
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "id": {
                      "description": "Monotonic event identity used for pagination.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "kind": {
                      "description": "Stable event category, such as `operation_failed` or `health_changed`.",
                      "type": "string"
                    },
                    "message": {
                      "description": "Sanitized diagnostic or state description.",
                      "nullable": true,
                      "type": "string"
                    },
                    "operation_id": {
                      "description": "Related operation, retained even if that operation is pruned.",
                      "nullable": true,
                      "type": "string"
                    },
                    "phase": {
                      "description": "Execution phase at the time of the event.",
                      "nullable": true,
                      "type": "string"
                    },
                    "request_id": {
                      "description": "Correlated API request identity.",
                      "nullable": true,
                      "type": "string"
                    },
                    "resource": {
                      "description": "Related logical or Docker resource.",
                      "nullable": true,
                      "type": "string"
                    },
                    "retry": {
                      "description": "One-based action request attempt.",
                      "format": "int64",
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "retry_delay_ms": {
                      "description": "Scheduled delay before another request, in milliseconds.",
                      "format": "int64",
                      "minimum": 0,
                      "nullable": true,
                      "type": "integer"
                    },
                    "scope": {
                      "$ref": "#/components/schemas/EventScope",
                      "description": "Lifetime owner, independent of contextual environment references."
                    }
                  },
                  "required": [
                    "id",
                    "kind",
                    "created_at_ms"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "next_cursor": {
                "description": "Cursor for the next page, when more items are available.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Page_NotificationDelivery": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Cursor-paginated API response.",
            "properties": {
              "items": {
                "description": "Items in this page.",
                "items": {
                  "description": "A retained notification delivery; credentials and receiver response bodies are excluded.",
                  "properties": {
                    "attempts": {
                      "description": "Number of delivery requests attempted.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "category": {
                      "$ref": "#/components/schemas/NotificationCategory",
                      "description": "Notification category, including recovery."
                    },
                    "created_at_ms": {
                      "description": "Creation timestamp.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "destination": {
                      "description": "Name of the destination it was sent to, kept after the destination is deleted.",
                      "type": "string"
                    },
                    "event_id": {
                      "description": "Source event.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "id": {
                      "description": "Stable delivery identity, preserved through retries.",
                      "type": "string"
                    },
                    "last_error": {
                      "description": "Safe delivery failure summary.",
                      "nullable": true,
                      "type": "string"
                    },
                    "next_attempt_ms": {
                      "description": "Scheduled attempt timestamp.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "state": {
                      "$ref": "#/components/schemas/DeliveryState",
                      "description": "Current delivery lifecycle state."
                    },
                    "subject": {
                      "$ref": "#/components/schemas/NotificationSubject",
                      "description": "What it is about, by name, as of when it was queued."
                    },
                    "updated_at_ms": {
                      "description": "Last update timestamp.",
                      "format": "int64",
                      "type": "integer"
                    }
                  },
                  "required": [
                    "id",
                    "event_id",
                    "destination",
                    "category",
                    "state",
                    "attempts",
                    "created_at_ms",
                    "next_attempt_ms",
                    "updated_at_ms"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "next_cursor": {
                "description": "Cursor for the next page, when more items are available.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Page_Operation": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Cursor-paginated API response.",
            "properties": {
              "items": {
                "description": "Items in this page.",
                "items": {
                  "description": "Durable asynchronous operation returned by the API.",
                  "properties": {
                    "attempt": {
                      "description": "Number of execution attempts started, including interrupted attempts.",
                      "format": "int64",
                      "minimum": 0,
                      "type": "integer"
                    },
                    "consecutive_failures": {
                      "description": "Consecutive failed attempts since the last successful execution.",
                      "format": "int64",
                      "minimum": 0,
                      "type": "integer"
                    },
                    "created_at_ms": {
                      "description": "Creation timestamp in Unix milliseconds.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "environment_id": {
                      "$ref": "#/components/schemas/EnvironmentId",
                      "description": "Environment the operation changes. Records stored before environments\nexisted name it `application_id`; the value is the same."
                    },
                    "error_code": {
                      "description": "Stable failure code, when present.",
                      "nullable": true,
                      "type": "string"
                    },
                    "error_message": {
                      "description": "Safe failure message, when present.",
                      "nullable": true,
                      "type": "string"
                    },
                    "finished_at_ms": {
                      "description": "Completion timestamp in Unix milliseconds.",
                      "format": "int64",
                      "nullable": true,
                      "type": "integer"
                    },
                    "generation": {
                      "description": "Intent revision this operation targets.",
                      "format": "int64",
                      "minimum": 0,
                      "type": "integer"
                    },
                    "id": {
                      "description": "Stable operation identifier.",
                      "type": "string"
                    },
                    "kind": {
                      "$ref": "#/components/schemas/OperationKind",
                      "description": "Requested change."
                    },
                    "phase": {
                      "description": "Current execution phase, retained on failure.",
                      "nullable": true,
                      "type": "string"
                    },
                    "resource": {
                      "description": "Logical or Docker resource currently being processed.",
                      "nullable": true,
                      "type": "string"
                    },
                    "started_at_ms": {
                      "description": "Start timestamp in Unix milliseconds.",
                      "format": "int64",
                      "nullable": true,
                      "type": "integer"
                    },
                    "state": {
                      "$ref": "#/components/schemas/OperationState",
                      "description": "Current lifecycle state."
                    },
                    "updated_at_ms": {
                      "description": "Last update timestamp in Unix milliseconds.",
                      "format": "int64",
                      "type": "integer"
                    }
                  },
                  "required": [
                    "id",
                    "environment_id",
                    "kind",
                    "generation",
                    "attempt",
                    "state",
                    "created_at_ms",
                    "updated_at_ms"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "next_cursor": {
                "description": "Cursor for the next page, when more items are available.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Page_ReleaseView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Cursor-paginated API response.",
            "properties": {
              "items": {
                "description": "Items in this page.",
                "items": {
                  "description": "An immutable release of an application, recorded by a successful\npreparation in one of its tracking environments. Environments whose\ndeployments prepared the same content share it.",
                  "properties": {
                    "application_id": {
                      "$ref": "#/components/schemas/ApplicationId",
                      "description": "Owning application."
                    },
                    "availability": {
                      "oneOf": [
                        {
                          "allOf": [
                            {
                              "$ref": "#/components/schemas/ReleaseAvailability"
                            }
                          ],
                          "description": "Whether its images are still present, so it can be deployed again;\nabsent when Docker could not be asked."
                        },
                        {
                          "enum": [
                            null
                          ],
                          "nullable": true,
                          "type": "string"
                        }
                      ]
                    },
                    "content_hash": {
                      "$ref": "#/components/schemas/Sha256Digest",
                      "description": "Hash of its content, unique within the application."
                    },
                    "created_at_ms": {
                      "description": "When it was first recorded, in Unix milliseconds.",
                      "format": "int64",
                      "type": "integer"
                    },
                    "fingerprint": {
                      "$ref": "#/components/schemas/BuildFingerprint",
                      "description": "The build inputs each service's image was prepared from."
                    },
                    "id": {
                      "$ref": "#/components/schemas/ReleaseId",
                      "description": "Stable release identifier."
                    },
                    "promotions": {
                      "description": "Every deployment that received it rather than building it, newest\nfirst: where it was promoted or deployed again.",
                      "items": {
                        "$ref": "#/components/schemas/ReleasePromotion"
                      },
                      "type": "array"
                    },
                    "release": {
                      "$ref": "#/components/schemas/Release",
                      "description": "Its manifest, commit, and each service's provenance and image."
                    }
                  },
                  "required": [
                    "id",
                    "application_id",
                    "content_hash",
                    "created_at_ms",
                    "release",
                    "fingerprint"
                  ],
                  "type": "object"
                },
                "type": "array"
              },
              "next_cursor": {
                "description": "Cursor for the next page, when more items are available.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "items"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_PlanView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Dry-run plan returned by the API.",
            "properties": {
              "application_id": {
                "description": "Stable application identifier.",
                "type": "string"
              },
              "changes": {
                "description": "Safe changes relative to the baseline.",
                "items": {
                  "$ref": "#/components/schemas/ManifestChange"
                },
                "type": "array"
              },
              "environments": {
                "description": "How saving the manifest would change the application's environments\n(creating, re-sourcing, opting into sync), and the environments it no\nlonger declares. Empty for release plans, and when nothing changes.",
                "items": {
                  "$ref": "#/components/schemas/EnvironmentChange"
                },
                "type": "array"
              },
              "generation": {
                "description": "Current intent revision; zero means the name is absent.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "identical": {
                "description": "Whether this specification matches the baseline: the latest deployment\nsnapshot of the selected environment (by default the application's only\none), or the saved configuration when none is selected and it has several.",
                "type": "boolean"
              },
              "operation": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Operation"
                      }
                    ],
                    "description": "Latest operation of the selected environment at the time of comparison."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "plan": {
                "$ref": "#/components/schemas/Plan",
                "description": "Ordered runtime plan for the selected environment; unresolved images are\nexplicit actions. Empty when no environment is selected."
              },
              "release": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/ReleasePlan"
                      }
                    ],
                    "description": "For a plan of a release (`env promote --plan`):\nthe release, its origin, new volumes, and unusable secrets."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "rollouts": {
                "description": "Effective rollout of each service, sorted by service name.",
                "items": {
                  "$ref": "#/components/schemas/ServiceRolloutView"
                },
                "type": "array"
              },
              "runtime_coverage": {
                "$ref": "#/components/schemas/RuntimeCoverage",
                "description": "How much of the runtime change `plan` lists."
              },
              "variables": {
                "additionalProperties": {
                  "$ref": "#/components/schemas/VariableValue"
                },
                "description": "The value of every variable in scope for the selected environment,\nkeyed by reference, e.g. `vars.domain`. Empty when none is selected.",
                "type": "object"
              }
            },
            "required": [
              "application_id",
              "generation",
              "identical",
              "changes",
              "plan",
              "rollouts"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_PreviewView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "A preview with its status, latest operation, hostnames, and branch state.",
            "properties": {
              "bounds": {
                "description": "How `[previews]` bounded its deployed target: services that run with\ndefault limits or fewer replicas than their manifest asks for.",
                "items": {
                  "$ref": "#/components/schemas/DiagnosticView"
                },
                "type": "array"
              },
              "branch": {
                "$ref": "#/components/schemas/BranchState",
                "description": "Where its branch is now."
              },
              "hostnames": {
                "description": "Hostnames its deployed target routes; none before its first deployment.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "latest_operation": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/Operation"
                      }
                    ],
                    "description": "Its newest operation, if any."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "origin": {
                "$ref": "#/components/schemas/DeploymentOrigin",
                "description": "Where what it runs came from, or, until a deployment was prepared,\nits latest deployment: built from its branch, or a local snapshot;\n`build` before its first. A failed redeployment of its branch keeps\na local snapshot it runs."
              },
              "preview": {
                "$ref": "#/components/schemas/EnvironmentView",
                "description": "The preview."
              },
              "status": {
                "$ref": "#/components/schemas/EnvironmentStatusView",
                "description": "Its reconciliation status."
              },
              "sync": {
                "$ref": "#/components/schemas/SyncState",
                "description": "Whether pushes to its branch redeploy it: `following` while its\napplication syncs and once it was deployed."
              }
            },
            "required": [
              "preview",
              "status",
              "hostnames",
              "branch",
              "sync"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_ReadinessStatus": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Deployment prerequisites. Configuration APIs remain available when false.",
            "properties": {
              "database": {
                "$ref": "#/components/schemas/DependencyStatus",
                "description": "`SQLite` can execute a read query."
              },
              "docker": {
                "$ref": "#/components/schemas/DependencyStatus",
                "description": "Docker answers its ping endpoint."
              },
              "ingress": {
                "$ref": "#/components/schemas/IngressStatus",
                "description": "Managed ingress is independent of core deployment dependencies."
              },
              "ready": {
                "description": "All deployment dependencies are ready.",
                "type": "boolean"
              },
              "swarm": {
                "$ref": "#/components/schemas/DependencyStatus",
                "description": "Docker is a compatible single-node Swarm manager."
              }
            },
            "required": [
              "ready",
              "database",
              "docker",
              "swarm"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_RenamedApplication": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Completed metadata-only rename.",
            "properties": {
              "application_id": {
                "description": "Unchanged application identity.",
                "type": "string"
              },
              "generation": {
                "description": "Revision after renaming.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "name": {
                "description": "Current application name.",
                "type": "string"
              }
            },
            "required": [
              "application_id",
              "name",
              "generation"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_SavedApplication": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Saved application configuration, optionally accompanied by a deployment.",
            "properties": {
              "application_id": {
                "description": "Stable application identity.",
                "type": "string"
              },
              "generation": {
                "description": "Saved configuration revision.",
                "format": "int64",
                "minimum": 0,
                "type": "integer"
              },
              "operation_id": {
                "description": "The first deployment operation, only when explicitly requested; see\n`operation_ids` for applications that declare several environments.",
                "nullable": true,
                "type": "string"
              },
              "operation_ids": {
                "description": "Every deployment operation started, one per environment: the\napplication's only one, or each declared environment that builds.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              }
            },
            "required": [
              "application_id",
              "generation"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_SecretKeyRecovery": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Metadata-only result of lost-key recovery. Never rotates application credentials.",
            "properties": {
              "affected_applications": {
                "description": "Applications whose stored values were discarded.",
                "format": "int64",
                "type": "integer"
              },
              "affected_environments": {
                "description": "Environments whose generated values were discarded.",
                "format": "int64",
                "type": "integer"
              },
              "affected_secrets": {
                "description": "Logical secrets, stored and generated, whose values were discarded.",
                "format": "int64",
                "type": "integer"
              },
              "deleted_destinations": {
                "description": "Notification destinations deleted, since their URLs were encrypted.",
                "format": "int64",
                "type": "integer"
              },
              "discarded_versions": {
                "description": "Stored and generated versions discarded; already unavailable versions\nare excluded.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "affected_environments",
              "affected_secrets",
              "discarded_versions"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_SecretMetadata": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Metadata only: secret values are never returned.",
            "properties": {
              "deleting": {
                "description": "Cleanup has started; retry deletion to finish it. Replacement is disabled.",
                "type": "boolean"
              },
              "generation": {
                "description": "Current version, used for optimistic writes.",
                "format": "int64",
                "type": "integer"
              },
              "name": {
                "description": "Logical name.",
                "type": "string"
              },
              "unavailable": {
                "description": "The current value was discarded by lost-key recovery; supply a new version.",
                "type": "boolean"
              },
              "updated_at_ms": {
                "description": "Last update time in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              }
            },
            "required": [
              "name",
              "generation",
              "updated_at_ms"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_StoredSecret": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "allOf": [
              {
                "$ref": "#/components/schemas/SecretMetadata",
                "description": "Version metadata."
              },
              {
                "properties": {
                  "access": {
                    "$ref": "#/components/schemas/SecretAccess",
                    "description": "Who may mount the secret."
                  }
                },
                "required": [
                  "access"
                ],
                "type": "object"
              }
            ],
            "description": "A manually set secret in an application's store: its metadata and access,\nnever its value."
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_SystemChecks": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Installation health from `GET /api/v1/system/checks`, rendered by\n`piquelctl doctor` and the dashboard. Each check runs against the live\ninstallation with a bounded timeout.",
            "properties": {
              "checks": {
                "description": "One verdict per check, in a stable order.",
                "items": {
                  "$ref": "#/components/schemas/SystemCheck"
                },
                "type": "array"
              }
            },
            "required": [
              "checks"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_SystemStatus": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Current control-plane status.",
            "properties": {
              "api_version": {
                "description": "Version of the exposed API.",
                "type": "string"
              },
              "daemon_version": {
                "description": "Version of the running daemon binary.",
                "type": "string"
              },
              "dns": {
                "$ref": "#/components/schemas/DnsStatus",
                "description": "DNS providers and the certificates issued through them with DNS-01."
              },
              "images": {
                "$ref": "#/components/schemas/ImageStatus",
                "description": "The images this installation built, and their cleanup."
              },
              "instance_id": {
                "description": "Control-plane instance identifier.",
                "type": "string"
              },
              "previews": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/PreviewUsage"
                      }
                    ],
                    "description": "Previews against the `[previews]` limits; absent when they could not\nbe counted."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "snapshots": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/SnapshotLimits"
                      }
                    ],
                    "description": "How large a local snapshot may be; absent from older daemons."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "status": {
                "description": "Machine-readable service status.",
                "type": "string"
              },
              "tailscale": {
                "$ref": "#/components/schemas/TailnetStatus",
                "description": "Dedicated tailnet node serving the website over HTTPS."
              },
              "telemetry": {
                "$ref": "#/components/schemas/TelemetryStatus",
                "description": "Export of the daemon's own telemetry over OTLP."
              }
            },
            "required": [
              "status",
              "api_version",
              "daemon_version",
              "instance_id"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Vec_DeletedPreview": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "items": {
              "description": "A preview whose deletion was accepted.",
              "properties": {
                "operation": {
                  "$ref": "#/components/schemas/AcceptedOperation",
                  "description": "Its deletion."
                },
                "preview": {
                  "$ref": "#/components/schemas/EnvironmentView",
                  "description": "The preview."
                }
              },
              "required": [
                "preview",
                "operation"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Vec_NotificationDestination": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "items": {
              "description": "A notification destination; its URL is never returned.",
              "properties": {
                "created_at_ms": {
                  "description": "Creation timestamp.",
                  "format": "int64",
                  "type": "integer"
                },
                "name": {
                  "$ref": "#/components/schemas/DestinationName",
                  "description": "Unique name."
                },
                "settings": {
                  "$ref": "#/components/schemas/DestinationSettings",
                  "description": "What it receives and how."
                },
                "updated_at_ms": {
                  "description": "Last change timestamp.",
                  "format": "int64",
                  "type": "integer"
                }
              },
              "required": [
                "name",
                "settings",
                "created_at_ms",
                "updated_at_ms"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Vec_PreviewView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "items": {
              "description": "A preview with its status, latest operation, hostnames, and branch state.",
              "properties": {
                "bounds": {
                  "description": "How `[previews]` bounded its deployed target: services that run with\ndefault limits or fewer replicas than their manifest asks for.",
                  "items": {
                    "$ref": "#/components/schemas/DiagnosticView"
                  },
                  "type": "array"
                },
                "branch": {
                  "$ref": "#/components/schemas/BranchState",
                  "description": "Where its branch is now."
                },
                "hostnames": {
                  "description": "Hostnames its deployed target routes; none before its first deployment.",
                  "items": {
                    "type": "string"
                  },
                  "type": "array"
                },
                "latest_operation": {
                  "oneOf": [
                    {
                      "allOf": [
                        {
                          "$ref": "#/components/schemas/Operation"
                        }
                      ],
                      "description": "Its newest operation, if any."
                    },
                    {
                      "enum": [
                        null
                      ],
                      "nullable": true,
                      "type": "string"
                    }
                  ]
                },
                "origin": {
                  "$ref": "#/components/schemas/DeploymentOrigin",
                  "description": "Where what it runs came from, or, until a deployment was prepared,\nits latest deployment: built from its branch, or a local snapshot;\n`build` before its first. A failed redeployment of its branch keeps\na local snapshot it runs."
                },
                "preview": {
                  "$ref": "#/components/schemas/EnvironmentView",
                  "description": "The preview."
                },
                "status": {
                  "$ref": "#/components/schemas/EnvironmentStatusView",
                  "description": "Its reconciliation status."
                },
                "sync": {
                  "$ref": "#/components/schemas/SyncState",
                  "description": "Whether pushes to its branch redeploy it: `following` while its\napplication syncs and once it was deployed."
                }
              },
              "required": [
                "preview",
                "status",
                "hostnames",
                "branch",
                "sync"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Vec_SecretMetadata": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "items": {
              "description": "Metadata only: secret values are never returned.",
              "properties": {
                "deleting": {
                  "description": "Cleanup has started; retry deletion to finish it. Replacement is disabled.",
                  "type": "boolean"
                },
                "generation": {
                  "description": "Current version, used for optimistic writes.",
                  "format": "int64",
                  "type": "integer"
                },
                "name": {
                  "description": "Logical name.",
                  "type": "string"
                },
                "unavailable": {
                  "description": "The current value was discarded by lost-key recovery; supply a new version.",
                  "type": "boolean"
                },
                "updated_at_ms": {
                  "description": "Last update time in Unix milliseconds.",
                  "format": "int64",
                  "type": "integer"
                }
              },
              "required": [
                "name",
                "generation",
                "updated_at_ms"
              ],
              "type": "object"
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_Vec_StoredSecret": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "items": {
              "allOf": [
                {
                  "$ref": "#/components/schemas/SecretMetadata",
                  "description": "Version metadata."
                },
                {
                  "properties": {
                    "access": {
                      "$ref": "#/components/schemas/SecretAccess",
                      "description": "Who may mount the secret."
                    }
                  },
                  "required": [
                    "access"
                  ],
                  "type": "object"
                }
              ],
              "description": "A manually set secret in an application's store: its metadata and access,\nnever its value."
            },
            "type": "array"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_WebhookSecret": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "A newly generated webhook secret. It is shown only in this response.",
            "properties": {
              "created_at_ms": {
                "description": "When it was generated, in Unix milliseconds.",
                "format": "int64",
                "type": "integer"
              },
              "secret": {
                "description": "Secret to configure in GitHub, which signs each delivery with it.",
                "type": "string"
              },
              "url": {
                "description": "Payload URL to configure in GitHub, when exposed.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "secret",
              "created_at_ms"
            ],
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_WebhookView": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "description": "Where GitHub sends an application's push webhooks, and its secret.",
            "properties": {
              "secret_created_at_ms": {
                "description": "When the current secret was generated; absent until one is.",
                "format": "int64",
                "nullable": true,
                "type": "integer"
              },
              "url": {
                "description": "Payload URL to configure in GitHub; absent until the daemon sets\n`ingress.webhook_hostname`.",
                "nullable": true,
                "type": "string"
              }
            },
            "type": "object"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "Envelope_bool": {
        "description": "Successful API response envelope.",
        "properties": {
          "data": {
            "type": "boolean"
          }
        },
        "required": [
          "data"
        ],
        "type": "object"
      },
      "EnvironmentAccess": {
        "description": "The environments that may mount a stored secret.",
        "oneOf": [
          {
            "description": "Every environment of the application, including ones created later.",
            "enum": [
              "all"
            ],
            "type": "string"
          },
          {
            "description": "Only these environments, by ID: renaming one keeps its access, and\ndeleting one removes it from the list.",
            "properties": {
              "only": {
                "description": "Only these environments, by ID: renaming one keeps its access, and\ndeleting one removes it from the list.",
                "items": {
                  "$ref": "#/components/schemas/EnvironmentId"
                },
                "type": "array",
                "uniqueItems": true
              }
            },
            "required": [
              "only"
            ],
            "type": "object"
          }
        ]
      },
      "EnvironmentBranchRequest": {
        "additionalProperties": false,
        "description": "Points an environment of a repository-backed application at another\nbranch, or pins or unpins its commit, conditioned on the inspected\napplication revision.",
        "properties": {
          "branch": {
            "description": "Branch of the application's manifest repository to follow.",
            "type": "string"
          },
          "commit": {
            "description": "Full commit to pin instead of following the branch head.",
            "nullable": true,
            "type": "string"
          },
          "expected_generation": {
            "description": "Current application revision, required unless explicitly forced.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          }
        },
        "required": [
          "branch"
        ],
        "type": "object"
      },
      "EnvironmentChange": {
        "description": "A difference between the environments a manifest declares and the\napplication's environments, as converging them would resolve it, or, for\n`undeclared`, report it.",
        "oneOf": [
          {
            "description": "The environment is created, not deployed.",
            "properties": {
              "change": {
                "enum": [
                  "create"
                ],
                "type": "string"
              },
              "environment": {
                "$ref": "#/components/schemas/EnvironmentName",
                "description": "The declared environment."
              },
              "source": {
                "$ref": "#/components/schemas/DeclaredSource",
                "description": "Where it deploys from."
              },
              "sync": {
                "description": "Whether pushes deploy it, from its first deployment.",
                "type": "boolean"
              }
            },
            "required": [
              "environment",
              "source",
              "sync",
              "change"
            ],
            "type": "object"
          },
          {
            "description": "The environment deploys from `to` instead of `from`; nothing is\ndeployed. Waits while a deployment of it runs when it becomes promoted.",
            "properties": {
              "change": {
                "enum": [
                  "source"
                ],
                "type": "string"
              },
              "environment": {
                "$ref": "#/components/schemas/EnvironmentName",
                "description": "The declared environment."
              },
              "from": {
                "$ref": "#/components/schemas/DeclaredSource",
                "description": "Where it deploys from now."
              },
              "to": {
                "$ref": "#/components/schemas/DeclaredSource",
                "description": "Where it is declared to deploy from."
              }
            },
            "required": [
              "environment",
              "from",
              "to",
              "change"
            ],
            "type": "object"
          },
          {
            "description": "Pushes start or stop deploying the environment.",
            "properties": {
              "change": {
                "enum": [
                  "sync"
                ],
                "type": "string"
              },
              "environment": {
                "$ref": "#/components/schemas/EnvironmentName",
                "description": "The declared environment."
              },
              "sync": {
                "description": "Whether pushes deploy it.",
                "type": "boolean"
              }
            },
            "required": [
              "environment",
              "sync",
              "change"
            ],
            "type": "object"
          },
          {
            "description": "The manifest no longer declares the environment. It keeps running,\nwith its volumes and secrets, until deleted explicitly.",
            "properties": {
              "change": {
                "enum": [
                  "undeclared"
                ],
                "type": "string"
              },
              "environment": {
                "$ref": "#/components/schemas/EnvironmentName",
                "description": "The environment."
              }
            },
            "required": [
              "environment",
              "change"
            ],
            "type": "object"
          }
        ]
      },
      "EnvironmentConfig": {
        "additionalProperties": false,
        "description": "Declares an environment and where it deploys from. Without\n`promote_from`, the environment builds its own manifest: the saved one, or\na branch of the `spec.manifest` repository. A block that sets none of\n`branch`, `commit`, `promote_from` and `sync` leaves an existing\nenvironment's source as it is, unless the previous manifest set one of\nthem: removing them returns the environment to the default source.",
        "properties": {
          "branch": {
            "default": null,
            "description": "Branch of the manifest repository the environment deploys. By\ndefault, the branch `spec.manifest` names. Needs `spec.manifest`.",
            "nullable": true,
            "type": "string"
          },
          "commit": {
            "default": null,
            "description": "Full commit the environment deploys instead of its branch's head.\nWithout `branch`, by default the commit `spec.manifest` pins. Needs\n`spec.manifest`, and excludes `sync`.",
            "nullable": true,
            "type": "string"
          },
          "promote_from": {
            "default": null,
            "description": "Another environment whose releases this one receives with\n`piquelctl env promote`, instead of building. It excludes `branch`,\n`commit` and `sync`, and can't lead back to this environment.",
            "nullable": true,
            "type": "string"
          },
          "rollback": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Rollback"
                  }
                ],
                "description": "What happens when a rollout fails: `automatic` restores the\nenvironment's last successful deployment, `manual` leaves it degraded\nuntil someone acts. By default `automatic` for promoted environments\nand `manual` for the others."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "sync": {
            "default": null,
            "description": "Whether pushes to the environment's branch deploy it while\n`spec.manifest.sync` is on. Off when unset. `true` needs\n`spec.manifest`.",
            "nullable": true,
            "type": "boolean"
          },
          "variables": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Variable"
            },
            "default": {},
            "description": "The environment's value of the variable `<variable>`. It replaces the\n`[spec.variables]` default, or declares a variable without one.",
            "type": "object"
          },
          "visibility": {
            "default": "public",
            "oneOf": [
              {
                "$ref": "#/components/schemas/Visibility",
                "description": "The strictest visibility the environment's routes get. `public`\nrestricts nothing; `private` keeps every route on the tailnet."
              }
            ]
          }
        },
        "type": "object"
      },
      "EnvironmentDetailView": {
        "description": "Read-only environment detail composed at the API boundary.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/ApplicationView",
            "description": "Its application and shared desired configuration."
          },
          "diagnostics": {
            "description": "Bounded diagnostics from status, runtime, and the latest operation.",
            "items": {
              "$ref": "#/components/schemas/DiagnosticView"
            },
            "type": "array"
          },
          "environment": {
            "$ref": "#/components/schemas/EnvironmentView",
            "description": "The environment."
          },
          "latest_operation": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Operation"
                  }
                ],
                "description": "Most recent durable operation, when one exists."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "links": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/LinkReport"
                  }
                ],
                "description": "The private links the current runtime target takes part in. Absent\nfrom daemons that predate links."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "manifest": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ApplicationTemplate"
                  }
                ],
                "description": "The manifest this environment deploys, with references unresolved: the\nlast one fetched from its branch, the application's saved manifest, or\nthat of the release last promoted into it. Before a promoted\nenvironment's first promotion, that of the release its source runs,\nwhich promoting would deploy. Absent until a repository-backed\nenvironment's first fetch."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "observed": {
            "$ref": "#/components/schemas/ObservedApplicationView",
            "description": "Sanitized runtime observation."
          },
          "release": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReleaseId"
                  }
                ],
                "description": "The release the current runtime target runs; absent before a\ndeployment was prepared, and for deployments that recorded none."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "status": {
            "$ref": "#/components/schemas/EnvironmentStatusView",
            "description": "Durable environment lifecycle status."
          },
          "telemetry": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TelemetryReport"
                  }
                ],
                "description": "Whether it receives the daemon's telemetry. Absent from daemons that\npredate telemetry receivers."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "urls": {
            "description": "The URL of every route the current runtime target renders, and\nwhether each is ready; see [`RouteUrl::derive`]. Absent from daemons\nthat predate URL readiness, which is not the same as no routes.",
            "items": {
              "$ref": "#/components/schemas/RouteUrl"
            },
            "nullable": true,
            "type": "array"
          }
        },
        "required": [
          "environment",
          "application",
          "status",
          "observed",
          "diagnostics"
        ],
        "type": "object"
      },
      "EnvironmentId": {
        "description": "Stable internal environment identity, assigned by persistence as\n`env-…`. Docker names, ownership labels, secret encryption context, and\nhistory all derive from it. Environments migrated from\nsingle-environment applications, and the `production` environments of\napplications created before every environment got its own ID, keep\ntheir application's `app-…` ID.",
        "type": "string"
      },
      "EnvironmentKind": {
        "description": "What an environment is. Behaviour that differs between environments and\npreviews matches on this kind.",
        "oneOf": [
          {
            "description": "A long-lived environment, configured by `[spec.environments.<name>]`.",
            "properties": {
              "type": {
                "enum": [
                  "environment"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/Preview",
                "description": "A disposable deployment of a branch, configured by `[spec.previews]`.\nBoxed, so environment views stay small in the many futures that hold them."
              },
              {
                "properties": {
                  "type": {
                    "enum": [
                      "preview"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            ],
            "description": "A disposable deployment of a branch, configured by `[spec.previews]`.\nBoxed, so environment views stay small in the many futures that hold them."
          }
        ]
      },
      "EnvironmentName": {
        "description": "User-facing environment name, unique within its application.",
        "type": "string"
      },
      "EnvironmentRequest": {
        "additionalProperties": false,
        "description": "Renames an environment, conditioned on the inspected application revision.",
        "properties": {
          "expected_generation": {
            "description": "Current application revision, required unless explicitly forced.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "name": {
            "description": "Environment name, unique within the application.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "EnvironmentSource": {
        "description": "Where an environment's deployments come from.\n\nTracking environments build what they deploy. Those of an application\nwithout a manifest repository deploy its saved manifest. Those of a\nrepository-backed application each follow a branch of that repository:\nits URL and manifest path belong to the application, the branch to the\nenvironment. A promoted environment never builds or fetches: it only\nreceives releases promoted from another environment.",
        "oneOf": [
          {
            "description": "The application's saved manifest.",
            "properties": {
              "type": {
                "enum": [
                  "saved"
                ],
                "type": "string"
              }
            },
            "required": [
              "type"
            ],
            "type": "object"
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/TrackedBranch",
                "description": "The manifest file on a branch of the application's manifest repository."
              },
              {
                "properties": {
                  "type": {
                    "enum": [
                      "branch"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            ],
            "description": "The manifest file on a branch of the application's manifest repository."
          },
          {
            "allOf": [
              {
                "$ref": "#/components/schemas/PromotedFrom",
                "description": "Releases promoted from another environment of the application."
              },
              {
                "properties": {
                  "type": {
                    "enum": [
                      "promoted"
                    ],
                    "type": "string"
                  }
                },
                "required": [
                  "type"
                ],
                "type": "object"
              }
            ],
            "description": "Releases promoted from another environment of the application."
          }
        ]
      },
      "EnvironmentSourceRequest": {
        "additionalProperties": false,
        "description": "Makes an environment promoted from another, or returns a promoted one\nto tracking its application's saved manifest or the branch\n`spec.manifest` names, conditioned on the inspected application revision.",
        "properties": {
          "expected_generation": {
            "description": "Current application revision, required unless explicitly forced.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "promote_from": {
            "description": "ID of the environment to receive releases from; absent to track again.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "EnvironmentStatusView": {
        "description": "Current environment reconciliation status.",
        "properties": {
          "environment_id": {
            "description": "Stable environment identifier.",
            "type": "string"
          },
          "health_observed_at_ms": {
            "description": "When `runtime_health` was last observed, in Unix milliseconds; it is\nrefreshed on every health scan, so an old value means it is stale.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "message": {
            "description": "Optional safe status message.",
            "nullable": true,
            "type": "string"
          },
          "runtime_health": {
            "description": "Observed runtime health, independent of operation progress.",
            "nullable": true,
            "type": "string"
          },
          "state": {
            "$ref": "#/components/schemas/ApplicationState",
            "description": "Machine-readable lifecycle state."
          },
          "updated_at_ms": {
            "description": "Last update timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "environment_id",
          "state",
          "updated_at_ms"
        ],
        "type": "object"
      },
      "EnvironmentSyncRequest": {
        "additionalProperties": false,
        "description": "Opts one environment into or out of its application's sync.",
        "properties": {
          "enabled": {
            "description": "Whether pushes deploy it while its application syncs.",
            "type": "boolean"
          }
        },
        "required": [
          "enabled"
        ],
        "type": "object"
      },
      "EnvironmentTelemetryRequest": {
        "additionalProperties": false,
        "description": "Grants or revokes an environment's telemetry.",
        "properties": {
          "granted": {
            "description": "Whether its receiving service gets every application's telemetry.",
            "type": "boolean"
          }
        },
        "required": [
          "granted"
        ],
        "type": "object"
      },
      "EnvironmentValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Template"
            },
            "description": "New value; null explicitly clears an optional setting.",
            "type": "object"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "EnvironmentView": {
        "description": "A deployable unit of an application, with its own deployment history,\nstatus, volumes, generated secrets, routes, and Docker network.",
        "properties": {
          "application_id": {
            "$ref": "#/components/schemas/ApplicationId",
            "description": "Owning application."
          },
          "created_at_ms": {
            "description": "Creation timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "delete_intent": {
            "description": "Whether deletion has been requested.",
            "type": "boolean"
          },
          "id": {
            "$ref": "#/components/schemas/EnvironmentId",
            "description": "Stable environment identifier; runtime names derive from it."
          },
          "kind": {
            "$ref": "#/components/schemas/EnvironmentKind",
            "description": "An environment, or a preview of a branch."
          },
          "name": {
            "$ref": "#/components/schemas/EnvironmentName",
            "description": "Name, unique within the application; a preview's slug."
          },
          "resolved_generation": {
            "description": "Application revision of the last completely resolved target, not a\nconvergence guarantee.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "run_state": {
            "$ref": "#/components/schemas/RunState",
            "description": "Whether it runs its services, or is stopped until it is started or\ndeployed again."
          },
          "source": {
            "$ref": "#/components/schemas/EnvironmentSource",
            "description": "Where deployments come from; a preview's branch."
          },
          "sync": {
            "description": "Whether this environment opted into its application's sync (see\n[`Self::sync_state`]). Previews follow their application's setting.",
            "type": "boolean"
          },
          "synced": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SyncedHead"
                  }
                ],
                "description": "The branch head as of its last deployment, by sync or of its own\nbranch; absent before its first."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "telemetry": {
            "description": "Whether it is granted the daemon's telemetry, which its receiving\nservice, if it has one, then gets from every application. Previews\nnever are.",
            "type": "boolean"
          },
          "updated_at_ms": {
            "description": "Last update timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "application_id",
          "name",
          "source",
          "delete_intent",
          "created_at_ms",
          "updated_at_ms"
        ],
        "type": "object"
      },
      "ErrorBody": {
        "description": "Structured error returned by the API.",
        "properties": {
          "code": {
            "description": "Stable machine-readable error code.",
            "type": "string"
          },
          "details": {
            "description": "Optional structured error details."
          },
          "message": {
            "description": "Safe human-readable error message.",
            "type": "string"
          },
          "request_id": {
            "description": "Server-generated request identifier.",
            "type": "string"
          }
        },
        "required": [
          "code",
          "message",
          "request_id"
        ],
        "type": "object"
      },
      "Event": {
        "description": "One immutable, sanitized fact about control-plane activity.",
        "properties": {
          "action_id": {
            "description": "Action execution identity.",
            "nullable": true,
            "type": "string"
          },
          "actor": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EventActor"
                  }
                ],
                "description": "Who caused this event, including runtime actions of the operation it\nrequested; absent for the daemon's own work."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "application_id": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ApplicationId"
                  }
                ],
                "description": "Related application, including for events of its deleted environments."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "attempt": {
            "description": "Execution attempt for attempt-related events.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "created_at_ms": {
            "description": "Unix timestamp in milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "diagnostic": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Diagnostic"
                  }
                ],
                "description": "Safe, independently readable failure details."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "duration_ms": {
            "description": "Action duration in milliseconds.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "environment_id": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EnvironmentId"
                  }
                ],
                "description": "Related environment; absent for application-wide events such as edits."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "error_code": {
            "description": "Stable failure classification, when this event records failure.",
            "nullable": true,
            "type": "string"
          },
          "generation": {
            "description": "Intent generation, when applicable.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "id": {
            "description": "Monotonic event identity used for pagination.",
            "format": "int64",
            "type": "integer"
          },
          "kind": {
            "description": "Stable event category, such as `operation_failed` or `health_changed`.",
            "type": "string"
          },
          "message": {
            "description": "Sanitized diagnostic or state description.",
            "nullable": true,
            "type": "string"
          },
          "operation_id": {
            "description": "Related operation, retained even if that operation is pruned.",
            "nullable": true,
            "type": "string"
          },
          "phase": {
            "description": "Execution phase at the time of the event.",
            "nullable": true,
            "type": "string"
          },
          "request_id": {
            "description": "Correlated API request identity.",
            "nullable": true,
            "type": "string"
          },
          "resource": {
            "description": "Related logical or Docker resource.",
            "nullable": true,
            "type": "string"
          },
          "retry": {
            "description": "One-based action request attempt.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "retry_delay_ms": {
            "description": "Scheduled delay before another request, in milliseconds.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "scope": {
            "$ref": "#/components/schemas/EventScope",
            "description": "Lifetime owner, independent of contextual environment references."
          }
        },
        "required": [
          "id",
          "kind",
          "created_at_ms"
        ],
        "type": "object"
      },
      "EventActor": {
        "description": "Who caused an event: exactly one kind of actor.",
        "oneOf": [
          {
            "description": "An account's API request.",
            "properties": {
              "credential_id": {
                "description": "The credential that authenticated the request, when there was one.",
                "nullable": true,
                "type": "string"
              },
              "kind": {
                "enum": [
                  "account"
                ],
                "type": "string"
              },
              "user_id": {
                "description": "The account.",
                "type": "string"
              }
            },
            "required": [
              "user_id",
              "kind"
            ],
            "type": "object"
          },
          {
            "description": "The host operator, instead of an account.",
            "properties": {
              "kind": {
                "enum": [
                  "operator"
                ],
                "type": "string"
              },
              "operator": {
                "$ref": "#/components/schemas/HostOperator",
                "description": "Its Unix user."
              },
              "session_id": {
                "description": "The browser session it acted through, if any.",
                "nullable": true,
                "type": "string"
              }
            },
            "required": [
              "operator",
              "kind"
            ],
            "type": "object"
          },
          {
            "description": "An automated actor of the daemon, e.g. `sync:poll`.",
            "properties": {
              "actor": {
                "$ref": "#/components/schemas/SystemActor",
                "description": "Which one."
              },
              "kind": {
                "enum": [
                  "system"
                ],
                "type": "string"
              }
            },
            "required": [
              "actor",
              "kind"
            ],
            "type": "object"
          }
        ]
      },
      "EventKinds": {
        "description": "The distinct kinds of the retained events a caller may read, in name\norder, to filter history by one.",
        "properties": {
          "kinds": {
            "description": "Event kinds, such as `operation_succeeded`.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "kinds"
        ],
        "type": "object"
      },
      "EventScope": {
        "description": "Ownership of historical data, independent of its contextual application and environment.",
        "enum": [
          "application",
          "daemon"
        ],
        "type": "string"
      },
      "ExecRequest": {
        "additionalProperties": false,
        "description": "Starts a command in one running task of a deployed service.\n\nThe command inherits the task's environment, secrets, mounts and networks.\nHistory records the service, task and account, never the command.",
        "properties": {
          "command": {
            "description": "Program followed by its arguments.",
            "items": {
              "type": "string"
            },
            "minItems": 1,
            "type": "array"
          },
          "service": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Logical service whose running task executes the command."
          },
          "stdin": {
            "description": "Forward client input frames to the command's standard input.",
            "type": "boolean"
          },
          "tty": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TerminalSize"
                  }
                ],
                "description": "Allocate a pseudo-terminal of this initial size. Terminal output is\nreported as standard output."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "service",
          "command"
        ],
        "type": "object"
      },
      "Export": {
        "additionalProperties": false,
        "description": "A service of this application that other applications may reach over a\nprivate link, as `<service>.<application>`.",
        "properties": {
          "applications": {
            "description": "Applications whose environments may import the service: at least one,\nat most 64, each listed once.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "previews": {
            "default": false,
            "description": "Whether previews of those applications may import the service too.",
            "type": "boolean"
          },
          "service": {
            "description": "Service of this application to export, at most once.",
            "type": "string"
          }
        },
        "required": [
          "service",
          "applications"
        ],
        "type": "object"
      },
      "ExportsValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/Export"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "FailureCount": {
        "description": "Frequency of a diagnostic classification.",
        "properties": {
          "code": {
            "description": "Stable failure code.",
            "type": "string"
          },
          "count": {
            "description": "Recorded occurrences.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "code",
          "count"
        ],
        "type": "object"
      },
      "FileMode": {
        "description": "Octal file permissions from `0000` to `0777`, written as text such as\n`\"0444\"` or `\"644\"`.",
        "example": "0444",
        "pattern": "^0?[0-7]{3}$",
        "type": "string"
      },
      "FileSource": {
        "description": "Where a file's content comes from.",
        "oneOf": [
          {
            "description": "Path of a UTF-8 text file in the manifest's repository, relative to\nits root, read at the commit the manifest was read from. Only\nrepository-backed applications can use it.",
            "properties": {
              "path": {
                "description": "Path of a UTF-8 text file in the manifest's repository, relative to\nits root, read at the commit the manifest was read from. Only\nrepository-backed applications can use it.",
                "type": "string"
              }
            },
            "required": [
              "path"
            ],
            "type": "object"
          },
          {
            "description": "The file's content, inline.",
            "properties": {
              "content": {
                "description": "The file's content, inline.",
                "type": "string"
              }
            },
            "required": [
              "content"
            ],
            "type": "object"
          }
        ]
      },
      "FilesValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/ServiceFile"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "GeneratedSecretsValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/SecretDeclaration"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "GitBranch": {
        "description": "A valid Git branch name, such as the branch a preview deploys.",
        "type": "string"
      },
      "GitRepository": {
        "additionalProperties": false,
        "description": "A Git repository and the revision to check out. Git uses the host's\ncredentials.",
        "properties": {
          "branch": {
            "description": "Branch whose head is checked out when no commit is set.",
            "type": "string"
          },
          "commit": {
            "description": "Full commit hash to check out instead of the branch's head.",
            "nullable": true,
            "type": "string"
          },
          "url": {
            "description": "Clone URL or local path of the repository. It can't contain\ncredentials.",
            "type": "string"
          }
        },
        "required": [
          "url",
          "branch"
        ],
        "type": "object"
      },
      "Grant": {
        "description": "One grant on the wire: a permission on every application, or only on the\nlisted ones.\n\n```json\n{\"permission\": \"apps:deploy\", \"applications\": [\"app-0123abcd\"]}\n{\"permission\": \"system:read\"}\n```",
        "properties": {
          "applications": {
            "description": "Stable IDs of the applications this grant is limited to; absent for\nevery application. Installation-wide permissions never have one.",
            "items": {
              "$ref": "#/components/schemas/ApplicationId"
            },
            "nullable": true,
            "type": "array",
            "uniqueItems": true
          },
          "permission": {
            "$ref": "#/components/schemas/Permission",
            "description": "Granted permission."
          }
        },
        "required": [
          "permission"
        ],
        "type": "object"
      },
      "Grants": {
        "items": {
          "$ref": "#/components/schemas/Grant"
        },
        "type": "array"
      },
      "HealthCheck": {
        "description": "How Docker checks that a service's containers are healthy.",
        "oneOf": [
          {
            "description": "Send an HTTP `GET` to a port of the container. A 2xx or 3xx status\npasses. The image needs nothing for it.",
            "properties": {
              "interval_seconds": {
                "default": 10,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32",
                    "description": "Seconds between checks, from 1 to 3,600."
                  }
                ]
              },
              "path": {
                "default": "/health",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Template",
                    "description": "Absolute HTTP path to request."
                  }
                ]
              },
              "port": {
                "$ref": "#/components/schemas/Typed_u16",
                "description": "Container port to request, from 1 to 65535."
              },
              "retries": {
                "default": 3,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32",
                    "description": "Consecutive failed checks that make a container unhealthy, from 1\nto 100."
                  }
                ]
              },
              "start_period_seconds": {
                "default": 0,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32",
                    "description": "Seconds after a container starts during which failed checks don't\ncount, up to 3,600."
                  }
                ]
              },
              "timeout_seconds": {
                "default": 3,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32",
                    "description": "Seconds a check may take before it fails, from 1 to the interval."
                  }
                ]
              },
              "type": {
                "enum": [
                  "http"
                ],
                "type": "string"
              }
            },
            "required": [
              "port",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "Run a command in the container, without a shell. Exit code 0 passes.",
            "properties": {
              "command": {
                "description": "Command and arguments to run. It can't be empty.",
                "items": {
                  "$ref": "#/components/schemas/Template"
                },
                "type": "array"
              },
              "interval_seconds": {
                "default": 10,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32",
                    "description": "Seconds between checks, from 1 to 3,600."
                  }
                ]
              },
              "retries": {
                "default": 3,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32",
                    "description": "Consecutive failed checks that make a container unhealthy, from 1\nto 100."
                  }
                ]
              },
              "start_period_seconds": {
                "default": 0,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32",
                    "description": "Seconds after a container starts during which failed checks don't\ncount, up to 3,600."
                  }
                ]
              },
              "timeout_seconds": {
                "default": 3,
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32",
                    "description": "Seconds a check may take before it fails, from 1 to the interval."
                  }
                ]
              },
              "type": {
                "enum": [
                  "command"
                ],
                "type": "string"
              }
            },
            "required": [
              "command",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "HealthValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/HealthCheck"
                  }
                ],
                "description": "New value; null explicitly clears an optional setting."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "HostConfiguration": {
        "description": "Effective host settings loaded by the daemon; no mutation endpoint exists.",
        "properties": {
          "groups": {
            "additionalProperties": {
              "additionalProperties": {
                "type": "string"
              },
              "type": "object"
            },
            "description": "Settings grouped by server, Docker, reconciliation and retention.",
            "type": "object"
          }
        },
        "required": [
          "groups"
        ],
        "type": "object"
      },
      "HostOperator": {
        "description": "The host operator: root or the daemon's own Unix user, identified by the\nkernel over the daemon's Unix socket. It already controls the daemon's\ndatabase and keys, so piqueld lets it act as an administrator without an\naccount.",
        "properties": {
          "uid": {
            "description": "Unix user ID: 0 for root, otherwise the daemon's own user.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "uid"
        ],
        "type": "object"
      },
      "ImageReference": {
        "description": "A syntactically valid requested container image reference.\n\nThe schema accepts a lowercase repository path with an optional registry,\ntag, and content digest. Registry hostnames are case-insensitive and may\ninclude a valid TCP port. Repository paths follow Docker naming rules,\ntags use Docker's 128-character format, and digests use a lowercase\nalgorithm name with an encoded value of at least 32 characters.\nURLs, credentials, IPv6 registry authorities, whitespace, and query or\nfragment suffixes are rejected.",
        "pattern": "^(?=.{1,512}$)(?=.{1,255}(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?(?:@[a-z][a-z0-9]*(?:[_+.-][a-z][a-z0-9]*)*:[A-Za-z0-9=_-]{32,})?$)(?:(?:(?:[Ll][Oo][Cc][Aa][Ll][Hh][Oo][Ss][Tt]|[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?)+)(?::0*(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?|[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?:0*(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))/)?[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?(?:@[a-z][a-z0-9]*(?:[_+.-][a-z][a-z0-9]*)*:[A-Za-z0-9=_-]{32,})?$",
        "type": "string"
      },
      "ImageStatus": {
        "description": "The images this installation built, as of the last cleanup.",
        "properties": {
          "cleaned_at_ms": {
            "description": "When cleanup last ran, in Unix milliseconds; absent before it first\nran.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "images": {
            "description": "Built images still present after the last cleanup.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "reclaimed_bytes": {
            "description": "Total size of the images cleanup removed since the daemon started.\nLayers they shared with kept images stay, so less space may be freed.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "images",
          "reclaimed_bytes"
        ],
        "type": "object"
      },
      "ImmutableImage": {
        "description": "An immutable runtime image: a repository digest or a local SHA-256 image ID.\n\n```compile_fail\nuse piqueld_core::{ImageReference, ImmutableImage};\nlet runtime: ImmutableImage = ImageReference::parse(\"alpine:latest\").unwrap();\n```\n\nThe schema accepts either a [`RepositoryDigest`] or a local Docker image\nID written as `sha256:` followed by exactly 64 lowercase hexadecimal\ndigits. Mutable tags and unqualified repository names are rejected.",
        "pattern": "^(?:sha256:[0-9a-f]{64}|(?=.{1,512}$)(?=.{1,255}(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?@sha256:[0-9a-f]{64}$)(?:(?:(?:[Ll][Oo][Cc][Aa][Ll][Hh][Oo][Ss][Tt]|[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?)+)(?::0*(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?|[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?:0*(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))/)?[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?@sha256:[0-9a-f]{64})$",
        "type": "string"
      },
      "Import": {
        "additionalProperties": false,
        "description": "A service of another application this application reaches over a private\nlink, as `<service>.<application>`.",
        "properties": {
          "application": {
            "description": "Application exporting the service. It may be this application.",
            "type": "string"
          },
          "environment": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Template"
                  }
                ],
                "description": "Environment of that application to reach. By default, the one named\nlike the importing environment. It may reference variables, so\npreviews can reach e.g. `staging`."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "service": {
            "description": "Service that application exports, imported at most once.",
            "type": "string"
          }
        },
        "required": [
          "application",
          "service"
        ],
        "type": "object"
      },
      "ImportState": {
        "description": "Whether an import connects, and why not.",
        "enum": [
          "connected",
          "unavailable",
          "full"
        ],
        "type": "string"
      },
      "ImportStatus": {
        "additionalProperties": false,
        "description": "One import of an environment and whether it connects.",
        "properties": {
          "alias": {
            "description": "Name the service answers to: `<service>.<application>`.",
            "type": "string"
          },
          "application": {
            "$ref": "#/components/schemas/ApplicationName",
            "description": "Application exporting the service."
          },
          "environment": {
            "description": "Environment of the application the import reaches.",
            "type": "string"
          },
          "service": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Imported service."
          },
          "state": {
            "$ref": "#/components/schemas/ImportState",
            "description": "Whether it connects."
          }
        },
        "required": [
          "application",
          "service",
          "environment",
          "alias",
          "state"
        ],
        "type": "object"
      },
      "Importer": {
        "additionalProperties": false,
        "description": "An environment that reaches one of this environment's exported services.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/ApplicationName",
            "description": "Importing application."
          },
          "environment": {
            "description": "Importing environment, or a preview's slug.",
            "type": "string"
          },
          "service": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Exported service it reaches."
          }
        },
        "required": [
          "application",
          "environment",
          "service"
        ],
        "type": "object"
      },
      "ImportsValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/Import"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "IngressStatus": {
        "description": "Managed gateway health, per listener, and route diagnostics.",
        "properties": {
          "enabled": {
            "description": "Effective read-only daemon setting.",
            "type": "boolean"
          },
          "gateway": {
            "description": "Whether the gateway accepted its desired configuration (or is\nstopped), whatever one application's network does. Unlike `healthy`,\nanother application's failure does not clear it.",
            "type": "boolean"
          },
          "healthy": {
            "description": "Whether the gateway has accepted its desired configuration (or is\nstopped), and in tunnel mode whether the tunnel is connected. Public\nroutes depend only on this.",
            "type": "boolean"
          },
          "message": {
            "description": "Safe diagnostic, with detailed causes in daemon logs.",
            "type": "string"
          },
          "private": {
            "$ref": "#/components/schemas/PrivateIngressStatus",
            "description": "The private listener and the apps tailnet node carrying its traffic."
          },
          "public": {
            "$ref": "#/components/schemas/PublicIngressStatus",
            "description": "How public routes reach the gateway."
          },
          "routes": {
            "description": "Deployed routes and their latest independent HTTPS probes, limited to\napplications the caller can read.",
            "items": {
              "$ref": "#/components/schemas/RouteStatus"
            },
            "type": "array"
          }
        },
        "required": [
          "enabled",
          "healthy",
          "message",
          "routes"
        ],
        "type": "object"
      },
      "InvitationView": {
        "description": "Pending invitation metadata. Its secret is returned only at creation.",
        "properties": {
          "expires_at": {
            "description": "Expiry as Unix seconds.",
            "format": "int64",
            "type": "integer"
          },
          "grants": {
            "$ref": "#/components/schemas/Grants",
            "description": "Grants the created account receives; empty for enrollment links."
          },
          "id": {
            "description": "Revocation identifier.",
            "type": "string"
          },
          "issuer_id": {
            "description": "Issuing account.",
            "type": "string"
          },
          "user_id": {
            "description": "Existing account an enrollment link adds a passkey to; absent for\ninvitations that create an account.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "id",
          "issuer_id",
          "expires_at",
          "grants"
        ],
        "type": "object"
      },
      "Job": {
        "additionalProperties": false,
        "description": "A container that runs to completion during each deployment, such as a\ndatabase migration.",
        "properties": {
          "command": {
            "description": "Command the job runs, instead of its service's command and arguments.\nIt can't be empty.",
            "items": {
              "$ref": "#/components/schemas/Template"
            },
            "type": "array"
          },
          "environment": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Template"
            },
            "description": "The environment variable `<name>` of the job's container only, in\naddition to its service's. A name the service also sets is an error.",
            "type": "object"
          },
          "name": {
            "description": "Name of the job, unique in the application.",
            "type": "string"
          },
          "run": {
            "$ref": "#/components/schemas/JobRun",
            "description": "When the job runs. `before-rollout` runs it after every source is\nprepared, before the services roll out."
          },
          "secrets": {
            "description": "Secrets only the job's container mounts, in addition to its service's.\nA target the service already uses is an error.",
            "items": {
              "$ref": "#/components/schemas/SecretMount"
            },
            "type": "array"
          },
          "service": {
            "description": "Service whose image, environment, secrets, volumes, resource limits\nand network the job reuses. The job also waits for the service's\n`depends_on`.",
            "type": "string"
          },
          "stop_service": {
            "default": false,
            "description": "Whether the job's service stops before the job runs, once the job's\nstartup dependencies are ready, so its previous version never runs\nagainst what the job changes. The service starts again with the\nrollout, or with the previous deployment if a job fails.",
            "type": "boolean"
          },
          "timeout_seconds": {
            "default": 300,
            "description": "Seconds the job may run before the deployment fails, from 1 to 86,400.",
            "format": "int32",
            "maximum": 4294967295,
            "minimum": 0,
            "type": "integer"
          },
          "volume_access": {
            "default": "read-only",
            "oneOf": [
              {
                "$ref": "#/components/schemas/JobVolumeAccess",
                "description": "How the job mounts its service's volumes. `read-only` mounts every\nvolume read-only, so the job runs beside the services. `exclusive`\nkeeps the writable volumes writable, and stops every service mounting\nthem while the job runs."
              }
            ]
          }
        },
        "required": [
          "name",
          "service",
          "command",
          "run"
        ],
        "type": "object"
      },
      "JobName": {
        "description": "Logical one-shot job name.",
        "type": "string"
      },
      "JobRun": {
        "description": "Deployment point at which a job runs.",
        "enum": [
          "before-rollout"
        ],
        "type": "string"
      },
      "JobVolumeAccess": {
        "description": "How a job may use the volumes its service mounts.",
        "enum": [
          "read-only",
          "exclusive"
        ],
        "type": "string"
      },
      "JobsValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/Job"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "LastDeployment": {
        "description": "When a deployment was requested.",
        "properties": {
          "created_at_ms": {
            "description": "Request timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "id": {
            "description": "Deployment (and operation) identifier.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "created_at_ms"
        ],
        "type": "object"
      },
      "LinkReport": {
        "additionalProperties": false,
        "description": "The links an environment takes part in, as deployed.",
        "properties": {
          "importers": {
            "description": "Environments that reach its exported services.",
            "items": {
              "$ref": "#/components/schemas/Importer"
            },
            "type": "array"
          },
          "imports": {
            "description": "Each import of the environment and whether it connects.",
            "items": {
              "$ref": "#/components/schemas/ImportStatus"
            },
            "type": "array"
          }
        },
        "required": [
          "imports",
          "importers"
        ],
        "type": "object"
      },
      "LocalSnapshot": {
        "description": "A snapshot of a local worktree: a commit of its committed, uncommitted,\nand untracked files, except ignored ones, on top of its `HEAD`.",
        "properties": {
          "base": {
            "description": "The commit of the application's repository it was uploaded against:\nthe nearest ancestor of `HEAD` the repository has. Absent when the\nwhole history was uploaded.",
            "nullable": true,
            "type": "string"
          },
          "commit": {
            "description": "The snapshot commit, whose parent is the worktree's `HEAD`.",
            "type": "string"
          }
        },
        "required": [
          "commit"
        ],
        "type": "object"
      },
      "LogRecord": {
        "description": "One line of workload output with replica identity.",
        "properties": {
          "message": {
            "description": "Text with terminal control sequences removed.",
            "type": "string"
          },
          "service": {
            "description": "Logical service name.",
            "type": "string"
          },
          "stream": {
            "description": "stdout, stderr, or console.",
            "type": "string"
          },
          "task_id": {
            "description": "Swarm task identity.",
            "type": "string"
          },
          "timestamp": {
            "description": "Docker timestamp, when supplied.",
            "type": "string"
          }
        },
        "required": [
          "service",
          "task_id",
          "timestamp",
          "stream",
          "message"
        ],
        "type": "object"
      },
      "LogStream": {
        "description": "A selectable process output stream. Merged terminal output is only included without a filter.",
        "enum": [
          "stdout",
          "stderr"
        ],
        "type": "string"
      },
      "Manage": {
        "description": "Account management commands.\n\nEvery account may manage itself: its profile, passkeys, sessions, and tokens.\nChanging another account requires `accounts:manage` and that the caller\nholds every grant of that account; grants can only be handed out by\nsomeone who holds them. Passkeys are only added by their owner, so others\nreceive an enrollment link instead.",
        "oneOf": [
          {
            "description": "Edit an account's profile.",
            "properties": {
              "action": {
                "enum": [
                  "update_user"
                ],
                "type": "string"
              },
              "display_name": {
                "description": "Display name.",
                "type": "string"
              },
              "user_id": {
                "description": "Target account.",
                "type": "string"
              },
              "username": {
                "description": "Unique name.",
                "type": "string"
              }
            },
            "required": [
              "user_id",
              "username",
              "display_name",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Delete an account, unless no administrator with a passkey would remain.",
            "properties": {
              "action": {
                "enum": [
                  "delete_user"
                ],
                "type": "string"
              },
              "user_id": {
                "description": "Target account.",
                "type": "string"
              }
            },
            "required": [
              "user_id",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Remove an authenticator without revoking existing sessions.",
            "properties": {
              "action": {
                "enum": [
                  "remove_passkey"
                ],
                "type": "string"
              },
              "id": {
                "description": "Passkey identifier.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Rename an authenticator.",
            "properties": {
              "action": {
                "enum": [
                  "rename_passkey"
                ],
                "type": "string"
              },
              "id": {
                "description": "Passkey identifier.",
                "type": "string"
              },
              "name": {
                "description": "New label.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "name",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Revoke a session, API token, or host operator session.",
            "properties": {
              "action": {
                "enum": [
                  "revoke_credential"
                ],
                "type": "string"
              },
              "id": {
                "description": "Credential identifier.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Revoke all sessions and tokens belonging to an account.",
            "properties": {
              "action": {
                "enum": [
                  "revoke_all"
                ],
                "type": "string"
              },
              "user_id": {
                "description": "Target account.",
                "type": "string"
              }
            },
            "required": [
              "user_id",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Replace an account's grants.",
            "properties": {
              "action": {
                "enum": [
                  "set_grants"
                ],
                "type": "string"
              },
              "grants": {
                "$ref": "#/components/schemas/Grants",
                "description": "Complete new grant list."
              },
              "user_id": {
                "description": "Target account.",
                "type": "string"
              }
            },
            "required": [
              "user_id",
              "grants",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Create a transferable invitation, valid for 24 hours, whose account\nreceives `grants`.",
            "properties": {
              "action": {
                "enum": [
                  "create_invitation"
                ],
                "type": "string"
              },
              "grants": {
                "$ref": "#/components/schemas/Grants",
                "description": "Grants for the created account."
              }
            },
            "required": [
              "grants",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Create a single-use link, valid for 24 hours, that adds a passkey to an\nexisting account.",
            "properties": {
              "action": {
                "enum": [
                  "create_enrollment"
                ],
                "type": "string"
              },
              "user_id": {
                "description": "Target account.",
                "type": "string"
              }
            },
            "required": [
              "user_id",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Revoke a pending invitation.",
            "properties": {
              "action": {
                "enum": [
                  "revoke_invitation"
                ],
                "type": "string"
              },
              "id": {
                "description": "Invitation identifier.",
                "type": "string"
              }
            },
            "required": [
              "id",
              "action"
            ],
            "type": "object"
          },
          {
            "description": "Create an automation token for the caller's own account; callers supply\n90 days for the default. The token acts with `grants`, limited by the\naccount's current access, and cannot create credentials itself.",
            "properties": {
              "action": {
                "enum": [
                  "create_token"
                ],
                "type": "string"
              },
              "days": {
                "description": "Lifetime in days; absent means no expiry.",
                "format": "int32",
                "minimum": 0,
                "nullable": true,
                "type": "integer"
              },
              "grants": {
                "$ref": "#/components/schemas/Grants",
                "description": "Grants the token is limited to; the caller must hold them."
              },
              "name": {
                "description": "Token label.",
                "type": "string"
              },
              "tailnet": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/TailnetBinding"
                      }
                    ],
                    "description": "Tailnet user or tag the token is bound to; absent accepts it\nfrom anywhere."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              }
            },
            "required": [
              "grants",
              "name",
              "action"
            ],
            "type": "object"
          }
        ]
      },
      "Managed": {
        "description": "Management result. Secrets are disclosed only once.",
        "properties": {
          "invitation_url": {
            "description": "Newly created invitation or enrollment link.",
            "nullable": true,
            "type": "string"
          },
          "token": {
            "description": "Newly created automation token.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "ManifestChange": {
        "description": "A change to a manifest field. Environment and process values are redacted.",
        "properties": {
          "after": {
            "description": "Safe proposed value; absent for removals.",
            "nullable": true,
            "type": "string"
          },
          "before": {
            "description": "Safe previous value; absent for additions.",
            "nullable": true,
            "type": "string"
          },
          "field": {
            "description": "Logical manifest path.",
            "type": "string"
          }
        },
        "required": [
          "field"
        ],
        "type": "object"
      },
      "ManifestRepository": {
        "description": "The literal `\"self\"`, selecting the manifest's own repository.",
        "enum": [
          "self"
        ],
        "type": "string"
      },
      "MemoryValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u64"
                  }
                ],
                "description": "New value; null explicitly clears an optional setting."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "Metadata": {
        "additionalProperties": false,
        "description": "The application's identity.",
        "properties": {
          "name": {
            "description": "Name of the application. A manifest with another name applies to\nanother application, so rename one with `piquelctl app rename`.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "Mount": {
        "additionalProperties": false,
        "description": "A volume mounted into a service's containers.",
        "properties": {
          "read_only": {
            "default": false,
            "description": "Whether the containers mount the volume read-only. A writable mount\nmakes rollouts stop the old container before starting its\nreplacement.",
            "type": "boolean"
          },
          "target": {
            "description": "Absolute path of the mount in the container, unique in the service.\nIt can't be `/run/piqueld/probe` or `/run/piqueld/telemetry`, or a\npath inside them.",
            "type": "string"
          },
          "volume": {
            "description": "Name of a volume in `spec.volumes`.",
            "type": "string"
          }
        },
        "required": [
          "volume",
          "target"
        ],
        "type": "object"
      },
      "MountsValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/Mount"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "NormalizedApplication": {
        "description": "Canonical desired application plus persistence-assigned identity.\n\nConfiguration is immutable. Export input with [`Self::to_manifest`] and\nvalidate edits before constructing a replacement.\n\n```compile_fail\nfn bypass_validation(app: &mut piqueld_core::NormalizedApplication) {\n    app.spec.services.clear();\n}\n```",
        "properties": {
          "api_version": {
            "description": "API version string.",
            "type": "string"
          },
          "files": {
            "$ref": "#/components/schemas/RepositoryFiles",
            "description": "Contents of the repository files services mount, as captured."
          },
          "id": {
            "$ref": "#/components/schemas/ApplicationId",
            "description": "Stable application identity."
          },
          "kind": {
            "description": "Resource kind string.",
            "type": "string"
          },
          "metadata": {
            "$ref": "#/components/schemas/ValidatedMetadata",
            "description": "Canonical metadata."
          },
          "spec": {
            "$ref": "#/components/schemas/ValidatedSpec",
            "description": "Canonical resource specification."
          }
        },
        "required": [
          "id",
          "api_version",
          "kind",
          "metadata",
          "spec"
        ],
        "type": "object"
      },
      "NotificationCategory": {
        "description": "What a notification reports. Each destination chooses the categories it receives.",
        "enum": [
          "build_failures",
          "deployment_failures",
          "service_degradation",
          "daemon_failures",
          "recovery",
          "security",
          "daemon_started",
          "deployment_succeeded"
        ],
        "type": "string"
      },
      "NotificationDelivery": {
        "description": "A retained notification delivery; credentials and receiver response bodies are excluded.",
        "properties": {
          "attempts": {
            "description": "Number of delivery requests attempted.",
            "format": "int64",
            "type": "integer"
          },
          "category": {
            "$ref": "#/components/schemas/NotificationCategory",
            "description": "Notification category, including recovery."
          },
          "created_at_ms": {
            "description": "Creation timestamp.",
            "format": "int64",
            "type": "integer"
          },
          "destination": {
            "description": "Name of the destination it was sent to, kept after the destination is deleted.",
            "type": "string"
          },
          "event_id": {
            "description": "Source event.",
            "format": "int64",
            "type": "integer"
          },
          "id": {
            "description": "Stable delivery identity, preserved through retries.",
            "type": "string"
          },
          "last_error": {
            "description": "Safe delivery failure summary.",
            "nullable": true,
            "type": "string"
          },
          "next_attempt_ms": {
            "description": "Scheduled attempt timestamp.",
            "format": "int64",
            "type": "integer"
          },
          "state": {
            "$ref": "#/components/schemas/DeliveryState",
            "description": "Current delivery lifecycle state."
          },
          "subject": {
            "$ref": "#/components/schemas/NotificationSubject",
            "description": "What it is about, by name, as of when it was queued."
          },
          "updated_at_ms": {
            "description": "Last update timestamp.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "event_id",
          "destination",
          "category",
          "state",
          "attempts",
          "created_at_ms",
          "next_attempt_ms",
          "updated_at_ms"
        ],
        "type": "object"
      },
      "NotificationDestination": {
        "description": "A notification destination; its URL is never returned.",
        "properties": {
          "created_at_ms": {
            "description": "Creation timestamp.",
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "$ref": "#/components/schemas/DestinationName",
            "description": "Unique name."
          },
          "settings": {
            "$ref": "#/components/schemas/DestinationSettings",
            "description": "What it receives and how."
          },
          "updated_at_ms": {
            "description": "Last change timestamp.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "name",
          "settings",
          "created_at_ms",
          "updated_at_ms"
        ],
        "type": "object"
      },
      "NotificationMessage": {
        "description": "Text sent with every notification of one category, such as a Discord\nrole mention (`<@&ROLE_ID>`): 1–1000 characters.",
        "type": "string"
      },
      "NotificationSubject": {
        "description": "What a notification is about, by the names its application, environment\nor preview had when it was queued; empty for daemon notifications.",
        "properties": {
          "application": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ApplicationName"
                  }
                ],
                "description": "The application."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "branch": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/GitBranch"
                  }
                ],
                "description": "The branch the environment or preview deploys, if any."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "environment": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EnvironmentName"
                  }
                ],
                "description": "The environment, or the preview's slug."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "preview": {
            "default": false,
            "description": "Whether the environment is a preview.",
            "type": "boolean"
          }
        },
        "type": "object"
      },
      "ObservedApplicationView": {
        "description": "Bounded observed runtime state for one environment.",
        "properties": {
          "network_count": {
            "description": "Number of owned networks observed.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "services": {
            "description": "Observed services in desired service order.",
            "items": {
              "$ref": "#/components/schemas/ObservedServiceView"
            },
            "type": "array"
          },
          "volume_count": {
            "description": "Number of owned volumes observed.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "services",
          "network_count",
          "volume_count"
        ],
        "type": "object"
      },
      "ObservedServiceView": {
        "description": "Observed service state summarized for browser and operator clients.",
        "properties": {
          "convergence": {
            "$ref": "#/components/schemas/Convergence",
            "description": "Runtime convergence category."
          },
          "desired_replicas": {
            "description": "Desired replica count from the application manifest.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "diagnostics": {
            "description": "Sanitized task and service diagnostics.",
            "items": {
              "$ref": "#/components/schemas/DiagnosticView"
            },
            "type": "array"
          },
          "healthy_replicas": {
            "description": "Replicas that are running and healthy enough to serve traffic.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "image": {
            "description": "Observed immutable image reference, when the service exists.",
            "nullable": true,
            "type": "string"
          },
          "name": {
            "description": "Logical service name from the desired application.",
            "type": "string"
          },
          "observed_replicas": {
            "description": "Replicas currently reported by the runtime.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "name",
          "desired_replicas",
          "observed_replicas",
          "healthy_replicas",
          "convergence",
          "diagnostics"
        ],
        "type": "object"
      },
      "Operation": {
        "description": "Durable asynchronous operation returned by the API.",
        "properties": {
          "attempt": {
            "description": "Number of execution attempts started, including interrupted attempts.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "consecutive_failures": {
            "description": "Consecutive failed attempts since the last successful execution.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "created_at_ms": {
            "description": "Creation timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "environment_id": {
            "$ref": "#/components/schemas/EnvironmentId",
            "description": "Environment the operation changes. Records stored before environments\nexisted name it `application_id`; the value is the same."
          },
          "error_code": {
            "description": "Stable failure code, when present.",
            "nullable": true,
            "type": "string"
          },
          "error_message": {
            "description": "Safe failure message, when present.",
            "nullable": true,
            "type": "string"
          },
          "finished_at_ms": {
            "description": "Completion timestamp in Unix milliseconds.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "generation": {
            "description": "Intent revision this operation targets.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "id": {
            "description": "Stable operation identifier.",
            "type": "string"
          },
          "kind": {
            "$ref": "#/components/schemas/OperationKind",
            "description": "Requested change."
          },
          "phase": {
            "description": "Current execution phase, retained on failure.",
            "nullable": true,
            "type": "string"
          },
          "resource": {
            "description": "Logical or Docker resource currently being processed.",
            "nullable": true,
            "type": "string"
          },
          "started_at_ms": {
            "description": "Start timestamp in Unix milliseconds.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "state": {
            "$ref": "#/components/schemas/OperationState",
            "description": "Current lifecycle state."
          },
          "updated_at_ms": {
            "description": "Last update timestamp in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "id",
          "environment_id",
          "kind",
          "generation",
          "attempt",
          "state",
          "created_at_ms",
          "updated_at_ms"
        ],
        "type": "object"
      },
      "OperationKind": {
        "description": "Environment change being reconciled.\nDeployment operations retain the serialized kind `refresh` for compatibility\nwith existing stored records and API clients.",
        "enum": [
          "apply",
          "refresh",
          "delete"
        ],
        "type": "string"
      },
      "OperationState": {
        "description": "Lifecycle of one desired-state operation.",
        "enum": [
          "requested",
          "running",
          "succeeded",
          "failed",
          "cancelled",
          "superseded"
        ],
        "type": "string"
      },
      "OperatorLink": {
        "description": "One-time link issued only over the daemon's Unix socket to the host\noperator: an admin recovery link or a host operator sign-in link.",
        "properties": {
          "expires_at": {
            "description": "Unix seconds after which the link no longer works.",
            "format": "int64",
            "type": "integer"
          },
          "url": {
            "description": "Dashboard URL carrying the link's secret.",
            "type": "string"
          }
        },
        "required": [
          "url",
          "expires_at"
        ],
        "type": "object"
      },
      "OperatorSessionView": {
        "description": "A live host operator browser session, opened with a sign-in link.",
        "properties": {
          "expires_at": {
            "description": "Absolute expiry, as Unix seconds.",
            "format": "int64",
            "type": "integer"
          },
          "id": {
            "description": "Revocation identifier, like a credential's.",
            "type": "string"
          },
          "operator": {
            "$ref": "#/components/schemas/HostOperator",
            "description": "The Unix user that issued the sign-in link."
          }
        },
        "required": [
          "id",
          "operator",
          "expires_at"
        ],
        "type": "object"
      },
      "OperatorSignIn": {
        "description": "Redeems a host operator sign-in link.",
        "properties": {
          "secret": {
            "description": "Secret from the link's `#operator=` fragment.",
            "type": "string"
          }
        },
        "required": [
          "secret"
        ],
        "type": "object"
      },
      "OptionalStringValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "PasskeyView": {
        "description": "Named enrolled authenticator, excluding its internal credential data.",
        "properties": {
          "id": {
            "description": "Credential identifier.",
            "type": "string"
          },
          "name": {
            "description": "Editable label.",
            "type": "string"
          },
          "user_id": {
            "description": "Account identifier.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "user_id",
          "name"
        ],
        "type": "object"
      },
      "Permission": {
        "enum": [
          "admin",
          "apps:read",
          "apps:write",
          "apps:deploy",
          "apps:delete",
          "previews:deploy",
          "previews:delete",
          "secrets:write",
          "logs:read",
          "apps:exec",
          "events:read",
          "apps:create",
          "system:read",
          "system:operate",
          "accounts:manage",
          "audit:read",
          "telemetry:grant",
          "notifications:manage"
        ],
        "type": "string"
      },
      "Plan": {
        "additionalProperties": false,
        "description": "Ordered runtime plan and its diagnostics.",
        "properties": {
          "actions": {
            "description": "Ordered actions to execute.",
            "items": {
              "$ref": "#/components/schemas/PlanAction"
            },
            "type": "array"
          },
          "diagnostics": {
            "description": "Diagnostics discovered during planning.",
            "items": {
              "$ref": "#/components/schemas/PlanDiagnostic"
            },
            "type": "array"
          }
        },
        "required": [
          "actions",
          "diagnostics"
        ],
        "type": "object"
      },
      "PlanAction": {
        "additionalProperties": false,
        "description": "One action and its explanation in a runtime plan.",
        "properties": {
          "kind": {
            "$ref": "#/components/schemas/ActionKind",
            "description": "Action details."
          },
          "reason": {
            "$ref": "#/components/schemas/ActionReason",
            "description": "Why the action is present."
          }
        },
        "required": [
          "kind",
          "reason"
        ],
        "type": "object"
      },
      "PlanDiagnostic": {
        "additionalProperties": false,
        "description": "A planner diagnostic attached to a resource.",
        "properties": {
          "blocking": {
            "description": "Whether the diagnostic blocks execution.",
            "type": "boolean"
          },
          "code": {
            "description": "Stable machine-readable code.",
            "type": "string"
          },
          "message": {
            "description": "Safe human-readable explanation.",
            "type": "string"
          },
          "resource": {
            "description": "Resource associated with the diagnostic.",
            "type": "string"
          },
          "severity": {
            "$ref": "#/components/schemas/DiagnosticSeverity",
            "description": "Diagnostic severity."
          }
        },
        "required": [
          "code",
          "severity",
          "resource",
          "message",
          "blocking"
        ],
        "type": "object"
      },
      "PlanView": {
        "description": "Dry-run plan returned by the API.",
        "properties": {
          "application_id": {
            "description": "Stable application identifier.",
            "type": "string"
          },
          "changes": {
            "description": "Safe changes relative to the baseline.",
            "items": {
              "$ref": "#/components/schemas/ManifestChange"
            },
            "type": "array"
          },
          "environments": {
            "description": "How saving the manifest would change the application's environments\n(creating, re-sourcing, opting into sync), and the environments it no\nlonger declares. Empty for release plans, and when nothing changes.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentChange"
            },
            "type": "array"
          },
          "generation": {
            "description": "Current intent revision; zero means the name is absent.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "identical": {
            "description": "Whether this specification matches the baseline: the latest deployment\nsnapshot of the selected environment (by default the application's only\none), or the saved configuration when none is selected and it has several.",
            "type": "boolean"
          },
          "operation": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Operation"
                  }
                ],
                "description": "Latest operation of the selected environment at the time of comparison."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "plan": {
            "$ref": "#/components/schemas/Plan",
            "description": "Ordered runtime plan for the selected environment; unresolved images are\nexplicit actions. Empty when no environment is selected."
          },
          "release": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReleasePlan"
                  }
                ],
                "description": "For a plan of a release (`env promote --plan`):\nthe release, its origin, new volumes, and unusable secrets."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "rollouts": {
            "description": "Effective rollout of each service, sorted by service name.",
            "items": {
              "$ref": "#/components/schemas/ServiceRolloutView"
            },
            "type": "array"
          },
          "runtime_coverage": {
            "$ref": "#/components/schemas/RuntimeCoverage",
            "description": "How much of the runtime change `plan` lists."
          },
          "variables": {
            "additionalProperties": {
              "$ref": "#/components/schemas/VariableValue"
            },
            "description": "The value of every variable in scope for the selected environment,\nkeyed by reference, e.g. `vars.domain`. Empty when none is selected.",
            "type": "object"
          }
        },
        "required": [
          "application_id",
          "generation",
          "identical",
          "changes",
          "plan",
          "rollouts"
        ],
        "type": "object"
      },
      "Preview": {
        "description": "A preview's identity. Creation is idempotent on its branch and slot.",
        "properties": {
          "branch": {
            "$ref": "#/components/schemas/GitBranch",
            "description": "Branch of the application's manifest repository it deploys."
          },
          "slot": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PreviewSlot"
                  }
                ],
                "description": "Distinguishes several previews of one branch."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "slug": {
            "$ref": "#/components/schemas/PreviewSlug",
            "description": "DNS-safe identifier, `env.slug`, persisted when the preview is created."
          }
        },
        "required": [
          "branch",
          "slug"
        ],
        "type": "object"
      },
      "PreviewConfig": {
        "additionalProperties": false,
        "description": "Settings shared by every preview.",
        "properties": {
          "variables": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Variable"
            },
            "default": {},
            "description": "The previews' value of the variable `<variable>`. It replaces the\n`[spec.variables]` default, or declares a variable without one.",
            "type": "object"
          },
          "visibility": {
            "default": "private",
            "oneOf": [
              {
                "$ref": "#/components/schemas/Visibility",
                "description": "The strictest visibility preview routes get. `private` keeps every\nroute on the tailnet; `public` restricts nothing."
              }
            ]
          }
        },
        "type": "object"
      },
      "PreviewLimit": {
        "description": "A `[previews]` count limit.",
        "enum": [
          "per_application",
          "total"
        ],
        "type": "string"
      },
      "PreviewLimitReached": {
        "description": "Details of `preview_limit_reached`: the limit creating another preview\nwould exceed, and the previews it counts, so a caller can choose which\nto delete.",
        "properties": {
          "limit": {
            "$ref": "#/components/schemas/PreviewLimit",
            "description": "The limit reached."
          },
          "max": {
            "description": "Its configured value.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "previews": {
            "description": "The previews it counts that the caller may read, oldest deployment\nfirst.",
            "items": {
              "$ref": "#/components/schemas/CountedPreview"
            },
            "type": "array"
          }
        },
        "required": [
          "limit",
          "max",
          "previews"
        ],
        "type": "object"
      },
      "PreviewLimits": {
        "additionalProperties": false,
        "description": "How many previews may exist, and what each preview service may use.\n\nCounts are checked when a preview is created, so lowering one below the\ncurrent count keeps every existing preview running and only refuses new\nones. Resource bounds apply when a preview's manifest is rendered, so a\npreview picks up changed bounds on its next deployment. Environments are\nnever bounded.",
        "properties": {
          "default_cpu_millis": {
            "default": 500,
            "description": "CPU limit, in millicores, of preview services that set none.",
            "format": "int32",
            "maximum": 1048576,
            "minimum": 1,
            "type": "integer"
          },
          "default_memory_bytes": {
            "default": 536870912,
            "description": "Memory limit, in bytes, of preview services that set none.",
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": 1,
            "type": "integer"
          },
          "max_per_application": {
            "default": 10,
            "description": "Previews one application may have; creating more fails with\n`preview_limit_reached`. `0` refuses every new preview.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "max_replicas": {
            "default": 1,
            "description": "Most replicas a preview service runs; manifests asking for more are\ncapped with a warning.",
            "format": "int32",
            "maximum": 100,
            "minimum": 1,
            "type": "integer"
          },
          "max_total": {
            "default": 30,
            "description": "Previews the whole installation may have; creating more fails with\n`preview_limit_reached`. `0` refuses every new preview.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "PreviewSlot": {
        "description": "Distinguishes several previews of one branch, e.g. one per agent.",
        "type": "string"
      },
      "PreviewSlug": {
        "description": "DNS-safe identifier of a preview, derived once by\n[`PreviewSlug::derive`] and persisted. It is also the preview's name,\nso no environment of its application can share it.",
        "type": "string"
      },
      "PreviewUsage": {
        "description": "Previews against the daemon's `[previews]` limits.",
        "properties": {
          "applications": {
            "description": "Readable applications with previews, in name order.",
            "items": {
              "$ref": "#/components/schemas/ApplicationPreviews"
            },
            "type": "array"
          },
          "cpu_millis": {
            "description": "CPU limits in millicores, summed over the replicas of each preview's\ncurrent target (which the daemon keeps converging Docker to) that have\nboth limits.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "limits": {
            "$ref": "#/components/schemas/PreviewLimits",
            "description": "The configured limits."
          },
          "memory_bytes": {
            "description": "Memory limits in bytes, summed over the deployed replicas that have\nboth limits.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "total": {
            "description": "Previews of every application, including those being deleted. Above\n`limits.max_total` once the limit is lowered: existing previews keep\nrunning, new ones are refused.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "unlimited_replicas": {
            "description": "Deployed replicas missing a CPU or memory limit: deployed before the\nlimits applied, until their preview is redeployed.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "limits",
          "total",
          "applications",
          "cpu_millis",
          "memory_bytes"
        ],
        "type": "object"
      },
      "PreviewView": {
        "description": "A preview with its status, latest operation, hostnames, and branch state.",
        "properties": {
          "bounds": {
            "description": "How `[previews]` bounded its deployed target: services that run with\ndefault limits or fewer replicas than their manifest asks for.",
            "items": {
              "$ref": "#/components/schemas/DiagnosticView"
            },
            "type": "array"
          },
          "branch": {
            "$ref": "#/components/schemas/BranchState",
            "description": "Where its branch is now."
          },
          "hostnames": {
            "description": "Hostnames its deployed target routes; none before its first deployment.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "latest_operation": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Operation"
                  }
                ],
                "description": "Its newest operation, if any."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "origin": {
            "$ref": "#/components/schemas/DeploymentOrigin",
            "description": "Where what it runs came from, or, until a deployment was prepared,\nits latest deployment: built from its branch, or a local snapshot;\n`build` before its first. A failed redeployment of its branch keeps\na local snapshot it runs."
          },
          "preview": {
            "$ref": "#/components/schemas/EnvironmentView",
            "description": "The preview."
          },
          "status": {
            "$ref": "#/components/schemas/EnvironmentStatusView",
            "description": "Its reconciliation status."
          },
          "sync": {
            "$ref": "#/components/schemas/SyncState",
            "description": "Whether pushes to its branch redeploy it: `following` while its\napplication syncs and once it was deployed."
          }
        },
        "required": [
          "preview",
          "status",
          "hostnames",
          "branch",
          "sync"
        ],
        "type": "object"
      },
      "Principal": {
        "description": "Who a request acts as, serialized as a `user` or an `operator` field.",
        "oneOf": [
          {
            "description": "A piqueld account.",
            "properties": {
              "user": {
                "$ref": "#/components/schemas/User",
                "description": "A piqueld account."
              }
            },
            "required": [
              "user"
            ],
            "type": "object"
          },
          {
            "description": "The host operator, which is not an account.",
            "properties": {
              "operator": {
                "$ref": "#/components/schemas/HostOperator",
                "description": "The host operator, which is not an account."
              }
            },
            "required": [
              "operator"
            ],
            "type": "object"
          }
        ]
      },
      "PrivateIngressStatus": {
        "description": "The gateway's private listener, reached through the apps tailnet node.\nA broken node degrades only private routes.",
        "properties": {
          "addresses": {
            "description": "The node's tailnet addresses, which private hostnames must resolve to.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "dns_name": {
            "description": "The node's fully qualified `MagicDNS` name.",
            "nullable": true,
            "type": "string"
          },
          "enabled": {
            "description": "Effective read-only daemon setting, `[ingress.private] enabled`.",
            "type": "boolean"
          },
          "healthy": {
            "description": "The node is logged in and the gateway serves the private listener.",
            "type": "boolean"
          },
          "message": {
            "description": "Safe diagnostic: what to do while the node needs login (its login URL\nis only logged), or the failed step, with detailed causes in daemon\nlogs.",
            "type": "string"
          },
          "state": {
            "description": "Tailscale backend state of the node, such as `Running` or `NeedsLogin`.",
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "healthy",
          "state",
          "addresses",
          "message"
        ],
        "type": "object"
      },
      "PromoteRequest": {
        "additionalProperties": false,
        "description": "Promotes a release into a promoted environment, conditioned on the\ninspected application revision. By default the source environment's\ncurrent deployment; `deployment` and `release` are mutually exclusive.",
        "properties": {
          "deployment": {
            "description": "The source deployment to promote; it must still be the source's current one.",
            "nullable": true,
            "type": "string"
          },
          "expected_generation": {
            "description": "Current application revision, required unless explicitly forced; ignored by plans.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "release": {
            "description": "An earlier release to deploy instead of the source's current one.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      },
      "PromotedFrom": {
        "additionalProperties": false,
        "description": "The environment a promoted environment receives releases from. Stored by\nID, so renaming either keeps it.",
        "properties": {
          "environment": {
            "$ref": "#/components/schemas/EnvironmentId",
            "description": "The source environment; never a preview."
          }
        },
        "required": [
          "environment"
        ],
        "type": "object"
      },
      "PrunePreviewsRequest": {
        "additionalProperties": false,
        "description": "Deletes the listed previews whose branch the repository confirms is gone.",
        "properties": {
          "previews": {
            "description": "Previews to delete, as confirmed by the caller. Any whose branch is\nnot confirmed gone when the request runs is kept.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentId"
            },
            "type": "array"
          }
        },
        "required": [
          "previews"
        ],
        "type": "object"
      },
      "PublicIngressStatus": {
        "description": "How public routes reach the gateway: `[ingress.tunnel]` selects the mode.",
        "oneOf": [
          {
            "description": "The gateway publishes ports 80 and 443 on the host.",
            "properties": {
              "mode": {
                "enum": [
                  "direct"
                ],
                "type": "string"
              }
            },
            "required": [
              "mode"
            ],
            "type": "object"
          },
          {
            "description": "`cloudflared` connects out to Cloudflare, which terminates TLS and\nforwards to the gateway. No inbound port is open.",
            "properties": {
              "connected": {
                "description": "`cloudflared` holds a connection to Cloudflare's edge, from its\nhealthcheck of `/ready`.",
                "type": "boolean"
              },
              "id": {
                "description": "Tunnel ID from its credentials file.",
                "type": "string"
              },
              "message": {
                "description": "Safe diagnostic, with detailed causes in daemon logs.",
                "type": "string"
              },
              "mode": {
                "enum": [
                  "tunnel"
                ],
                "type": "string"
              }
            },
            "required": [
              "id",
              "connected",
              "message",
              "mode"
            ],
            "type": "object"
          }
        ]
      },
      "ReadinessStatus": {
        "description": "Deployment prerequisites. Configuration APIs remain available when false.",
        "properties": {
          "database": {
            "$ref": "#/components/schemas/DependencyStatus",
            "description": "`SQLite` can execute a read query."
          },
          "docker": {
            "$ref": "#/components/schemas/DependencyStatus",
            "description": "Docker answers its ping endpoint."
          },
          "ingress": {
            "$ref": "#/components/schemas/IngressStatus",
            "description": "Managed ingress is independent of core deployment dependencies."
          },
          "ready": {
            "description": "All deployment dependencies are ready.",
            "type": "boolean"
          },
          "swarm": {
            "$ref": "#/components/schemas/DependencyStatus",
            "description": "Docker is a compatible single-node Swarm manager."
          }
        },
        "required": [
          "ready",
          "database",
          "docker",
          "swarm"
        ],
        "type": "object"
      },
      "Redirect": {
        "additionalProperties": false,
        "description": "A redirect the gateway answers with.",
        "properties": {
          "preserve_path": {
            "default": true,
            "description": "Whether to append the request's path and query to `to`.",
            "type": "boolean"
          },
          "status": {
            "default": 308,
            "description": "HTTP status of the redirect.",
            "oneOf": [
              {
                "enum": [
                  301,
                  302,
                  303,
                  307,
                  308
                ],
                "type": "integer"
              }
            ]
          },
          "to": {
            "$ref": "#/components/schemas/Template",
            "description": "Absolute `http` or `https` URL to redirect to, with a lowercase\nhostname and no query or fragment. It can't target a hostname the\nroute serves."
          }
        },
        "required": [
          "to"
        ],
        "type": "object"
      },
      "RedirectUrl": {
        "description": "Absolute redirect destination: an `http` or `https` scheme, a public\nhostname with an optional port, and an optional path. Queries, fragments,\ncredentials, and Caddy placeholders are rejected.",
        "type": "string"
      },
      "RegistrationStart": {
        "description": "Passkey registration: a new account redeeming an invitation or setup\nsecret, an existing account redeeming an enrollment link, or a signed-in\naccount adding a passkey to itself.",
        "properties": {
          "display_name": {
            "description": "New account display name; ignored for enrollment.",
            "type": "string"
          },
          "invitation": {
            "description": "Invitation, enrollment, or initial setup secret; absent when a signed-in\naccount adds a passkey to itself.",
            "nullable": true,
            "type": "string"
          },
          "passkey_name": {
            "description": "Human-readable passkey label.",
            "type": "string"
          },
          "user_id": {
            "description": "The signed-in caller's own account, when adding a passkey to itself.",
            "nullable": true,
            "type": "string"
          },
          "username": {
            "description": "New account name; ignored for enrollment.",
            "type": "string"
          }
        },
        "required": [
          "username",
          "display_name",
          "passkey_name"
        ],
        "type": "object"
      },
      "Release": {
        "additionalProperties": false,
        "description": "The immutable output of one preparation in a tracking environment: its\nmanifest, and each service's source provenance and prepared image. It\nbelongs to the application, and preparations with the same\n[`Self::content_hash`] share it.",
        "properties": {
          "commit": {
            "description": "Commit the manifest was read from; absent for saved manifests.",
            "nullable": true,
            "type": "string"
          },
          "sources": {
            "additionalProperties": {
              "$ref": "#/components/schemas/ResolvedSource"
            },
            "description": "Each service's provenance and image: a registry digest for images\npulled by reference, the commit and local image ID for Git builds.",
            "type": "object"
          },
          "template": {
            "$ref": "#/components/schemas/ApplicationTemplate",
            "description": "The manifest as captured, with references unresolved."
          }
        },
        "required": [
          "template",
          "sources"
        ],
        "type": "object"
      },
      "ReleaseAvailability": {
        "description": "Whether a release's images are still present, so it can be deployed again.",
        "oneOf": [
          {
            "description": "Every image is present.",
            "properties": {
              "state": {
                "enum": [
                  "present"
                ],
                "type": "string"
              }
            },
            "required": [
              "state"
            ],
            "type": "object"
          },
          {
            "description": "Only registry images are missing: deploying the release pulls them\nagain by digest.",
            "properties": {
              "missing": {
                "description": "The missing images.",
                "items": {
                  "$ref": "#/components/schemas/ServiceImage"
                },
                "type": "array"
              },
              "state": {
                "enum": [
                  "pullable"
                ],
                "type": "string"
              }
            },
            "required": [
              "missing",
              "state"
            ],
            "type": "object"
          },
          {
            "description": "Built images are missing, so the release can't be deployed again.",
            "properties": {
              "missing": {
                "description": "The missing images, built or pulled.",
                "items": {
                  "$ref": "#/components/schemas/ServiceImage"
                },
                "type": "array"
              },
              "state": {
                "enum": [
                  "unavailable"
                ],
                "type": "string"
              }
            },
            "required": [
              "missing",
              "state"
            ],
            "type": "object"
          }
        ]
      },
      "ReleaseId": {
        "description": "Stable release identity, assigned by persistence when a preparation\nrecords content its application has no release for yet.",
        "type": "string"
      },
      "ReleasePlan": {
        "description": "What a plan of a release adds: the release and where it comes from, and\nwhat the environment still lacks.",
        "properties": {
          "new_volumes": {
            "description": "Volumes it declares that the environment doesn't have yet; they are\ncreated empty.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "origin": {
            "$ref": "#/components/schemas/DeploymentOrigin",
            "description": "Where it comes from."
          },
          "release": {
            "$ref": "#/components/schemas/ReleaseView",
            "description": "The release, with its provenance and image availability."
          },
          "secrets": {
            "description": "Every secret it mounts that is missing or that the environment may not use.",
            "items": {
              "$ref": "#/components/schemas/SecretProblem"
            },
            "type": "array"
          }
        },
        "required": [
          "release",
          "origin",
          "new_volumes",
          "secrets"
        ],
        "type": "object"
      },
      "ReleasePromotion": {
        "description": "A deployment that received a release: promoted, deployed again by ID, or\nrestored.",
        "properties": {
          "created_at_ms": {
            "description": "When it was accepted, in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "deployment_id": {
            "description": "That deployment, whose ID is also its operation's.",
            "type": "string"
          },
          "environment_id": {
            "$ref": "#/components/schemas/EnvironmentId",
            "description": "The environment it was deployed to."
          },
          "origin": {
            "$ref": "#/components/schemas/DeploymentOrigin",
            "description": "Where it came from; never `build`."
          }
        },
        "required": [
          "environment_id",
          "deployment_id",
          "origin",
          "created_at_ms"
        ],
        "type": "object"
      },
      "ReleaseView": {
        "description": "An immutable release of an application, recorded by a successful\npreparation in one of its tracking environments. Environments whose\ndeployments prepared the same content share it.",
        "properties": {
          "application_id": {
            "$ref": "#/components/schemas/ApplicationId",
            "description": "Owning application."
          },
          "availability": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ReleaseAvailability"
                  }
                ],
                "description": "Whether its images are still present, so it can be deployed again;\nabsent when Docker could not be asked."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "content_hash": {
            "$ref": "#/components/schemas/Sha256Digest",
            "description": "Hash of its content, unique within the application."
          },
          "created_at_ms": {
            "description": "When it was first recorded, in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "fingerprint": {
            "$ref": "#/components/schemas/BuildFingerprint",
            "description": "The build inputs each service's image was prepared from."
          },
          "id": {
            "$ref": "#/components/schemas/ReleaseId",
            "description": "Stable release identifier."
          },
          "promotions": {
            "description": "Every deployment that received it rather than building it, newest\nfirst: where it was promoted or deployed again.",
            "items": {
              "$ref": "#/components/schemas/ReleasePromotion"
            },
            "type": "array"
          },
          "release": {
            "$ref": "#/components/schemas/Release",
            "description": "Its manifest, commit, and each service's provenance and image."
          }
        },
        "required": [
          "id",
          "application_id",
          "content_hash",
          "created_at_ms",
          "release",
          "fingerprint"
        ],
        "type": "object"
      },
      "RenameApplicationRequest": {
        "additionalProperties": false,
        "description": "Metadata-only rename, conditioned on the inspected intent revision.",
        "properties": {
          "expected_generation": {
            "description": "Current intent revision, required unless explicitly forced.",
            "format": "int64",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "name": {
            "description": "New unique application name.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "RenamedApplication": {
        "description": "Completed metadata-only rename.",
        "properties": {
          "application_id": {
            "description": "Unchanged application identity.",
            "type": "string"
          },
          "generation": {
            "description": "Revision after renaming.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "name": {
            "description": "Current application name.",
            "type": "string"
          }
        },
        "required": [
          "application_id",
          "name",
          "generation"
        ],
        "type": "object"
      },
      "ReplicasValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Typed_u16",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "RepositoryDigest": {
        "description": "A repository reference pinned to an explicit SHA-256 digest.\n\nThe schema accepts the same registry, repository, and optional tag forms\nas [`ImageReference`], but requires a trailing SHA-256 digest containing\nexactly 64 lowercase hexadecimal digits.",
        "pattern": "^(?=.{1,512}$)(?=.{1,255}(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?@sha256:[0-9a-f]{64}$)(?:(?:(?:[Ll][Oo][Cc][Aa][Ll][Hh][Oo][Ss][Tt]|[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?(?:\\.[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?)+)(?::0*(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))?|[A-Za-z0-9](?:[A-Za-z0-9-]*[A-Za-z0-9])?:0*(?:[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5]))/)?[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*(?:/[a-z0-9]+(?:(?:[._]|__|-+)[a-z0-9]+)*)*(?::[A-Za-z0-9_][A-Za-z0-9_.-]{0,127})?@sha256:[0-9a-f]{64}$",
        "type": "string"
      },
      "RepositoryFiles": {
        "additionalProperties": {
          "type": "string"
        },
        "description": "The content of each repository file an application's services mount,\nkeyed by path from the repository root, as read at the commit its manifest\nwas fetched from. A deployment captures them once, with its manifest, so\nretries, restarts, and promotions mount exactly the same bytes.",
        "type": "object"
      },
      "RepositoryManifest": {
        "additionalProperties": false,
        "description": "The Git repository and file each deployment reads the manifest from.",
        "properties": {
          "path": {
            "description": "Path of the TOML or JSON manifest file, relative to the repository\nroot.",
            "type": "string"
          },
          "repository": {
            "$ref": "#/components/schemas/GitRepository",
            "description": "The repository holding the manifest, and the branch environments\ndeploy by default."
          },
          "sync": {
            "default": {
              "mode": "off"
            },
            "oneOf": [
              {
                "$ref": "#/components/schemas/RepositorySync",
                "description": "Whether pushes to the repository deploy environments and previews."
              }
            ]
          }
        },
        "required": [
          "repository",
          "path"
        ],
        "type": "object"
      },
      "RepositorySync": {
        "description": "Whether pushes to the manifest repository deploy. It applies to every\npreview, and to every environment that opted in and follows a branch\nwithout a pinned commit.",
        "oneOf": [
          {
            "description": "Deploy only when asked.",
            "properties": {
              "mode": {
                "enum": [
                  "off"
                ],
                "type": "string"
              }
            },
            "required": [
              "mode"
            ],
            "type": "object"
          },
          {
            "description": "List the repository's branch heads every `interval_seconds`.",
            "properties": {
              "interval_seconds": {
                "default": 300,
                "description": "Seconds between listings, from 60 to 86,400.",
                "format": "int32",
                "maximum": 4294967295,
                "minimum": 0,
                "type": "integer"
              },
              "mode": {
                "enum": [
                  "poll"
                ],
                "type": "string"
              }
            },
            "required": [
              "mode"
            ],
            "type": "object"
          },
          {
            "description": "List the branch heads when GitHub reports a push.",
            "properties": {
              "mode": {
                "enum": [
                  "webhook"
                ],
                "type": "string"
              }
            },
            "required": [
              "mode"
            ],
            "type": "object"
          }
        ]
      },
      "RepositorySyncValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/RepositorySync",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "RepositoryValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RepositoryManifest"
                  }
                ],
                "description": "New value; null explicitly clears an optional setting."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "ResolvedSource": {
        "description": "Immutable image resolution used by the Docker runtime.",
        "oneOf": [
          {
            "description": "A requested image resolved to an immutable repository digest.",
            "properties": {
              "digest_reference": {
                "$ref": "#/components/schemas/RepositoryDigest",
                "description": "The immutable image reference used at runtime."
              },
              "requested": {
                "$ref": "#/components/schemas/ImageReference",
                "description": "The image reference requested by the user."
              },
              "type": {
                "enum": [
                  "image"
                ],
                "type": "string"
              }
            },
            "required": [
              "requested",
              "digest_reference",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "A Git revision built into an immutable local image.",
            "properties": {
              "commit": {
                "description": "Resolved full commit hash.",
                "type": "string"
              },
              "image_id": {
                "$ref": "#/components/schemas/Sha256Digest",
                "description": "Docker's content-addressed local image ID."
              },
              "requested": {
                "$ref": "#/components/schemas/ValidatedSource",
                "description": "Exact source and build inputs requested."
              },
              "type": {
                "enum": [
                  "git"
                ],
                "type": "string"
              }
            },
            "required": [
              "requested",
              "commit",
              "image_id",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "ResourceLimits": {
        "additionalProperties": false,
        "description": "CPU and memory limits of each of a service's containers. Set at least\none.",
        "properties": {
          "cpu_millis": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32"
                  }
                ],
                "description": "CPU limit in thousandths of a CPU, from 1 to 1,048,576: `500` is half\na CPU."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "memory_bytes": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u64"
                  }
                ],
                "description": "Memory limit in bytes, from 1 to 9,223,372,036,854,775,807."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "type": "object"
      },
      "ResourcesValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ResourceLimits"
                  }
                ],
                "description": "New value; null explicitly clears an optional setting."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "RestoreRequest": {
        "additionalProperties": false,
        "description": "Restores an earlier deployment of an environment or preview exactly. No\napplication revision is needed: the deployment pins everything deployed.",
        "properties": {
          "deployment": {
            "description": "The deployment to restore; it must have succeeded.",
            "type": "string"
          }
        },
        "required": [
          "deployment"
        ],
        "type": "object"
      },
      "Rollback": {
        "description": "What happens when an environment's rollout fails: a service update\nthat Docker pauses because a new task failed within its monitor\nwindow.",
        "enum": [
          "automatic",
          "manual"
        ],
        "type": "string"
      },
      "RollbackValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Rollback"
                  }
                ],
                "description": "New value; null explicitly clears an optional setting."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "Rollout": {
        "additionalProperties": false,
        "description": "How Docker replaces a service's containers during a deployment, one at a\ntime. An empty block keeps the defaults.",
        "properties": {
          "monitor_seconds": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Typed_u32"
                  }
                ],
                "description": "Seconds Docker watches each new container for failure before it\nreplaces the next one, from 1 to 3,600. 30 when unset."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "order": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Typed_RolloutOrder"
                  }
                ],
                "description": "`stop-first` stops the old container before starting its replacement,\nwith a short downtime. `start-first` starts the replacement first, so\nboth briefly run side by side. When unset, `stop-first` if the service\nmounts a volume writable or receives telemetry, `start-first`\notherwise."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "type": "object"
      },
      "RolloutOrder": {
        "description": "Whether Docker stops the old container before or after starting its\nreplacement.",
        "enum": [
          "stop-first",
          "start-first"
        ],
        "type": "string"
      },
      "RolloutOrderSource": {
        "description": "Where a service's effective update order comes from.",
        "enum": [
          "derived",
          "explicit"
        ],
        "type": "string"
      },
      "RolloutValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Rollout",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "Route": {
        "additionalProperties": false,
        "description": "An HTTP route: requests for a hostname go to a service, or get a\nredirect. A route sets either `service` and `port`, or `redirect`.",
        "properties": {
          "hostname": {
            "$ref": "#/components/schemas/Template",
            "description": "Hostname the route serves, such as `notes.example.com`, unique in the\napplication. A wildcard such as `*.example.com` serves every name one\nlabel below `example.com` that no exact route claims."
          },
          "name": {
            "description": "Name that selects the route in every environment and preview, e.g.\n`piquelctl env url --route web`. It is unique in the application and\ncan't reference variables.",
            "nullable": true,
            "type": "string"
          },
          "port": {
            "description": "Port the service serves HTTP on, from 1 to 65535. Needs `service`.",
            "format": "int32",
            "maximum": 65535,
            "minimum": 1,
            "nullable": true,
            "type": "integer"
          },
          "redirect": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/Redirect"
                  }
                ],
                "description": "Redirect the gateway answers with, instead of a service."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "service": {
            "description": "Service of this application that receives the requests. Needs `port`.",
            "nullable": true,
            "type": "string"
          },
          "visibility": {
            "default": "private",
            "oneOf": [
              {
                "$ref": "#/components/schemas/Visibility",
                "description": "Who may connect: `public` for the internet, or `private` for the\ntailnet only. The environment's or the previews' visibility can make\nit stricter, never looser."
              }
            ]
          }
        },
        "required": [
          "hostname"
        ],
        "type": "object"
      },
      "RouteHostname": {
        "description": "A route's canonical hostname: an exact [`Hostname`], or `*.<parent>`\nmatching every name exactly one label below a hostname, like a\nwildcard certificate. Exact routes win over a wildcard covering them.",
        "type": "string"
      },
      "RouteName": {
        "description": "Optional stable name of a route, unique within its application. Every\nenvironment and preview renders the same routes, so a name selects the\nsame route in each, whatever hostname it renders.",
        "type": "string"
      },
      "RouteStatus": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RouteTarget",
            "description": "Backend service or redirect."
          },
          {
            "properties": {
              "dns": {
                "$ref": "#/components/schemas/DnsRecords",
                "description": "The records the hostname needs."
              },
              "dns_state": {
                "$ref": "#/components/schemas/DnsRecordState",
                "description": "Whether piqueld manages those records."
              },
              "environment_id": {
                "description": "Owning environment identity.",
                "type": "string"
              },
              "hostname": {
                "description": "Exact public DNS hostname.",
                "type": "string"
              },
              "message": {
                "description": "Diagnostic explaining DNS, TLS, or gateway readiness.",
                "type": "string"
              },
              "name": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RouteName"
                      }
                    ],
                    "description": "The route's name, when it has one."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "state": {
                "description": "disabled, pending, ready, or failed.",
                "type": "string"
              },
              "visibility": {
                "$ref": "#/components/schemas/Visibility",
                "description": "Effective visibility, which selects the listener serving the route."
              }
            },
            "required": [
              "environment_id",
              "hostname",
              "visibility",
              "dns",
              "state",
              "message"
            ],
            "type": "object"
          }
        ],
        "description": "HTTPS readiness is separate from application rollout success."
      },
      "RouteTarget": {
        "description": "What a route's hostname serves. The variants keep their historical flat\nwire shape (`service`/`port`, or `redirect`) inside [`ValidatedRoute`].",
        "oneOf": [
          {
            "description": "Proxies to a service in the same application.",
            "properties": {
              "port": {
                "description": "Internal HTTP port; never published directly on the host.",
                "format": "int32",
                "minimum": 1,
                "type": "integer"
              },
              "service": {
                "$ref": "#/components/schemas/ServiceName",
                "description": "Logical HTTP backend service."
              }
            },
            "required": [
              "service",
              "port"
            ],
            "type": "object"
          },
          {
            "description": "Redirects every request without reaching a backend.",
            "properties": {
              "redirect": {
                "$ref": "#/components/schemas/ValidatedRedirect",
                "description": "Redirect destination and behavior."
              }
            },
            "required": [
              "redirect"
            ],
            "type": "object"
          }
        ]
      },
      "RouteUrl": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RouteTarget",
            "description": "Backend service or redirect."
          },
          {
            "properties": {
              "name": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RouteName"
                      }
                    ],
                    "description": "The route's name, when it has one."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "pending": {
                "description": "Every condition that keeps the URL pending, in the order above.",
                "items": {
                  "$ref": "#/components/schemas/UrlCondition"
                },
                "type": "array"
              },
              "state": {
                "$ref": "#/components/schemas/UrlState",
                "description": "`ready` exactly when `pending` is empty."
              },
              "url": {
                "description": "`https://` and the rendered hostname.",
                "type": "string"
              },
              "visibility": {
                "$ref": "#/components/schemas/Visibility",
                "description": "Effective visibility: `private` URLs are reachable only from the tailnet."
              }
            },
            "required": [
              "url",
              "visibility",
              "state",
              "pending"
            ],
            "type": "object"
          }
        ],
        "description": "One URL of a rendered route, and whether it is ready."
      },
      "RoutesValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/Route"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "RunState": {
        "description": "Whether an environment runs its services.",
        "enum": [
          "running",
          "stopped"
        ],
        "type": "string"
      },
      "RuntimeCoverage": {
        "description": "How much of the runtime change a plan lists.",
        "enum": [
          "complete",
          "resolution",
          "omitted"
        ],
        "type": "string"
      },
      "SavedApplication": {
        "description": "Saved application configuration, optionally accompanied by a deployment.",
        "properties": {
          "application_id": {
            "description": "Stable application identity.",
            "type": "string"
          },
          "generation": {
            "description": "Saved configuration revision.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "operation_id": {
            "description": "The first deployment operation, only when explicitly requested; see\n`operation_ids` for applications that declare several environments.",
            "nullable": true,
            "type": "string"
          },
          "operation_ids": {
            "description": "Every deployment operation started, one per environment: the\napplication's only one, or each declared environment that builds.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "application_id",
          "generation"
        ],
        "type": "object"
      },
      "SecondsValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Typed_u32",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "SecretAccess": {
        "additionalProperties": false,
        "description": "Who may mount a secret from an application's store. The default is every\nenvironment and no previews.",
        "properties": {
          "environments": {
            "$ref": "#/components/schemas/EnvironmentAccess",
            "description": "Environments that may mount the secret."
          },
          "previews": {
            "description": "Whether previews may mount the secret. Previews are never covered by\n`environments`, even `all`.",
            "type": "boolean"
          }
        },
        "required": [
          "environments"
        ],
        "type": "object"
      },
      "SecretDeclaration": {
        "additionalProperties": false,
        "description": "A secret whose value piqueld generates for each environment when one of\nits deployments first needs it. Later deployments and manifest edits keep\nthat value; `piquelctl env secret regenerate` replaces it. A value is never\nshared with another environment.",
        "properties": {
          "generate": {
            "$ref": "#/components/schemas/SecretGenerator",
            "description": "How piqueld generates the value."
          },
          "name": {
            "description": "Name of the secret, unique in the application. It can't reference\nvariables.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "generate"
        ],
        "type": "object"
      },
      "SecretEncoding": {
        "description": "Text encoding of generated random bytes.",
        "enum": [
          "hex",
          "base64url"
        ],
        "type": "string"
      },
      "SecretFile": {
        "additionalProperties": false,
        "description": "A Docker secret name and its file destination, with no secret value.",
        "properties": {
          "secret_name": {
            "description": "Immutable version name in Docker.",
            "type": "string"
          },
          "target": {
            "description": "Container file destination.",
            "type": "string"
          }
        },
        "required": [
          "secret_name",
          "target"
        ],
        "type": "object"
      },
      "SecretGenerator": {
        "description": "How piqueld generates a secret's value.",
        "oneOf": [
          {
            "description": "Random bytes from the operating system, encoded as text.",
            "properties": {
              "bytes": {
                "description": "Number of random bytes before encoding, from 16 to 512.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "encoding": {
                "default": "hex",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/SecretEncoding",
                    "description": "Text encoding of the bytes: lowercase `hex`, or unpadded\n`base64url`."
                  }
                ]
              },
              "type": {
                "enum": [
                  "random"
                ],
                "type": "string"
              }
            },
            "required": [
              "bytes",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "An RSA private key, in PKCS#8 PEM.",
            "properties": {
              "bits": {
                "description": "Size of the key in bits: 2048, 3072 or 4096.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "type": {
                "enum": [
                  "rsa"
                ],
                "type": "string"
              }
            },
            "required": [
              "bits",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "SecretKeyRecovery": {
        "description": "Metadata-only result of lost-key recovery. Never rotates application credentials.",
        "properties": {
          "affected_applications": {
            "description": "Applications whose stored values were discarded.",
            "format": "int64",
            "type": "integer"
          },
          "affected_environments": {
            "description": "Environments whose generated values were discarded.",
            "format": "int64",
            "type": "integer"
          },
          "affected_secrets": {
            "description": "Logical secrets, stored and generated, whose values were discarded.",
            "format": "int64",
            "type": "integer"
          },
          "deleted_destinations": {
            "description": "Notification destinations deleted, since their URLs were encrypted.",
            "format": "int64",
            "type": "integer"
          },
          "discarded_versions": {
            "description": "Stored and generated versions discarded; already unavailable versions\nare excluded.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "affected_environments",
          "affected_secrets",
          "discarded_versions"
        ],
        "type": "object"
      },
      "SecretMetadata": {
        "description": "Metadata only: secret values are never returned.",
        "properties": {
          "deleting": {
            "description": "Cleanup has started; retry deletion to finish it. Replacement is disabled.",
            "type": "boolean"
          },
          "generation": {
            "description": "Current version, used for optimistic writes.",
            "format": "int64",
            "type": "integer"
          },
          "name": {
            "description": "Logical name.",
            "type": "string"
          },
          "unavailable": {
            "description": "The current value was discarded by lost-key recovery; supply a new version.",
            "type": "boolean"
          },
          "updated_at_ms": {
            "description": "Last update time in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          }
        },
        "required": [
          "name",
          "generation",
          "updated_at_ms"
        ],
        "type": "object"
      },
      "SecretMount": {
        "additionalProperties": false,
        "description": "A secret mounted as a file. A name `spec.secrets` declares mounts the\nenvironment's generated value; any other name mounts a value from the\napplication's secret store.",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/Template",
            "description": "Name of the secret. It may reference variables, so each environment\ncan mount its own stored secret, e.g. `${{ vars.stripe_key }}`."
          },
          "target": {
            "description": "Absolute path of the file under `/run/secrets/`, unique in the\nservice.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "target"
        ],
        "type": "object"
      },
      "SecretProblem": {
        "description": "A secret a rendered deployment mounts but cannot use. Promotions are\nrefused while any is left. Generated secrets are generated when missing,\nso only a pending deletion makes one unusable.",
        "oneOf": [
          {
            "description": "Mounted from the application's store, which has no such secret.",
            "properties": {
              "problem": {
                "enum": [
                  "missing"
                ],
                "type": "string"
              },
              "secret": {
                "description": "Logical secret name.",
                "type": "string"
              }
            },
            "required": [
              "secret",
              "problem"
            ],
            "type": "object"
          },
          {
            "description": "Stored, but its access list excludes the environment.",
            "properties": {
              "problem": {
                "enum": [
                  "access_denied"
                ],
                "type": "string"
              },
              "secret": {
                "description": "Logical secret name.",
                "type": "string"
              }
            },
            "required": [
              "secret",
              "problem"
            ],
            "type": "object"
          },
          {
            "description": "Stored, but key recovery discarded its value; store a new version.",
            "properties": {
              "problem": {
                "enum": [
                  "unavailable"
                ],
                "type": "string"
              },
              "secret": {
                "description": "Logical secret name.",
                "type": "string"
              }
            },
            "required": [
              "secret",
              "problem"
            ],
            "type": "object"
          },
          {
            "description": "Being deleted, stored or generated; finish or abandon the deletion.",
            "properties": {
              "problem": {
                "enum": [
                  "deleting"
                ],
                "type": "string"
              },
              "secret": {
                "description": "Logical secret name.",
                "type": "string"
              }
            },
            "required": [
              "secret",
              "problem"
            ],
            "type": "object"
          }
        ]
      },
      "SecretsValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/SecretMount"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "Service": {
        "additionalProperties": false,
        "description": "A service: containers running one image, kept at their replica count.",
        "properties": {
          "arguments": {
            "description": "Arguments that replace the image's default arguments, at most 128\nelements of 4,096 bytes each.",
            "items": {
              "$ref": "#/components/schemas/Template"
            },
            "type": "array"
          },
          "command": {
            "description": "Command that replaces the image's entrypoint, at most 128 elements of\n4,096 bytes each. When empty, the image's entrypoint runs.",
            "items": {
              "$ref": "#/components/schemas/Template"
            },
            "type": "array"
          },
          "depends_on": {
            "description": "Services of this application that must be running and healthy before\nthis one rolls out, each listed once.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "environment": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Template"
            },
            "description": "The environment variable `<name>` of the service's containers. Names\nuse letters, digits and `_`, don't start with a digit, and are at most\n255 bytes. Values are at most 65,536 bytes. At most 256 variables;\n`PIQUELD_INGRESS_PROXIES` is reserved.",
            "type": "object"
          },
          "files": {
            "description": "Read-only files mounted into the containers, at most 32. Their\ncontents are never rendered with variables. An application's files\ntotal at most 2 MiB.",
            "items": {
              "$ref": "#/components/schemas/ServiceFile"
            },
            "type": "array"
          },
          "healthcheck": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/HealthCheck"
                  }
                ],
                "description": "How Docker checks that a container is healthy. Rollouts and the\nservices depending on this one wait until it passes."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "mounts": {
            "description": "Volumes mounted into the containers, at most 32.",
            "items": {
              "$ref": "#/components/schemas/Mount"
            },
            "type": "array"
          },
          "name": {
            "description": "Name of the service, unique in the application. The application's\nother services reach it by this name.",
            "type": "string"
          },
          "receives_telemetry": {
            "default": false,
            "description": "Whether the service receives the daemon's traces, metrics and logs,\non a socket in `/run/piqueld/telemetry`, once its environment is\ngranted telemetry. At most one service of an application receives\ntelemetry, with one replica.",
            "type": "boolean"
          },
          "replicas": {
            "default": 1,
            "oneOf": [
              {
                "$ref": "#/components/schemas/Typed_u16",
                "description": "Number of containers, from 1 to 100."
              }
            ]
          },
          "resources": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ResourceLimits"
                  }
                ],
                "description": "CPU and memory limits of each container."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "rollout": {
            "$ref": "#/components/schemas/Rollout",
            "description": "How Docker replaces the service's containers on each deployment."
          },
          "secrets": {
            "description": "Secrets mounted as files, at most 64.",
            "items": {
              "$ref": "#/components/schemas/SecretMount"
            },
            "type": "array"
          },
          "source": {
            "$ref": "#/components/schemas/Source",
            "description": "Where the service's image comes from: a prebuilt image, or a Git\nbuild."
          }
        },
        "required": [
          "name",
          "source"
        ],
        "type": "object"
      },
      "ServiceFile": {
        "allOf": [
          {
            "$ref": "#/components/schemas/FileSource",
            "description": "Where the file's content comes from."
          },
          {
            "properties": {
              "mode": {
                "default": "0444",
                "oneOf": [
                  {
                    "$ref": "#/components/schemas/FileMode",
                    "description": "Octal permissions, from `\"0000\"` to `\"0777\"`. The file is owned by\nroot."
                  }
                ]
              },
              "target": {
                "description": "Absolute path of the file in the container, unique among the\nservice's mount, secret and file targets. It can't be in\n`/run/secrets` or `/run/piqueld`.",
                "type": "string"
              }
            },
            "required": [
              "target"
            ],
            "type": "object"
          }
        ],
        "description": "A read-only file mounted into a service's containers, from exactly one\nsource: `path` in the manifest's repository, or inline `content`. Its\ncontent can't be empty, and is at most 500 KiB."
      },
      "ServiceGeneral": {
        "additionalProperties": false,
        "description": "Source and scaling settings saved together by the dashboard form.",
        "properties": {
          "replicas": {
            "$ref": "#/components/schemas/Typed_u16",
            "description": "Desired replicas."
          },
          "source": {
            "$ref": "#/components/schemas/Source",
            "description": "Explicit source variant."
          }
        },
        "required": [
          "source",
          "replicas"
        ],
        "type": "object"
      },
      "ServiceImage": {
        "description": "A service and the image it runs.",
        "properties": {
          "image": {
            "$ref": "#/components/schemas/ImmutableImage",
            "description": "Its immutable image."
          },
          "service": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Logical service name."
          }
        },
        "required": [
          "service",
          "image"
        ],
        "type": "object"
      },
      "ServiceName": {
        "description": "Logical service name, distinct from an application or volume name.\n\n```compile_fail\nuse piqueld_core::{ServiceName, VolumeName};\nlet volume: VolumeName = ServiceName::parse(\"data\").unwrap();\n```",
        "type": "string"
      },
      "ServiceProcess": {
        "additionalProperties": false,
        "description": "Container entrypoint and arguments saved together.",
        "properties": {
          "arguments": {
            "description": "Argument elements.",
            "items": {
              "$ref": "#/components/schemas/Template"
            },
            "type": "array"
          },
          "command": {
            "description": "Entrypoint elements.",
            "items": {
              "$ref": "#/components/schemas/Template"
            },
            "type": "array"
          }
        },
        "required": [
          "command",
          "arguments"
        ],
        "type": "object"
      },
      "ServiceRolloutView": {
        "description": "A service's effective rollout order and monitor window.",
        "properties": {
          "monitor_seconds": {
            "description": "Effective monitor window in seconds.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "order": {
            "$ref": "#/components/schemas/RolloutOrder",
            "description": "Effective update order."
          },
          "order_source": {
            "$ref": "#/components/schemas/RolloutOrderSource",
            "description": "Whether the order is set explicitly or derived from the mounts."
          },
          "service": {
            "description": "Logical service name.",
            "type": "string"
          }
        },
        "required": [
          "service",
          "order",
          "order_source",
          "monitor_seconds"
        ],
        "type": "object"
      },
      "Session": {
        "allOf": [
          {
            "$ref": "#/components/schemas/Principal",
            "description": "Signed-in account (`user`), or the host operator (`operator`)."
          },
          {
            "properties": {
              "grants": {
                "$ref": "#/components/schemas/Grants",
                "description": "Effective grants of the credential used for this request."
              },
              "scoped": {
                "description": "Whether the credential is limited to its own grants, like an API\ntoken; such credentials cannot create credentials.",
                "type": "boolean"
              }
            },
            "required": [
              "grants",
              "scoped"
            ],
            "type": "object"
          }
        ],
        "description": "Who is signed in and what the current credential may do."
      },
      "SetupLink": {
        "description": "First-account setup link, served only over the daemon's Unix socket.",
        "properties": {
          "url": {
            "description": "Dashboard URL carrying the single-use setup secret.",
            "type": "string"
          }
        },
        "required": [
          "url"
        ],
        "type": "object"
      },
      "Sha256Digest": {
        "description": "Explicitly tagged lowercase SHA-256 digest.",
        "type": "string"
      },
      "SnapshotLimits": {
        "description": "How large a snapshot `piquelctl preview deploy --local` uploads may be,\nso it can refuse one before writing it.",
        "properties": {
          "max_files": {
            "description": "The most files and directories it may have.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "max_tree_bytes": {
            "description": "The most bytes its files may take, each file and directory charged\n[`Self::file_cost`]: `[checkouts] max_bytes`.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "max_upload_bytes": {
            "description": "The largest bundle an upload may carry: `[snapshots] max_upload_bytes`.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "max_upload_bytes",
          "max_tree_bytes",
          "max_files"
        ],
        "type": "object"
      },
      "Source": {
        "description": "Where a service's image comes from.",
        "oneOf": [
          {
            "description": "Pull a prebuilt image from a registry.",
            "properties": {
              "image": {
                "$ref": "#/components/schemas/Template",
                "description": "Image reference, such as `ghcr.io/example/notes:1.4.0`, with an\noptional tag or digest. It can't contain a URL scheme or\ncredentials."
              },
              "type": {
                "enum": [
                  "image"
                ],
                "type": "string"
              }
            },
            "required": [
              "image",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "Build the image from a Git repository.",
            "properties": {
              "build": {
                "$ref": "#/components/schemas/Build",
                "description": "How to build the image."
              },
              "repository": {
                "$ref": "#/components/schemas/SourceRepository",
                "description": "Repository to build: `\"self\"` for the manifest's own repository,\nat the commit the manifest was read from, or a table naming\nanother one. `\"self\"` needs `spec.manifest`."
              },
              "type": {
                "enum": [
                  "git"
                ],
                "type": "string"
              }
            },
            "required": [
              "repository",
              "build",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "SourceRepository": {
        "description": "The repository a Git build source checks out.",
        "oneOf": [
          {
            "$ref": "#/components/schemas/ManifestRepository",
            "description": "`\"self\"`: the application's manifest repository, at the exact commit its\nmanifest was read from, so one deployment builds from one revision."
          },
          {
            "$ref": "#/components/schemas/GitRepository",
            "description": "Another repository, and the revision to build."
          }
        ]
      },
      "SourceValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Source",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "StoredSecret": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SecretMetadata",
            "description": "Version metadata."
          },
          {
            "properties": {
              "access": {
                "$ref": "#/components/schemas/SecretAccess",
                "description": "Who may mount the secret."
              }
            },
            "required": [
              "access"
            ],
            "type": "object"
          }
        ],
        "description": "A manually set secret in an application's store: its metadata and access,\nnever its value."
      },
      "StringValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "type": "string"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "StringsValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "type": "string"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "SyncCheck": {
        "description": "The last time sync listed an application's branches, and why it failed.",
        "properties": {
          "checked_at_ms": {
            "description": "When the listing finished, in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "error": {
            "description": "Why the repository could not be listed; sync retries with backoff.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "checked_at_ms"
        ],
        "type": "object"
      },
      "SyncState": {
        "description": "Whether pushes deploy an environment or preview, and why not.",
        "enum": [
          "following",
          "off",
          "pinned",
          "not_opted_in",
          "stopped",
          "awaiting_deployment"
        ],
        "type": "string"
      },
      "SyncedHead": {
        "description": "The branch head as of an environment's or preview's last deployment, by\nsync or of its own branch. Sync deploys once the branch moves past it.",
        "properties": {
          "at_ms": {
            "description": "When sync found it, in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "commit": {
            "description": "Full commit hash; absent when the repository had no such branch, as\nwhen a preview's branch was deployed from a local worktree before it\nwas pushed. Sync deploys once the branch appears.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "at_ms"
        ],
        "type": "object"
      },
      "SystemActor": {
        "description": "The automated actors piqueld records on what they caused, next to\naccounts and the host operator.",
        "enum": [
          "sync:poll",
          "sync:webhook"
        ],
        "type": "string"
      },
      "SystemCheck": {
        "description": "One check's verdict, what was found, and what to do about it.",
        "properties": {
          "id": {
            "$ref": "#/components/schemas/SystemCheckId",
            "description": "Which check this is."
          },
          "message": {
            "description": "What was found, without secrets.",
            "type": "string"
          },
          "next_step": {
            "description": "What to do next; absent when nothing is needed.",
            "nullable": true,
            "type": "string"
          },
          "status": {
            "$ref": "#/components/schemas/CheckStatus",
            "description": "The verdict."
          }
        },
        "required": [
          "id",
          "status",
          "message"
        ],
        "type": "object"
      },
      "SystemCheckId": {
        "description": "Identifies a check. New features add their own variant.",
        "enum": [
          "public_url",
          "docker",
          "ingress_ports",
          "secret_key",
          "runtime_directory",
          "tailnet",
          "backups"
        ],
        "type": "string"
      },
      "SystemChecks": {
        "description": "Installation health from `GET /api/v1/system/checks`, rendered by\n`piquelctl doctor` and the dashboard. Each check runs against the live\ninstallation with a bounded timeout.",
        "properties": {
          "checks": {
            "description": "One verdict per check, in a stable order.",
            "items": {
              "$ref": "#/components/schemas/SystemCheck"
            },
            "type": "array"
          }
        },
        "required": [
          "checks"
        ],
        "type": "object"
      },
      "SystemStatus": {
        "description": "Current control-plane status.",
        "properties": {
          "api_version": {
            "description": "Version of the exposed API.",
            "type": "string"
          },
          "daemon_version": {
            "description": "Version of the running daemon binary.",
            "type": "string"
          },
          "dns": {
            "$ref": "#/components/schemas/DnsStatus",
            "description": "DNS providers and the certificates issued through them with DNS-01."
          },
          "images": {
            "$ref": "#/components/schemas/ImageStatus",
            "description": "The images this installation built, and their cleanup."
          },
          "instance_id": {
            "description": "Control-plane instance identifier.",
            "type": "string"
          },
          "previews": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/PreviewUsage"
                  }
                ],
                "description": "Previews against the `[previews]` limits; absent when they could not\nbe counted."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "snapshots": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/SnapshotLimits"
                  }
                ],
                "description": "How large a local snapshot may be; absent from older daemons."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "status": {
            "description": "Machine-readable service status.",
            "type": "string"
          },
          "tailscale": {
            "$ref": "#/components/schemas/TailnetStatus",
            "description": "Dedicated tailnet node serving the website over HTTPS."
          },
          "telemetry": {
            "$ref": "#/components/schemas/TelemetryStatus",
            "description": "Export of the daemon's own telemetry over OTLP."
          }
        },
        "required": [
          "status",
          "api_version",
          "daemon_version",
          "instance_id"
        ],
        "type": "object"
      },
      "TailnetBinding": {
        "description": "The tailnet user or tag an API token is bound to: a login name such as\n`alice@example.com`, or a tag such as `tag:ci`. A bound token is accepted\nonly through the daemon's tailnet node, from a node signed in as that user\nor carrying that tag.",
        "example": "tag:ci",
        "type": "string"
      },
      "TailnetStatus": {
        "description": "Login and certificate state of the daemon's own tailnet node.",
        "properties": {
          "certificate_expires_at_ms": {
            "description": "Expiry of the served HTTPS certificate.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "dns_name": {
            "description": "The node's fully qualified `MagicDNS` name.",
            "nullable": true,
            "type": "string"
          },
          "enabled": {
            "description": "Effective read-only daemon setting.",
            "type": "boolean"
          },
          "healthy": {
            "description": "The node is logged in and serves an unexpired certificate.",
            "type": "boolean"
          },
          "message": {
            "description": "Safe diagnostic, with detailed causes in daemon logs.",
            "type": "string"
          },
          "public_url_matches": {
            "description": "Whether `auth.public_url` is the node's HTTPS origin.",
            "type": "boolean"
          },
          "state": {
            "description": "Tailscale backend state, such as `Running` or `NeedsLogin`.",
            "type": "string"
          }
        },
        "required": [
          "enabled",
          "healthy",
          "state",
          "public_url_matches",
          "message"
        ],
        "type": "object"
      },
      "TelemetryDestinationStatus": {
        "description": "One collector receiving the daemon's telemetry.",
        "properties": {
          "connected": {
            "description": "Whether the collector accepted the last export.",
            "type": "boolean"
          },
          "dropped": {
            "description": "Records dropped since the daemon started, because the queue was full\nor the collector failed or rejected them.",
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          "endpoint": {
            "description": "OTLP/gRPC endpoint: `https://`, `http://` or `unix://`.",
            "type": "string"
          },
          "failing": {
            "description": "Whether exports have failed for at least a minute without a success.",
            "type": "boolean"
          },
          "headers": {
            "description": "The file request headers were read from, such as\n`from /run/credentials/piqueld.service/otlp-headers`; never their\nvalues. Absent without headers.",
            "nullable": true,
            "type": "string"
          },
          "last_success_ms": {
            "description": "When the collector last accepted an export, in Unix milliseconds;\nabsent before the first.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "receiver": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TelemetryReceiver"
                  }
                ],
                "description": "The environment whose receiving service this is; absent for the\nconfigured endpoint."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "endpoint",
          "dropped",
          "failing"
        ],
        "type": "object"
      },
      "TelemetryMount": {
        "additionalProperties": false,
        "description": "A telemetry receiver's socket directory, bind-mounted at\n[`TELEMETRY_TARGET`], and the user the service runs as instead of the\nimage's, the daemon's, so the daemon can connect to the socket it creates.",
        "properties": {
          "source": {
            "description": "Absolute host directory.",
            "type": "string"
          },
          "user": {
            "description": "`uid:gid`.",
            "type": "string"
          }
        },
        "required": [
          "source",
          "user"
        ],
        "type": "object"
      },
      "TelemetryReceiver": {
        "description": "The environment a telemetry destination is the receiving service of.",
        "properties": {
          "application": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ApplicationName"
                  }
                ],
                "description": "Its application's current name."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "environment": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EnvironmentName"
                  }
                ],
                "description": "Its current name."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "environment_id": {
            "$ref": "#/components/schemas/EnvironmentId",
            "description": "Stable environment ID."
          }
        },
        "required": [
          "environment_id"
        ],
        "type": "object"
      },
      "TelemetryReport": {
        "description": "Whether an environment receives the daemon's telemetry.",
        "properties": {
          "destination": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/TelemetryDestinationStatus"
                  }
                ],
                "description": "The daemon's export to that service, while it is granted and deployed."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "granted": {
            "description": "Whether the environment is granted the daemon's telemetry.",
            "type": "boolean"
          },
          "receiver": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ServiceName"
                  }
                ],
                "description": "The deployed service receiving it, if the current runtime target has one."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "required": [
          "granted"
        ],
        "type": "object"
      },
      "TelemetryStatus": {
        "description": "Export of the daemon's traces, metrics and logs over OTLP, and of its\ncontainers' logs and resource usage.",
        "properties": {
          "containers": {
            "description": "Whether the logs and resource usage of the containers piqueld runs are\nexported along with the daemon's own telemetry.",
            "type": "boolean"
          },
          "destinations": {
            "description": "Collectors receiving telemetry: the `[telemetry]` endpoint, if set,\nthen the receiving service of each granted environment the caller\ncan read.",
            "items": {
              "$ref": "#/components/schemas/TelemetryDestinationStatus"
            },
            "type": "array"
          }
        },
        "required": [
          "destinations"
        ],
        "type": "object"
      },
      "Template": {
        "description": "Text that may contain `${{ namespace.name }}` references, with optional\nwhitespace inside the braces. `$${{` writes a literal `${{`; `${VAR}` and\n`$VAR` are ordinary text, left for shells and applications to expand.\n\n```text\n\"${{ vars.domain }}\"       -> the value of `domain`\n\"api.${{vars.domain}}\"     -> \"api.\" followed by the value of `domain`\n\"$${{ vars.domain }}\"      -> \"${{ vars.domain }}\", literally\n```",
        "type": "string"
      },
      "TemplateValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Template",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "TemplatesValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/Template"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "TerminalSize": {
        "description": "Terminal dimensions in character cells.",
        "properties": {
          "height": {
            "description": "Rows.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "width": {
            "description": "Columns.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          }
        },
        "required": [
          "width",
          "height"
        ],
        "type": "object"
      },
      "TrackedBranch": {
        "description": "A branch of the application's manifest repository that an environment\nfollows, optionally pinned to one commit. Always a valid Git branch name\nand, when pinned, a full commit hash.",
        "properties": {
          "branch": {
            "description": "Branch whose head is fetched; also `git.branch`.",
            "type": "string"
          },
          "commit": {
            "description": "Full commit fetched instead of the branch head, when pinned.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "branch"
        ],
        "type": "object"
      },
      "TypedTemplate": {
        "description": "A template in a setting of another type, such as an integer: text\ncontaining a `${{` reference. A template that is exactly one reference\ntakes the variable's own value, which must have the setting's type;\nstrings are never parsed into numbers. For example, with `replicas =\n\"${{ vars.replicas }}\"`, the variable `replicas` must be the integer `2`,\nnot the string `\"2\"`.",
        "pattern": "\\$\\{\\{",
        "type": "string"
      },
      "Typed_RolloutOrder": {
        "description": "A value written directly, or a template rendered for each environment.\n\nA template that is exactly one reference takes the variable's own value;\nany other template renders to text. The value must have the setting's\ntype: strings are never parsed into numbers.",
        "oneOf": [
          {
            "description": "Whether Docker stops the old container before or after starting its\nreplacement.",
            "enum": [
              "stop-first",
              "start-first"
            ],
            "type": "string"
          },
          {
            "$ref": "#/components/schemas/TypedTemplate",
            "description": "A value rendered from variables."
          }
        ]
      },
      "Typed_u16": {
        "description": "A value written directly, or a template rendered for each environment.\n\nA template that is exactly one reference takes the variable's own value;\nany other template renders to text. The value must have the setting's\ntype: strings are never parsed into numbers.",
        "oneOf": [
          {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          {
            "$ref": "#/components/schemas/TypedTemplate",
            "description": "A value rendered from variables."
          }
        ]
      },
      "Typed_u32": {
        "description": "A value written directly, or a template rendered for each environment.\n\nA template that is exactly one reference takes the variable's own value;\nany other template renders to text. The value must have the setting's\ntype: strings are never parsed into numbers.",
        "oneOf": [
          {
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          {
            "$ref": "#/components/schemas/TypedTemplate",
            "description": "A value rendered from variables."
          }
        ]
      },
      "Typed_u64": {
        "description": "A value written directly, or a template rendered for each environment.\n\nA template that is exactly one reference takes the variable's own value;\nany other template renders to text. The value must have the setting's\ntype: strings are never parsed into numbers.",
        "oneOf": [
          {
            "format": "int64",
            "minimum": 0,
            "type": "integer"
          },
          {
            "$ref": "#/components/schemas/TypedTemplate",
            "description": "A value rendered from variables."
          }
        ]
      },
      "UrlCondition": {
        "description": "A condition that keeps a URL pending.",
        "oneOf": [
          {
            "description": "The gateway has not acknowledged this exact route yet.",
            "properties": {
              "condition": {
                "enum": [
                  "ingress"
                ],
                "type": "string"
              }
            },
            "required": [
              "condition"
            ],
            "type": "object"
          },
          {
            "description": "HTTPS, with the route's certificate, is not verified for this route:\nits listener is unhealthy now, or the daemon's latest route check\nfailed or has not run since the route changed.",
            "properties": {
              "condition": {
                "enum": [
                  "https"
                ],
                "type": "string"
              },
              "message": {
                "description": "Why, from the route's status.",
                "type": "string"
              }
            },
            "required": [
              "message",
              "condition"
            ],
            "type": "object"
          },
          {
            "description": "The hostname's managed DNS records are not in place.",
            "properties": {
              "condition": {
                "enum": [
                  "dns"
                ],
                "type": "string"
              },
              "state": {
                "$ref": "#/components/schemas/DnsRecordState",
                "description": "`pending` or `dns_conflict`."
              }
            },
            "required": [
              "state",
              "condition"
            ],
            "type": "object"
          },
          {
            "description": "The route's service is not observed healthy.",
            "properties": {
              "condition": {
                "enum": [
                  "service"
                ],
                "type": "string"
              },
              "service": {
                "$ref": "#/components/schemas/ServiceName",
                "description": "The route's service."
              }
            },
            "required": [
              "service",
              "condition"
            ],
            "type": "object"
          }
        ]
      },
      "UrlState": {
        "description": "Whether a URL is reachable. A known URL is not a ready one.",
        "enum": [
          "pending",
          "ready"
        ],
        "type": "string"
      },
      "User": {
        "description": "Public account information.",
        "properties": {
          "display_name": {
            "description": "Optional human-readable name (empty when unset).",
            "type": "string"
          },
          "id": {
            "description": "Immutable `WebAuthn` user handle.",
            "type": "string"
          },
          "username": {
            "description": "Unique, editable account name.",
            "type": "string"
          }
        },
        "required": [
          "id",
          "username",
          "display_name"
        ],
        "type": "object"
      },
      "ValidatedBuild": {
        "description": "Validated build instructions.",
        "oneOf": [
          {
            "description": "Build a local container image using Docker.",
            "properties": {
              "args": {
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Values passed as `--build-arg`.",
                "type": "object"
              },
              "context": {
                "description": "Build context relative to the repository root.",
                "type": "string"
              },
              "dockerfile": {
                "description": "Dockerfile path relative to the repository root.",
                "type": "string"
              },
              "target": {
                "description": "Multi-stage build target; the final stage when absent.",
                "nullable": true,
                "type": "string"
              },
              "type": {
                "enum": [
                  "docker"
                ],
                "type": "string"
              }
            },
            "required": [
              "dockerfile",
              "context",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "ValidatedExport": {
        "additionalProperties": false,
        "description": "A validated export.",
        "properties": {
          "applications": {
            "description": "Applications whose environments may import it.",
            "items": {
              "$ref": "#/components/schemas/ApplicationName"
            },
            "type": "array",
            "uniqueItems": true
          },
          "previews": {
            "description": "Whether previews of those applications may import it too.",
            "type": "boolean"
          },
          "service": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Exported service of this application."
          }
        },
        "required": [
          "service",
          "applications"
        ],
        "type": "object"
      },
      "ValidatedHealthCheck": {
        "description": "Validated container health check.",
        "oneOf": [
          {
            "description": "HTTP health endpoint check.",
            "properties": {
              "interval_seconds": {
                "description": "Probe interval in seconds.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              },
              "path": {
                "description": "HTTP path to probe.",
                "type": "string"
              },
              "port": {
                "description": "Container port to probe.",
                "format": "int32",
                "maximum": 65535,
                "minimum": 0,
                "type": "integer"
              },
              "retries": {
                "description": "Consecutive failed probes that make the container unhealthy.\nOmitted when the default.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              },
              "start_period_seconds": {
                "description": "Startup grace in seconds, during which failed probes do not count.\nOmitted when zero, so targets keep their encoding.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              },
              "timeout_seconds": {
                "description": "Probe timeout in seconds.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              },
              "type": {
                "enum": [
                  "http"
                ],
                "type": "string"
              }
            },
            "required": [
              "port",
              "path",
              "interval_seconds",
              "timeout_seconds",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "Executable command health check.",
            "properties": {
              "command": {
                "description": "Command and arguments to execute.",
                "items": {
                  "type": "string"
                },
                "type": "array"
              },
              "interval_seconds": {
                "description": "Probe interval in seconds.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              },
              "retries": {
                "description": "Consecutive failed probes that make the container unhealthy.\nOmitted when the default.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              },
              "start_period_seconds": {
                "description": "Startup grace in seconds, during which failed probes do not count.\nOmitted when zero, so targets keep their encoding.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              },
              "timeout_seconds": {
                "description": "Probe timeout in seconds.",
                "format": "int32",
                "minimum": 0,
                "type": "integer"
              },
              "type": {
                "enum": [
                  "command"
                ],
                "type": "string"
              }
            },
            "required": [
              "command",
              "interval_seconds",
              "timeout_seconds",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "ValidatedImport": {
        "additionalProperties": false,
        "description": "A validated import.",
        "properties": {
          "application": {
            "$ref": "#/components/schemas/ApplicationName",
            "description": "Application exporting the service."
          },
          "environment": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/EnvironmentName"
                  }
                ],
                "description": "Environment of that application to reach; unset reaches the one named\nlike the importing environment."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "service": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Exported service of that application."
          }
        },
        "required": [
          "application",
          "service"
        ],
        "type": "object"
      },
      "ValidatedJob": {
        "description": "Validated one-shot job.",
        "properties": {
          "command": {
            "description": "Command replacing the service's command and arguments.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "environment": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Environment variables added to the service's. Omitted when empty so\nexisting specification hashes stay stable.",
            "type": "object"
          },
          "name": {
            "$ref": "#/components/schemas/JobName",
            "description": "Logical job name."
          },
          "run": {
            "$ref": "#/components/schemas/JobRun",
            "description": "Deployment point at which the job runs."
          },
          "secrets": {
            "description": "Secrets added to the service's. Omitted when empty so existing\nspecification hashes stay stable.",
            "items": {
              "$ref": "#/components/schemas/ValidatedSecretMount"
            },
            "type": "array"
          },
          "service": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Service whose prepared container settings the job reuses."
          },
          "stop_service": {
            "description": "Whether the job's service stops before the job runs. Omitted when\nunset, so spec hashes of applications that never set it stay\nunchanged.",
            "type": "boolean"
          },
          "timeout_seconds": {
            "description": "Seconds the job may run before the deployment fails.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "volume_access": {
            "$ref": "#/components/schemas/JobVolumeAccess",
            "description": "How the job may use the service's volumes. The default is omitted, so\nspec hashes of applications that never set it stay unchanged."
          }
        },
        "required": [
          "name",
          "service",
          "command",
          "run",
          "timeout_seconds"
        ],
        "type": "object"
      },
      "ValidatedMetadata": {
        "description": "Validated application metadata.",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/ApplicationName",
            "description": "User-facing application name."
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "ValidatedMount": {
        "description": "A persistent volume mount in a service.",
        "properties": {
          "read_only": {
            "description": "Whether the mount is read-only.",
            "type": "boolean"
          },
          "target": {
            "description": "Container target path.",
            "type": "string"
          },
          "volume": {
            "$ref": "#/components/schemas/VolumeName",
            "description": "Referenced logical volume name."
          }
        },
        "required": [
          "volume",
          "target",
          "read_only"
        ],
        "type": "object"
      },
      "ValidatedRedirect": {
        "additionalProperties": false,
        "description": "An HTTP redirect answered by the gateway itself.",
        "properties": {
          "preserve_path": {
            "description": "Appends the request path and query to `to`.",
            "type": "boolean"
          },
          "status": {
            "description": "HTTP redirect status code.",
            "oneOf": [
              {
                "enum": [
                  301,
                  302,
                  303,
                  307,
                  308
                ],
                "type": "integer"
              }
            ]
          },
          "to": {
            "$ref": "#/components/schemas/RedirectUrl",
            "description": "Absolute destination URL."
          }
        },
        "required": [
          "to",
          "status",
          "preserve_path"
        ],
        "type": "object"
      },
      "ValidatedResourceLimits": {
        "additionalProperties": false,
        "description": "Validated CPU and memory limits.",
        "properties": {
          "cpu_millis": {
            "description": "CPU limit in millicores.",
            "format": "int32",
            "minimum": 0,
            "nullable": true,
            "type": "integer"
          },
          "memory_bytes": {
            "description": "Memory limit in bytes.",
            "format": "int64",
            "maximum": 9223372036854775807,
            "minimum": 1,
            "nullable": true,
            "type": "integer"
          }
        },
        "type": "object"
      },
      "ValidatedRollout": {
        "additionalProperties": false,
        "description": "Validated rollout settings of a service.",
        "properties": {
          "monitor_seconds": {
            "default": null,
            "description": "Seconds Docker watches each replacement task for failure; 30 when omitted.",
            "format": "int32",
            "maximum": 3600,
            "minimum": 1,
            "nullable": true,
            "type": "integer"
          },
          "order": {
            "default": null,
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RolloutOrder"
                  }
                ],
                "description": "Update order; derived from the service's mounts when omitted."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          }
        },
        "type": "object"
      },
      "ValidatedRoute": {
        "allOf": [
          {
            "$ref": "#/components/schemas/RouteTarget",
            "description": "Backend service or redirect."
          },
          {
            "properties": {
              "hostname": {
                "$ref": "#/components/schemas/RouteHostname",
                "description": "Canonical public hostname, exact or a wildcard."
              },
              "name": {
                "oneOf": [
                  {
                    "allOf": [
                      {
                        "$ref": "#/components/schemas/RouteName"
                      }
                    ],
                    "description": "Stable name, unique within the application. Declared after\n`hostname`, so routes stay ordered by hostname."
                  },
                  {
                    "enum": [
                      null
                    ],
                    "nullable": true,
                    "type": "string"
                  }
                ]
              },
              "visibility": {
                "$ref": "#/components/schemas/Visibility",
                "description": "Effective visibility: the route's own, capped by its environment's\nceiling when the manifest was rendered."
              }
            },
            "required": [
              "hostname"
            ],
            "type": "object"
          }
        ],
        "description": "Validated, application-owned HTTP route; TLS terminates at the gateway."
      },
      "ValidatedSecretMount": {
        "description": "A rendered secret file mount.",
        "properties": {
          "name": {
            "description": "Logical secret name.",
            "type": "string"
          },
          "target": {
            "description": "Absolute normalized destination under /run/secrets.",
            "type": "string"
          }
        },
        "required": [
          "name",
          "target"
        ],
        "type": "object"
      },
      "ValidatedService": {
        "description": "Validated application service.",
        "properties": {
          "arguments": {
            "description": "Arguments passed to the command.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "command": {
            "description": "Container entrypoint command.",
            "items": {
              "type": "string"
            },
            "type": "array"
          },
          "depends_on": {
            "description": "Services in this application that must be healthy before this one rolls out.\nOmitted when empty so existing specification hashes stay stable.",
            "items": {
              "$ref": "#/components/schemas/ServiceName"
            },
            "type": "array"
          },
          "environment": {
            "additionalProperties": {
              "type": "string"
            },
            "description": "Environment variables keyed by name.",
            "type": "object"
          },
          "files": {
            "description": "Read-only files. Omitted when empty so existing specification hashes stay stable.",
            "items": {
              "$ref": "#/components/schemas/ServiceFile"
            },
            "type": "array"
          },
          "healthcheck": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ValidatedHealthCheck"
                  }
                ],
                "description": "Optional container health check."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "mounts": {
            "description": "Persistent volume mounts.",
            "items": {
              "$ref": "#/components/schemas/ValidatedMount"
            },
            "type": "array"
          },
          "name": {
            "$ref": "#/components/schemas/ServiceName",
            "description": "Logical service name."
          },
          "receives_telemetry": {
            "description": "Whether the service receives the daemon's telemetry once its\nenvironment is granted it. Omitted when false so existing\nspecification hashes stay stable.",
            "type": "boolean"
          },
          "replicas": {
            "description": "Desired replica count.",
            "format": "int32",
            "minimum": 0,
            "type": "integer"
          },
          "resources": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/ValidatedResourceLimits"
                  }
                ],
                "description": "Optional CPU and memory limits."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "rollout": {
            "$ref": "#/components/schemas/ValidatedRollout",
            "description": "Rollout settings. Omitted when default so existing specification hashes stay stable."
          },
          "secrets": {
            "description": "Secret file mounts.",
            "items": {
              "$ref": "#/components/schemas/ValidatedSecretMount"
            },
            "type": "array"
          },
          "source": {
            "$ref": "#/components/schemas/ValidatedSource",
            "description": "Explicit image or build source."
          }
        },
        "required": [
          "name",
          "source",
          "replicas",
          "environment",
          "command",
          "arguments",
          "mounts"
        ],
        "type": "object"
      },
      "ValidatedSource": {
        "description": "Validated service source.",
        "oneOf": [
          {
            "description": "Pull a prebuilt image from a registry.",
            "properties": {
              "image": {
                "description": "Image reference.",
                "type": "string"
              },
              "type": {
                "enum": [
                  "image"
                ],
                "type": "string"
              }
            },
            "required": [
              "image",
              "type"
            ],
            "type": "object"
          },
          {
            "description": "Build a checked-out Git revision.",
            "properties": {
              "build": {
                "$ref": "#/components/schemas/ValidatedBuild",
                "description": "Explicit build instructions."
              },
              "repository": {
                "$ref": "#/components/schemas/SourceRepository",
                "description": "Repository and revision to resolve."
              },
              "type": {
                "enum": [
                  "git"
                ],
                "type": "string"
              }
            },
            "required": [
              "repository",
              "build",
              "type"
            ],
            "type": "object"
          }
        ]
      },
      "ValidatedSpec": {
        "description": "Validated application resource lists.",
        "properties": {
          "exports": {
            "description": "Services other applications may reach over private links.",
            "items": {
              "$ref": "#/components/schemas/ValidatedExport"
            },
            "type": "array"
          },
          "imports": {
            "description": "Services of other applications this application reaches.",
            "items": {
              "$ref": "#/components/schemas/ValidatedImport"
            },
            "type": "array"
          },
          "jobs": {
            "description": "One-shot jobs in declared execution order.",
            "items": {
              "$ref": "#/components/schemas/ValidatedJob"
            },
            "type": "array"
          },
          "manifest": {
            "oneOf": [
              {
                "allOf": [
                  {
                    "$ref": "#/components/schemas/RepositoryManifest"
                  }
                ],
                "description": "Optional repository that supplies this application's manifest on Deploy."
              },
              {
                "enum": [
                  null
                ],
                "nullable": true,
                "type": "string"
              }
            ]
          },
          "routes": {
            "description": "Exact public HTTP routes.",
            "items": {
              "$ref": "#/components/schemas/ValidatedRoute"
            },
            "type": "array"
          },
          "secrets": {
            "description": "Secrets whose values piqueld generates once.",
            "items": {
              "$ref": "#/components/schemas/SecretDeclaration"
            },
            "type": "array"
          },
          "services": {
            "description": "Declared services.",
            "items": {
              "$ref": "#/components/schemas/ValidatedService"
            },
            "type": "array"
          },
          "volumes": {
            "description": "Declared named volumes.",
            "items": {
              "$ref": "#/components/schemas/ValidatedVolume"
            },
            "type": "array"
          }
        },
        "required": [
          "services",
          "volumes"
        ],
        "type": "object"
      },
      "ValidatedVolume": {
        "description": "Validated named volume.",
        "properties": {
          "name": {
            "$ref": "#/components/schemas/VolumeName",
            "description": "Logical volume name."
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "Variable": {
        "description": "A variable's value: a string, an integer or a boolean. A string may\nreference system variables, such as `${{ env.name }}`, but not other\nvariables.",
        "oneOf": [
          {
            "description": "A boolean.",
            "type": "boolean"
          },
          {
            "description": "A signed 64-bit integer.",
            "format": "int64",
            "type": "integer"
          },
          {
            "$ref": "#/components/schemas/Template",
            "description": "Text of at most 65,536 bytes, which may reference system variables."
          }
        ]
      },
      "VariableValue": {
        "description": "A variable's value for one environment.",
        "oneOf": [
          {
            "description": "A boolean.",
            "type": "boolean"
          },
          {
            "description": "A signed 64-bit integer.",
            "format": "int64",
            "type": "integer"
          },
          {
            "description": "Text.",
            "type": "string"
          }
        ]
      },
      "Variables": {
        "additionalProperties": false,
        "description": "Every variable value of an application, replaced together.",
        "properties": {
          "defaults": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Variable"
            },
            "default": {},
            "description": "Defaults, `[spec.variables]`.",
            "type": "object"
          },
          "environments": {
            "additionalProperties": {
              "additionalProperties": {
                "$ref": "#/components/schemas/Variable"
              },
              "type": "object"
            },
            "default": {},
            "description": "Values per environment name, `[spec.environments.<name>.variables]`.",
            "type": "object"
          },
          "previews": {
            "additionalProperties": {
              "$ref": "#/components/schemas/Variable"
            },
            "default": {},
            "description": "Values for every preview, `[spec.previews.variables]`.",
            "type": "object"
          }
        },
        "type": "object"
      },
      "VariablesValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Variables",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "Visibility": {
        "description": "Who may connect to a route: everyone, or only tailnet devices.",
        "enum": [
          "public",
          "private"
        ],
        "type": "string"
      },
      "VisibilityValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "$ref": "#/components/schemas/Visibility",
            "description": "New value; null explicitly clears an optional setting."
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "Volume": {
        "additionalProperties": false,
        "description": "A named volume the services mount. Its data is kept across deployments,\nand when the application is deleted. A preview's volumes are deleted with\nthe preview.",
        "properties": {
          "name": {
            "description": "Name of the volume, unique in the application.",
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "type": "object"
      },
      "VolumeName": {
        "description": "Logical volume name, including references from service mounts.",
        "type": "string"
      },
      "VolumesValue": {
        "additionalProperties": false,
        "properties": {
          "value": {
            "description": "New value; null explicitly clears an optional setting.",
            "items": {
              "$ref": "#/components/schemas/Volume"
            },
            "type": "array"
          }
        },
        "required": [
          "value"
        ],
        "type": "object"
      },
      "WebhookSecret": {
        "description": "A newly generated webhook secret. It is shown only in this response.",
        "properties": {
          "created_at_ms": {
            "description": "When it was generated, in Unix milliseconds.",
            "format": "int64",
            "type": "integer"
          },
          "secret": {
            "description": "Secret to configure in GitHub, which signs each delivery with it.",
            "type": "string"
          },
          "url": {
            "description": "Payload URL to configure in GitHub, when exposed.",
            "nullable": true,
            "type": "string"
          }
        },
        "required": [
          "secret",
          "created_at_ms"
        ],
        "type": "object"
      },
      "WebhookView": {
        "description": "Where GitHub sends an application's push webhooks, and its secret.",
        "properties": {
          "secret_created_at_ms": {
            "description": "When the current secret was generated; absent until one is.",
            "format": "int64",
            "nullable": true,
            "type": "integer"
          },
          "url": {
            "description": "Payload URL to configure in GitHub; absent until the daemon sets\n`ingress.webhook_hostname`.",
            "nullable": true,
            "type": "string"
          }
        },
        "type": "object"
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "scheme": "bearer",
        "type": "http"
      },
      "browserSession": {
        "in": "cookie",
        "name": "piqueld_session",
        "type": "apiKey"
      }
    }
  },
  "info": {
    "description": "piqueld control-plane API. Mutation responses identify durable operations; named volumes are retained on deletion.",
    "license": {
      "name": "Apache-2.0"
    },
    "title": "piqueld API",
    "version": "v1"
  },
  "openapi": "3.0.3",
  "paths": {
    "/api/v1/analytics/deployments": {
      "get": {
        "description": "Aggregates deployment outcomes; the window defaults to the last 30 days.",
        "operationId": "deploymentAnalytics",
        "parameters": [
          {
            "description": "Only include deployments of this environment.",
            "in": "query",
            "name": "environment_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Inclusive Unix millisecond lower bound; defaults to 30 days before\n`until_ms`, and no earlier than zero.",
            "in": "query",
            "name": "since_ms",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive Unix millisecond upper bound; defaults to now.",
            "in": "query",
            "name": "until_ms",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_DeploymentAnalytics"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Gets deployment analytics for a time window.",
        "x-piqueld-access": "events:read"
      }
    },
    "/api/v1/applications": {
      "get": {
        "operationId": "listApplications",
        "parameters": [
          {
            "description": "`next_cursor` from a previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page size.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 100,
              "format": "int32",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Page_ApplicationSummary"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "List applications",
        "x-piqueld-access": "authenticated"
      },
      "post": {
        "description": "The body holds only the name, which must not already be in use (409\notherwise). Pass `deploy=true` to also deploy it (202 instead of 200).",
        "operationId": "create_application",
        "parameters": [
          {
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Empty application saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Creates an empty application.",
        "x-piqueld-access": "apps:create"
      }
    },
    "/api/v1/applications/apply": {
      "post": {
        "operationId": "applyApplication",
        "parameters": [
          {
            "description": "Explicitly bypass revision and identity preconditions.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the saved configuration to the application's only environment or,\nwhen its manifest declares environments, every declared one not promoted\nfrom another; omission saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "TOML only: required unless forced; zero requires absence. JSON uses `expected_generation` in the request body.",
            "in": "header",
            "name": "X-Expected-Generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "TOML only: inspected application identity. JSON uses `expected_application_id` in the request body.",
            "in": "header",
            "name": "X-Expected-Application-Id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyApplicationRequest"
              }
            },
            "application/toml": {
              "schema": {
                "type": "string"
              }
            },
            "text/toml": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Apply an application manifest",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/applications/plan": {
      "post": {
        "operationId": "planApplication",
        "parameters": [
          {
            "description": "Environment of the application whose latest deployment and runtime the\npreview compares against; defaults to its only environment.",
            "in": "query",
            "name": "environment",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "TOML only: inspected intent revision; zero requires absence. JSON uses `expected_generation` in the request body.",
            "in": "header",
            "name": "X-Expected-Generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "TOML only: inspected application identity. JSON uses `expected_application_id` in the request body.",
            "in": "header",
            "name": "X-Expected-Application-Id",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplyApplicationRequest"
              }
            },
            "application/toml": {
              "schema": {
                "type": "string"
              }
            },
            "text/toml": {
              "schema": {
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_PlanView"
                }
              }
            },
            "description": "Preview"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Preview an application manifest",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/applications/{id}": {
      "delete": {
        "operationId": "deleteApplication",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 8,
              "type": "string"
            }
          },
          {
            "description": "Current application revision; required unless forced.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision precondition. Never skips confirmation.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Comma-separated names of every environment; required when there are several.",
            "in": "query",
            "name": "environments",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_DeletedApplication"
                }
              }
            },
            "description": "Deletion operations"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Delete an application with its environments, retaining their volumes, and its previews",
        "x-piqueld-access": "apps:delete"
      },
      "get": {
        "operationId": "getApplication",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 8,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_ApplicationView"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Get an application and its environments",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/applications/{id}/environments": {
      "post": {
        "description": "The environment starts `not_deployed`. It deploys the application's saved\nmanifest or, when the application is repository-backed, the manifest on\n`branch` (by default the branch `spec.manifest` names), optionally pinned\nto `commit`. A branch for an application without a repository fails with\n`manifest_repository_required`. With `promote_from`, it never builds and\nonly receives releases promoted from that environment, which must be\nanother environment of the application, never a preview\n(`promotion_source_invalid`). The inspected application\n`expected_generation` goes in the JSON body.",
        "operationId": "createEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Explicitly bypass the intent revision precondition. Name availability is always enforced.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEnvironmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentView"
                }
              }
            },
            "description": "Environment created"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Adds an environment to an application.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/environments/{environment}/rollback": {
      "put": {
        "description": "`{environment}` is the environment's name, as in\n`[spec.environments.<name>]`, not its ID. `automatic` restores the\nenvironment's last successful deployment when a service update fails\nwithin its monitor window; `manual` leaves it degraded. `null` returns\nto the default: automatic for promoted environments, manual otherwise.\nSame query options, idempotency, and 200/202 responses as the other\nediting endpoints.",
        "operationId": "set_environment_rollback",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "environment",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RollbackValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Sets what happens when an environment's rollout fails.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/environments/{environment}/visibility": {
      "put": {
        "description": "`{environment}` is the environment's name, as in\n`[spec.environments.<name>]`, not its ID. Every route of the environment\nis at most this visible; `public` restricts nothing. Same query\noptions, idempotency, and 200/202 responses as the other editing\nendpoints.",
        "operationId": "set_environment_visibility",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "environment",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VisibilityValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Sets an environment's visibility ceiling.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/exports": {
      "put": {
        "operationId": "set_application_exports",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ExportsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/generated-secrets": {
      "put": {
        "operationId": "set_application_generated_secrets",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneratedSecretsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/imports": {
      "put": {
        "operationId": "set_application_imports",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ImportsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/jobs": {
      "put": {
        "operationId": "set_application_jobs",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/JobsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/manifest": {
      "get": {
        "description": "Reads only saved configuration, so it works while the runtime is unavailable.",
        "operationId": "downloadApplicationManifest",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/toml": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Saved application configuration",
            "headers": {
              "Cache-Control": {
                "description": "no-store",
                "schema": {
                  "type": "string"
                }
              },
              "Content-Disposition": {
                "description": "Attachment filename for the saved TOML manifest",
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Downloads the saved configuration as a TOML manifest.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/applications/{id}/name": {
      "put": {
        "operationId": "set_application_name",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/previews": {
      "get": {
        "description": "Each preview comes with its status, latest operation, hostnames, origin,\n`[previews]` bounds, sync state, and branch state, read with one\n`git ls-remote` of the manifest repository.\nRepository failures make every branch state `unknown`.",
        "operationId": "listPreviews",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Vec_PreviewView"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists an application's previews.",
        "x-piqueld-access": "apps:read"
      },
      "post": {
        "description": "Creates and deploys a preview of `branch` of the application's manifest\nrepository, distinguished by `slot` when several previews share a branch.\nRepeating the request returns the existing preview of that branch and\nslot with its latest operation, without redeploying it. Applications\nwithout a manifest repository fail with `preview_requires_repository`.\nA new preview beyond a `[previews]` limit fails with 409\n`preview_limit_reached`, whose `details` are a `PreviewLimitReached`\nlisting the previews it counts. Needs no application revision.",
        "operationId": "createPreview",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePreviewRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_CreatedPreview"
                }
              }
            },
            "description": "The preview of this branch and slot already exists"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_CreatedPreview"
                }
              }
            },
            "description": "Preview created and its first deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Creates a preview of a branch.",
        "x-piqueld-access": "previews:deploy"
      }
    },
    "/api/v1/applications/{id}/previews/local": {
      "post": {
        "description": "The body is a Git bundle of one snapshot commit, at most `[snapshots]\nmax_upload_bytes`: either thin, needing commits the application's\nrepository has (its base and, for merges, ancestors of it), which the\ndaemon fetches, or complete.\nIt is verified and unbundled into a repository of its own. The preview\nof `branch` and `slot` is created first if needed, as `createPreview`\ndoes, and deploys the snapshot's manifest, building `\"self\"` sources from\nit. Fails with 409 `preview_requires_repository` or\n`preview_limit_reached`; 413 `snapshot_too_large` when the bundle exceeds\nthe upload limit or the snapshot, or the history it needs, exceeds\n`[checkouts] max_bytes`; 422 `snapshot_invalid`; or 422\n`snapshot_base_unavailable`, whose `details.prerequisites` names the\ncommits it needs; upload a complete bundle then. A body that stalls for\n30 seconds, or an upload not received within 10 minutes, fails with 408\n`snapshot_timed_out`. Needs no application revision.",
        "operationId": "deployLocalPreview",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "The worktree's branch of the manifest repository.",
            "in": "query",
            "name": "branch",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Distinguishes several previews of one branch.",
            "in": "query",
            "name": "slot",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "description": "A Git bundle, sent as raw bytes; it only documents the request body.",
                "format": "binary",
                "type": "string"
              }
            }
          },
          "description": "Git bundle of the snapshot commit",
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_CreatedPreview"
                }
              }
            },
            "description": "Snapshot received and its deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Deploys a snapshot of a local worktree to a preview.",
        "x-piqueld-access": "previews:deploy"
      }
    },
    "/api/v1/applications/{id}/previews/prune": {
      "post": {
        "description": "Deletes each listed preview whose branch the manifest repository confirms\nis gone when the request runs, and keeps the others. When the repository\ncannot be read, fails with `repository_unavailable` and deletes nothing.",
        "operationId": "prunePreviews",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PrunePreviewsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Vec_DeletedPreview"
                }
              }
            },
            "description": "Previews whose deletion was accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Deletes previews whose branch is gone.",
        "x-piqueld-access": "previews:delete"
      }
    },
    "/api/v1/applications/{id}/releases": {
      "get": {
        "description": "A release is recorded by each successful preparation in a tracking\nenvironment, and shared by preparations with the same content. Releases\noutlive the environments that recorded them, but image cleanup may remove\ntheir built images: `availability` says whether each one's images are\nstill present. Returns twenty per page; follow `next_cursor` for older ones.",
        "operationId": "listReleases",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "`next_cursor` from a previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Page_ReleaseView"
                }
              }
            },
            "description": "Releases, newest first (twenty per page)"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists an application's releases, newest first.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/applications/{id}/rename": {
      "post": {
        "description": "Changes only the user-facing name, without redeploying. The inspected\n`expected_generation` goes in the JSON body; the new name must not already be\nin use, even with `force=true`.",
        "operationId": "renameApplication",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Explicitly bypass the intent revision precondition. Name availability is always enforced.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RenameApplicationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_RenamedApplication"
                }
              }
            },
            "description": "Application renamed without redeployment"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Renames an application.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/repository": {
      "delete": {
        "description": "The saved configuration becomes directly editable. Same query options,\nidempotency, and 200/202 responses as the other editing endpoints.",
        "operationId": "disconnect_manifest_repository",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Disconnects the manifest repository.",
        "x-piqueld-access": "apps:write"
      },
      "put": {
        "operationId": "set_manifest_repository",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RepositoryValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/repository/path": {
      "put": {
        "operationId": "set_manifest_repository_path",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/repository/sync": {
      "put": {
        "operationId": "set_manifest_repository_sync",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RepositorySyncValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/repository/url": {
      "put": {
        "operationId": "set_manifest_repository_url",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/routes": {
      "put": {
        "operationId": "set_application_routes",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoutesValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/secrets": {
      "get": {
        "description": "Returns metadata only; secret values are write-only and never returned.",
        "operationId": "applicationSecrets",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Vec_StoredSecret"
                }
              }
            },
            "description": "Stored secret metadata and access"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists an application's stored secrets and who may mount them.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/applications/{id}/secrets/{name}": {
      "delete": {
        "description": "Fails with 409 while any environment's configuration or deployment still\nreferences it. If cleanup is interrupted, retrying the deletion finishes it.",
        "operationId": "deleteApplicationSecret",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Expected-Generation",
            "required": true,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_bool"
                }
              }
            },
            "description": "Secret deleted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Deletes a stored secret and every environment's Docker secrets for it.",
        "x-piqueld-access": "secrets:write"
      },
      "put": {
        "description": "The body is the raw value (`application/octet-stream`, 1–512000 bytes);\nanother content type fails with 415 and a body over the 2 MiB request\nlimit with 413. `X-Expected-Generation` must be 0 to create a secret, or its current\ngeneration to replace it; a mismatch fails with 409. Running services keep\ntheir value until the next deployment. Supplying `environments` (`all`, or\nenvironment IDs) replaces the access list, with `previews` (default\n`false`); `previews` alone fails with 400. Without them, a new secret\nallows every environment and no previews, and an existing one keeps its\nlist. Names the\nsaved manifest or an environment's last fetched one declares as generated\nsecrets fail with 422 `manifest_validation_failed` and `secret_name_conflict`\nin `details.errors`. The response carries metadata only.",
        "operationId": "putApplicationSecret",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Expected-Generation",
            "required": true,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "The environments that may mount the secret: `all`, or comma-separated\nenvironment IDs (empty for none). Supplying it replaces the access list.",
            "in": "query",
            "name": "environments",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Whether previews may mount the secret; only with `environments`, and\n`false` when omitted.",
            "in": "query",
            "name": "previews",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/octet-stream": {
              "schema": {
                "format": "binary",
                "type": "string"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_StoredSecret"
                }
              }
            },
            "description": "Updated metadata; no secret value"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Creates or replaces a value in an application's secret store.",
        "x-piqueld-access": "secrets:write"
      }
    },
    "/api/v1/applications/{id}/secrets/{name}/access": {
      "put": {
        "description": "Environments are listed by ID and must belong to the application. A\nnarrower list fails later deployments that mount the secret with\n`secret_access_denied`; running deployments keep their pinned versions.\nFails with 409 `secret_deleting` while the secret is being deleted.",
        "operationId": "setSecretAccess",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecretAccess"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_StoredSecret"
                }
              }
            },
            "description": "Updated metadata; no secret value"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Replaces which environments, and whether previews, may mount a stored secret.",
        "x-piqueld-access": "secrets:write"
      }
    },
    "/api/v1/applications/{id}/services": {
      "post": {
        "operationId": "add_application_service",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Service"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}": {
      "delete": {
        "description": "Pass `deploy=true` to also deploy the result (202 instead of 200).",
        "operationId": "remove_application_service",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Removes a service from the saved configuration.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/arguments": {
      "put": {
        "operationId": "set_service_arguments",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplatesValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/command": {
      "put": {
        "operationId": "set_service_command",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplatesValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/depends-on": {
      "put": {
        "operationId": "set_service_depends_on",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/environment": {
      "put": {
        "operationId": "set_service_environment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/environment/{key}": {
      "delete": {
        "description": "Pass `deploy=true` to also deploy the result (202 instead of 200).",
        "operationId": "remove_service_environment_entry",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Removes an environment variable from a service.",
        "x-piqueld-access": "apps:write"
      },
      "put": {
        "operationId": "set_service_environment_entry",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "key",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplateValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/file": {
      "delete": {
        "operationId": "remove_service_file",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      },
      "put": {
        "operationId": "set_service_file",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceFile"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/files": {
      "put": {
        "operationId": "set_service_files",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/FilesValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/general": {
      "put": {
        "operationId": "set_service_general",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceGeneral"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/healthcheck": {
      "put": {
        "operationId": "set_service_healthcheck",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/HealthValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/healthcheck/command": {
      "put": {
        "operationId": "set_service_health_command",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplatesValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/healthcheck/interval": {
      "put": {
        "operationId": "set_service_health_interval",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecondsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/healthcheck/path": {
      "put": {
        "operationId": "set_service_health_path",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplateValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/healthcheck/port": {
      "put": {
        "operationId": "set_service_health_port",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplicasValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/healthcheck/retries": {
      "put": {
        "operationId": "set_service_health_retries",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CountValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/healthcheck/start-period": {
      "put": {
        "operationId": "set_service_health_start_period",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecondsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/healthcheck/timeout": {
      "put": {
        "operationId": "set_service_health_timeout",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecondsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/mount": {
      "delete": {
        "operationId": "remove_service_mount",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      },
      "put": {
        "operationId": "set_service_mount",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Mount"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/mounts": {
      "put": {
        "operationId": "set_service_mounts",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MountsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/name": {
      "put": {
        "operationId": "set_service_name",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/process": {
      "put": {
        "operationId": "set_service_process",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceProcess"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/receives-telemetry": {
      "put": {
        "operationId": "set_service_receives_telemetry",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BoolValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/replicas": {
      "put": {
        "operationId": "set_service_replicas",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ReplicasValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/resources": {
      "put": {
        "operationId": "set_service_resources",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResourcesValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/resources/cpu": {
      "put": {
        "operationId": "set_service_cpu",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CpuValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/resources/memory": {
      "put": {
        "operationId": "set_service_memory",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MemoryValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/rollout": {
      "put": {
        "operationId": "set_service_rollout",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RolloutValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/secrets": {
      "put": {
        "operationId": "set_service_secrets",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SecretsValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/source": {
      "put": {
        "operationId": "set_service_source",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SourceValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/source/git/branch": {
      "put": {
        "operationId": "set_service_git_branch",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/source/git/commit": {
      "put": {
        "operationId": "set_service_git_commit",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OptionalStringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/source/git/context": {
      "put": {
        "operationId": "set_service_context",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplateValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/source/git/dockerfile": {
      "put": {
        "operationId": "set_service_dockerfile",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplateValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/source/git/url": {
      "put": {
        "operationId": "set_service_git_url",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/StringValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/services/{service}/source/image": {
      "put": {
        "operationId": "set_service_image",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "service",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TemplateValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/variables": {
      "put": {
        "operationId": "set_application_variables",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VariablesValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/volumes": {
      "post": {
        "operationId": "add_application_volume",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Volume"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      },
      "put": {
        "operationId": "set_application_volumes",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/VolumesValue"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved and deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/volumes/{volume}": {
      "delete": {
        "description": "Pass `deploy=true` to also deploy the result (202 instead of 200).",
        "operationId": "remove_application_volume",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "volume",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Required inspected generation unless force is set.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass the revision check.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Deploy the changed configuration to the application's only environment\nor, when its manifest declares environments, every declared one not\npromoted from another; omitted/false saves only.",
            "in": "query",
            "name": "deploy",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Configuration saved"
          },
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SavedApplication"
                }
              }
            },
            "description": "Deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Removes a named volume from the saved configuration.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/applications/{id}/webhook": {
      "get": {
        "description": "The URL to configure in GitHub, absent until the daemon serves\n`ingress.webhook_hostname`, and when the current secret was generated.\nThe secret itself is only shown when generated.",
        "operationId": "getWebhook",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_WebhookView"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Gets an application's webhook payload URL.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/applications/{id}/webhook/secret": {
      "post": {
        "description": "Replaces the previous secret, which stops verifying at once, and returns\nthe new one. It is never shown again: configure it in GitHub as the\nwebhook's secret, with content type `application/json`.",
        "operationId": "generateWebhookSecret",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_WebhookSecret"
                }
              }
            },
            "description": "Secret generated"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Generates an application's webhook secret.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/audit": {
      "get": {
        "description": "Refused requests, writes, and sensitive reads are recorded with their\naccount, credential, address, and outcome. With `audit:read`, every\naccount's trail is visible; otherwise only the caller's own account's, or\nonly its own requests for a scoped credential like an API token, which\nmust not see what its account does beyond the token's grants. Follow\n`next_cursor` to load older requests.",
        "operationId": "listAudit",
        "parameters": [
          {
            "description": "Only this account's requests; callers without `audit:read` may only\nname their own account, which is also the default for them.",
            "in": "query",
            "name": "user_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only requests by accounts that had this username when making them,\ne.g. a deleted account's.",
            "in": "query",
            "name": "username",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only requests made with this credential; scoped credentials without\n`audit:read` may only name themselves, which is also their default.",
            "in": "query",
            "name": "credential_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only requests with this outcome.",
            "in": "query",
            "name": "outcome",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/AuditOutcome"
            }
          },
          {
            "description": "`next_cursor` from a previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page size; defaults to 50.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Page_AuditEvent"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists audited API requests, newest first.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/audit/verify": {
      "get": {
        "description": "Recomputes every retained record's link. `broken_at` names the first\nrecord that was edited, inserted, or follows a removed one. Removing the\nnewest records leaves a valid chain, so compare `head` with a value kept\nelsewhere.",
        "operationId": "verifyAudit",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AuditVerification"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Verifies the audit trail's hash chain.",
        "x-piqueld-access": "audit:read"
      }
    },
    "/api/v1/auth/device/approve": {
      "post": {
        "description": "The device's next poll receives a token for the signed-in user.",
        "operationId": "authDeviceApprove",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceApprove"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Managed"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          }
        },
        "summary": "Approves a pending device sign-in.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/auth/device/inspect": {
      "post": {
        "description": "Shows the requesting address and remaining lifetime so the user can confirm\nthe request before approving it.",
        "operationId": "authDeviceInspect",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceApprove"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceRequest"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          }
        },
        "summary": "Inspects a pending device sign-in.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/auth/device/poll": {
      "post": {
        "description": "Public. Poll at most every five seconds: the status is\n`authorization_pending` until approval, `slow_down` when polled too fast, and\n`complete` with a 30-day token exactly once after approval. Expired or unknown\ncodes fail with 401.",
        "operationId": "authDevicePoll",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevicePoll"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceToken"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          }
        },
        "security": [],
        "summary": "Polls a device sign-in.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/device/start": {
      "post": {
        "description": "Public. Returns a device code to poll with and a user code to approve in a\nsigned-in browser. A JSON body, which may be omitted, limits the issued session to\n`grants`, which the approver must hold, and is echoed back so clients can\ntell the limit applies. Pending logins are kept in memory, so bodies over\n16 KiB answer 413. Rate limited per client address (429 with `Retry-After`).",
        "operationId": "authDeviceStart",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DeviceStartRequest"
              }
            }
          },
          "required": false
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DeviceStart"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "413": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "security": [],
        "summary": "Starts a device sign-in for a command-line client.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/directory": {
      "get": {
        "description": "With `accounts:manage`, lists every account and invitation; otherwise only\nthe caller's own account. A scoped credential sees only itself there, and\nits account with its own grants.",
        "operationId": "authDirectory",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Directory"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          }
        },
        "summary": "Lists accounts, passkeys, credentials, and open invitations.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/auth/login/finish": {
      "post": {
        "description": "Public. Verifies the passkey and sets a seven-day session cookie.",
        "operationId": "authLoginFinish",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CeremonyFinish"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          }
        },
        "security": [],
        "summary": "Finishes a passkey sign-in.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/login/operator": {
      "post": {
        "description": "Public. Signs the browser in as the host operator with a 12-hour session\ncookie. Used, expired, and unknown links fail with 401. Rate limited per\nclient address (429 with `Retry-After`).",
        "operationId": "authOperatorSignIn",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OperatorSignIn"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session"
                }
              }
            },
            "description": ""
          },
          "401": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          }
        },
        "security": [],
        "summary": "Redeems a host operator sign-in link.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/login/start": {
      "post": {
        "description": "Public. Usernameless: any discoverable passkey for this site may answer.\nSets a short-lived ceremony cookie that the finish request must present.\nRate limited per client address (429 with `Retry-After`).",
        "operationId": "authLoginStart",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ceremony"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          }
        },
        "security": [],
        "summary": "Starts a passkey sign-in.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/logout": {
      "post": {
        "description": "Revokes the credential used for this request and clears the session cookie.",
        "operationId": "authLogout",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Managed"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          }
        },
        "summary": "Signs out.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/auth/manage": {
      "post": {
        "description": "Anyone may manage their own account. Changing other accounts requires\n`accounts:manage` and every grant the account holds; handing out grants\nrequires holding them (403 `permission_denied` or `permission_exceeded`).",
        "operationId": "authManage",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/Manage"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Managed"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          }
        },
        "summary": "Applies one account management action as the signed-in user.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/auth/me": {
      "get": {
        "description": "Token-less requests over the Unix socket from root or the daemon's own\nuser act as the host operator.",
        "operationId": "authMe",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Session"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          }
        },
        "summary": "Gets who is signed in and what the current credential may do.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/auth/recovery": {
      "post": {
        "description": "Public, but only over the Unix socket and only to the host operator: root\nor the daemon's own user, identified by the kernel (`SO_PEERCRED`), sending\nno credential, which keeps its meaning; anyone else gets 404. The link is\nvalid for 24 hours, replaces any earlier one, and registers a new account\nwith `admin` on every application. Issuing it raises a `security`\nnotification.",
        "operationId": "authRecoverAdmin",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperatorLink"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "security": [],
        "summary": "Issues a one-time admin recovery link.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/register/finish": {
      "post": {
        "description": "Public. Verifies the passkey against the ceremony started in the same\nbrowser. Redeeming an invitation, setup, or enrollment secret signs the\naccount in with a session cookie; a signed-in caller adding a passkey to\nitself gets none.",
        "operationId": "authRegistrationFinish",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CeremonyFinish"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/User"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          }
        },
        "security": [],
        "summary": "Finishes passkey registration.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/register/start": {
      "post": {
        "description": "Public. Registers a new account by redeeming an invitation or setup secret,\nadds a passkey to an existing account by redeeming an enrollment link, or,\nwhen signed in, adds a passkey to the caller's own account. Sets a\nshort-lived ceremony cookie that the finish request must present. Rate\nlimited per client address (429 with `Retry-After`).",
        "operationId": "authRegistrationStart",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RegistrationStart"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Ceremony"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          }
        },
        "security": [],
        "summary": "Starts passkey registration.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/setup-link": {
      "get": {
        "description": "Public, but served only over the Unix socket, whose group access is the trust boundary; other transports return 404. Returns 409 once the first account exists.",
        "operationId": "authSetupLink",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SetupLink"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "security": [],
        "summary": "Gets the first-account setup link.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/sign-in-link": {
      "post": {
        "description": "Public, but only over the Unix socket and only to the host operator\nsending no credential, like `authRecoverAdmin`; anyone else gets 404. The\nlink works once within ten minutes and signs a browser in as the host\noperator, with `admin` on every application, for 12 hours. Issuing it\nraises a `security` notification.",
        "operationId": "authSignInLink",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperatorLink"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "security": [],
        "summary": "Issues a one-time host operator sign-in link.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/auth/status": {
      "get": {
        "description": "Public. Reports whether the first account exists and the website origin.",
        "operationId": "authStatus",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AuthStatus"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          }
        },
        "security": [],
        "summary": "Gets authentication status.",
        "x-piqueld-access": "public"
      }
    },
    "/api/v1/builds": {
      "get": {
        "description": "Optionally filtered to one application or environment. Follow `next_cursor` to load older\nrecords.",
        "operationId": "listBuilds",
        "parameters": [
          {
            "description": "Only include builds of this application's environments.",
            "in": "query",
            "name": "application_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include builds for this environment.",
            "in": "query",
            "name": "environment_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "`next_cursor` from a previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page size; defaults to 50.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "default": 50,
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Page_BuildRecord"
                }
              }
            },
            "description": "Build history, newest first"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists Git source builds and job runs, newest first.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/builds/{id}/logs": {
      "get": {
        "description": "Returns the newest bounded page of output in chronological order. Pass the\npage's `previous_offset` as `before` to load older output.",
        "operationId": "buildLogs",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "`previous_offset` from a previous page, to load older output.",
            "in": "query",
            "name": "before",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Only include this output stream.",
            "in": "query",
            "name": "stream",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/LogStream"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_BuildLogPage"
                }
              }
            },
            "description": "Bounded build output"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Gets captured output for one build.",
        "x-piqueld-access": "logs:read"
      }
    },
    "/api/v1/diagnostics/{id}": {
      "get": {
        "description": "Server errors expose this ID as `details.diagnostic_id`; the response is the\nevent that recorded the failure, with its context.",
        "operationId": "getDiagnostic",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Event"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Gets a recorded diagnostic.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/environments/{id}": {
      "delete": {
        "operationId": "deleteEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 8,
              "type": "string"
            }
          },
          {
            "description": "Current intent revision; optional for reconcile, required for deletion unless forced.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass intent preconditions.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Deletion operation"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Delete an environment's services and networks, retaining volumes",
        "x-piqueld-access": "apps:delete"
      },
      "get": {
        "operationId": "getEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 8,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentView"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Get an environment",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/environments/{id}/branch": {
      "put": {
        "description": "Points an environment of a repository-backed application at another branch\nof its manifest repository, or pins or unpins a commit. Nothing is fetched\nor redeployed: the next deployment fetches the new branch. Environments of\nan application without a manifest repository fail with\n`manifest_repository_required` (422), those whose source the saved\nmanifest declares with `environment_declared` (409), and promoted ones,\nwhich have no branch, with `environment_promoted` (409). The inspected\napplication `expected_generation` goes in the JSON body.",
        "operationId": "setEnvironmentBranch",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Explicitly bypass the intent revision precondition. Name availability is always enforced.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentBranchRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentView"
                }
              }
            },
            "description": "Environment follows the branch from its next deployment"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Changes the branch an environment follows.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/environments/{id}/deploy": {
      "post": {
        "description": "Returns 202 with the accepted durable operation. Requires\n`expected_generation` unless `force=true`; a stale generation fails with 409.\nA promoted environment fails with 409 `environment_promoted`; it deploys\nonly by promotion. `branch` or `commit` for an environment without a\nrepository branch fails with 422.\nRepeating a request with the same `Idempotency-Key` returns the original\nresponse.",
        "operationId": "deployEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Current intent revision; required unless forced.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass intent preconditions.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Fetch the repository manifest from this branch head, without saving it.",
            "in": "query",
            "name": "branch",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Fetch the repository manifest from this full commit, without saving it.",
            "in": "query",
            "name": "commit",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Deploys an environment from its source: the application's saved\nconfiguration, or the repository manifest at the environment's branch (or\nthe one-time `branch`/`commit`).",
        "x-piqueld-access": "apps:deploy"
      }
    },
    "/api/v1/environments/{id}/deployments": {
      "get": {
        "description": "Returns `limit` deployment snapshots per page, three without it; follow\n`next_cursor` for older ones.",
        "operationId": "listDeployments",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "`next_cursor` from a previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Deployments per page, from 1 to 100; 3 without it.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "format": "int32",
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Page_DeploymentView"
                }
              }
            },
            "description": "Deployment snapshots, newest first"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists deployments of an environment, newest first.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/environments/{id}/deployments/{deployment}/attempts": {
      "get": {
        "description": "Returns up to 100 retained attempt outcomes per page. Deployments owned by\nanother environment are reported as not found.",
        "operationId": "listDeploymentAttempts",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "deployment",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "`next_cursor` from a previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Page_Operation"
                }
              }
            },
            "description": "Retained attempt outcomes, newest first (100 per page)"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists attempts of one deployment, newest first.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/environments/{id}/detail": {
      "get": {
        "operationId": "getEnvironmentDetail",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 8,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentDetailView"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Get desired and observed environment state",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/environments/{id}/exec": {
      "get": {
        "description": "Opens a WebSocket whose first message is a JSON ExecRequest; see piqueld_core::exec.",
        "operationId": "execEnvironmentCommand",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "101": {
            "description": "Switched to a WebSocket streaming the command"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "426": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "x-piqueld-access": "apps:exec"
      }
    },
    "/api/v1/environments/{id}/logs": {
      "get": {
        "description": "Output can be narrowed to one service and one stream. Unknown or malformed\nparameters, out-of-range `tail` or `since_seconds` values, and `service`\nnames outside 1–63 characters fail with 400 `logs_query_invalid`.",
        "operationId": "environmentLogs",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include output from this service (1–63 characters); all services when omitted.",
            "in": "query",
            "name": "service",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include this output stream; merged output when omitted.",
            "in": "query",
            "name": "stream",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/LogStream"
            }
          },
          {
            "description": "Maximum number of most recent lines, merged across the selected services.",
            "in": "query",
            "name": "tail",
            "required": false,
            "schema": {
              "default": 200,
              "format": "int32",
              "maximum": 1000,
              "minimum": 1,
              "type": "integer"
            }
          },
          {
            "description": "Only include output from this many seconds ago onward.",
            "in": "query",
            "name": "since_seconds",
            "required": false,
            "schema": {
              "default": 3600,
              "format": "int32",
              "maximum": 86400,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_ApplicationLogs"
                }
              }
            },
            "description": "Recent Docker output"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Gets recent container output for an environment.",
        "x-piqueld-access": "logs:read"
      }
    },
    "/api/v1/environments/{id}/promote": {
      "post": {
        "description": "Deploys the release of the source environment's current deployment\n(which must be `deployment` when given), or an earlier `release`, without\nbuilding or fetching. The release is pinned at acceptance: its own\nmanifest is rendered with this environment's `[spec.environments.<name>]`\nblock and variables, and its images deployed as recorded. Refused unless\nthe source deployment is current and succeeded and its services are\nhealthy now (`promotion_source_not_ready`, `promotion_source_changed`),\nthe release's build inputs render as they did for it\n(`release_incompatible`), its images are present or can be pulled again\n(`image_unavailable`), and every secret it mounts exists and allows this\nenvironment (`secrets_unavailable`, listing all of them). The inspected\napplication `expected_generation` goes in the JSON body.",
        "operationId": "promoteEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Explicitly bypass the intent revision precondition. Name availability is always enforced.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedPromotion"
                }
              }
            },
            "description": "Promotion accepted with its release pinned"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Promotes a release into a promoted environment.",
        "x-piqueld-access": "apps:deploy"
      }
    },
    "/api/v1/environments/{id}/promote/plan": {
      "post": {
        "description": "Shows the release and its provenance and image availability, the\nrendered diff against the environment's current deployment, the runtime\nplan, new (empty) volumes, and every secret that is missing or that the\nenvironment may not use. The source must be promotable, as for\n`promoteEnvironment`; an earlier `release` may be planned for any\nenvironment. `expected_generation` is ignored.",
        "operationId": "planPromotion",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PromoteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_PlanView"
                }
              }
            },
            "description": "Plan"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Plans a promotion, or deploying an earlier release, without changing\nanything.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/environments/{id}/reconcile": {
      "post": {
        "description": "Returns 202 with the environment's latest operation, requested again when it\nfinished or failed, or as is while it is still in progress; 404 when the\nenvironment has none. Unlike other mutations, `expected_generation` is\noptional. Repeating a request with the same `Idempotency-Key` returns the\noriginal response.",
        "operationId": "reconcileEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Current intent revision; optional for reconcile, required for deletion unless forced.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass intent preconditions.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Reconciliation accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Reconciles an environment, starting it if it is stopped.",
        "x-piqueld-access": "apps:deploy"
      }
    },
    "/api/v1/environments/{id}/rename": {
      "post": {
        "description": "Changes only the name, without redeploying. The inspected application\n`expected_generation` goes in the JSON body; the new name must not already\nbe used by another environment of the application, even with `force=true`.",
        "operationId": "renameEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Explicitly bypass the intent revision precondition. Name availability is always enforced.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentView"
                }
              }
            },
            "description": "Environment renamed without redeployment"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Renames an environment.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/environments/{id}/restore": {
      "post": {
        "description": "Deploys `deployment` again as it ran: its rendered manifest, its images\nand the secret versions it pinned, recorded as a new deployment whose\norigin names it, which becomes the maintained target. Nothing is rendered,\nfetched or built, and jobs never run. Volume contents and migrations are\nnot reverted. Refused unless it succeeded (`deployment_not_restorable`),\nits images are present or can be pulled again by digest\n(`image_unavailable`), and the secret versions it pinned still exist\n(`restore_secrets_unavailable`, listing them). Needs no application\nrevision. Previews restore through `restorePreviewDeployment`. Repeating a\nrequest with the same `Idempotency-Key` returns the original response.",
        "operationId": "restoreDeployment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestoreRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Restore accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Restores an earlier deployment of an environment exactly.",
        "x-piqueld-access": "apps:deploy"
      }
    },
    "/api/v1/environments/{id}/secrets": {
      "get": {
        "description": "Returns metadata only; secret values are write-only and never returned.",
        "operationId": "environmentSecrets",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Vec_SecretMetadata"
                }
              }
            },
            "description": "Secret metadata"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists an environment's generated secrets.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/environments/{id}/secrets/{name}": {
      "delete": {
        "description": "Fails with 409 while the configuration or a deployment still references it.\nIf cleanup is interrupted, retrying the deletion finishes it.",
        "operationId": "deleteEnvironmentSecret",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Expected-Generation",
            "required": true,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_bool"
                }
              }
            },
            "description": "Secret deleted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Deletes a generated secret, so a later deployment generates a new value.",
        "x-piqueld-access": "secrets:write"
      }
    },
    "/api/v1/environments/{id}/secrets/{name}/regenerate": {
      "post": {
        "description": "`X-Expected-Generation` must be the current generation; a mismatch fails\nwith 409. Rotates the value, or replaces one discarded by key recovery.\nRunning services keep their version until the next deployment. The\nresponse carries metadata only.",
        "operationId": "regenerateEnvironmentSecret",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "X-Expected-Generation",
            "required": true,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SecretMetadata"
                }
              }
            },
            "description": "Updated metadata; no secret value"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Generates a new version of a generated secret from its declaration.",
        "x-piqueld-access": "secrets:write"
      }
    },
    "/api/v1/environments/{id}/source": {
      "put": {
        "description": "With `promote_from`, the environment never builds or fetches again: it\nonly receives releases promoted from that environment, by ID, which must\nbe another live environment of the application, never a preview\n(`promotion_source_invalid`), and must not promote from it, directly or\nthrough others (`promotion_cycle`). Without it, a promoted environment\ntracks the saved manifest, or the branch `spec.manifest` names, again.\nNothing is deployed. The inspected application `expected_generation`\ngoes in the JSON body.",
        "operationId": "setEnvironmentSource",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Explicitly bypass the intent revision precondition. Name availability is always enforced.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentSourceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentView"
                }
              }
            },
            "description": "Environment deploys from its new source from its next deployment or promotion"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "422": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Changes where an environment's releases come from.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/environments/{id}/start": {
      "post": {
        "description": "Its services scale back to their replicas and the gateway serves its\nroutes again. Like `reconcileEnvironment`, which it is, returns 202 with\nits latest operation, requested again when it finished or failed, or as\nis while it is in progress; 404 when it was never deployed.\n`expected_generation` is optional.",
        "operationId": "startEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Current intent revision; optional for reconcile, required for deletion unless forced.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass intent preconditions.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Start accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Starts a stopped environment.",
        "x-piqueld-access": "apps:deploy"
      }
    },
    "/api/v1/environments/{id}/status": {
      "get": {
        "operationId": "environmentStatus",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 8,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentStatusView"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Get environment status",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/environments/{id}/stop": {
      "post": {
        "description": "Its services scale to zero replicas, keeping their configuration, volumes\nand secrets, and the gateway stops serving its routes before the request\nreturns, or on its next pass if that fails. It stays stopped until it is\nstarted, deployed, restored, promoted into or reconciled; sync deploys nothing to it\nmeanwhile. Returns 202 with its latest operation: run again when its\ndeployment had rolled out and has ended, so the services stop now, or as\nis while it is in progress, which then rolls out with no replicas. 404\nwhen it was never deployed, 409 while it is deleted. `expected_generation` is optional.",
        "operationId": "stopEnvironment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Current intent revision; optional for reconcile, required for deletion unless forced.",
            "in": "query",
            "name": "expected_generation",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Explicitly bypass intent preconditions.",
            "in": "query",
            "name": "force",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Stop accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Stops an environment.",
        "x-piqueld-access": "apps:deploy"
      }
    },
    "/api/v1/environments/{id}/sync": {
      "put": {
        "description": "While its application syncs (`spec.manifest.sync`), pushes to the branch\nan environment follows deploy it once it opted in and was deployed. Pinned\nenvironments never sync. Previews follow their application and are\n`NotFound` here. Needs no application revision: nothing the environment\ndeploys changes. Opting in while the application syncs also needs\n`apps:deploy`, since pushes then deploy the environment.",
        "operationId": "setEnvironmentSync",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentSyncRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentView"
                }
              }
            },
            "description": "Environment sync changed"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Opts an environment into or out of its application's sync.",
        "x-piqueld-access": "apps:write"
      }
    },
    "/api/v1/environments/{id}/telemetry": {
      "put": {
        "description": "A granted environment's receiving service (`receives_telemetry`) gets the\ndaemon's traces, metrics and logs from every application, over the socket\ndirectory mounted at `/run/piqueld/telemetry`, so granting needs\n`telemetry:grant` as well as reading the application. Revoking, like\ndeleting the environment, stops export at once; the controller mounts or\nunmounts the directory within seconds, which rolls the service. Previews\nare never granted it and are `NotFound`. Needs no application revision.",
        "operationId": "setEnvironmentTelemetry",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentTelemetryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EnvironmentView"
                }
              }
            },
            "description": "Environment telemetry changed"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Grants or revokes an environment's telemetry.",
        "x-piqueld-access": "telemetry:grant"
      }
    },
    "/api/v1/events": {
      "get": {
        "description": "Oldest first unless `descending=true`. Follow `next_cursor` to load more.",
        "operationId": "listEvents",
        "parameters": [
          {
            "description": "Only include events of this application and all its environments.",
            "in": "query",
            "name": "application_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include events about this environment.",
            "in": "query",
            "name": "environment_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include events of this operation.",
            "in": "query",
            "name": "operation_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include events of this operation attempt.",
            "in": "query",
            "name": "attempt",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Only include events of this runtime action.",
            "in": "query",
            "name": "action_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include events of this kind.",
            "in": "query",
            "name": "kind",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include failures with this error code.",
            "in": "query",
            "name": "error_code",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include diagnostic (failure) events.",
            "in": "query",
            "name": "errors_only",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Only include environment-owned or daemon-owned history.",
            "in": "query",
            "name": "scope",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/EventScope"
            }
          },
          {
            "description": "Inclusive Unix millisecond lower bound.",
            "in": "query",
            "name": "since_ms",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive Unix millisecond upper bound.",
            "in": "query",
            "name": "until_ms",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Return newest events first; streams only support oldest first.",
            "in": "query",
            "name": "descending",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "`next_cursor` from a previous page; for streams, a `v1:<event-id>` SSE ID to\nresume after.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page size (defaults to 50), or stream batch size (defaults to 100).",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Page_Event"
                }
              }
            },
            "description": "Structured history"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists structured events.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/events/kinds": {
      "get": {
        "description": "The distinct `kind` values of the events the caller may read, in name\norder, for filtering `GET /api/v1/events` by `kind`.",
        "operationId": "listEventKinds",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_EventKinds"
                }
              }
            },
            "description": "Event kinds, in name order"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists the kinds of retained events.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/events/stream": {
      "get": {
        "description": "Events arrive oldest first, resuming after the `Last-Event-ID` header or\n`cursor` (from the beginning when both are absent). Invalid cursors fail with\n400 and pruned history with 410 before the stream opens. The stream emits:\n- `event` messages with `id: v1:<event-id>` for each matching event;\n- ID-only messages that advance the resume position past filtered-out events;\n- a final `history_expired` or `stream_error` message, after which the\n  stream ends and history must be reloaded before reconnecting;\n- a final `access_ended` message whose data is the `ErrorBody` of the\n  request that would now be refused, once the caller loses access (see\n  docs/user/accounts/permissions.md#when-access-changes-take-effect for\n  how soon).\n\nThe stream also ends, without a message, when the daemon shuts down.",
        "operationId": "streamEvents",
        "parameters": [
          {
            "description": "Only include events of this application and all its environments.",
            "in": "query",
            "name": "application_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include events about this environment.",
            "in": "query",
            "name": "environment_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include events of this operation.",
            "in": "query",
            "name": "operation_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include events of this operation attempt.",
            "in": "query",
            "name": "attempt",
            "required": false,
            "schema": {
              "format": "int64",
              "minimum": 0,
              "type": "integer"
            }
          },
          {
            "description": "Only include events of this runtime action.",
            "in": "query",
            "name": "action_id",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include events of this kind.",
            "in": "query",
            "name": "kind",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include failures with this error code.",
            "in": "query",
            "name": "error_code",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Only include diagnostic (failure) events.",
            "in": "query",
            "name": "errors_only",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "Only include environment-owned or daemon-owned history.",
            "in": "query",
            "name": "scope",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/EventScope"
            }
          },
          {
            "description": "Inclusive Unix millisecond lower bound.",
            "in": "query",
            "name": "since_ms",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Inclusive Unix millisecond upper bound.",
            "in": "query",
            "name": "until_ms",
            "required": false,
            "schema": {
              "format": "int64",
              "type": "integer"
            }
          },
          {
            "description": "Return newest events first; streams only support oldest first.",
            "in": "query",
            "name": "descending",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "description": "`next_cursor` from a previous page; for streams, a `v1:<event-id>` SSE ID to\nresume after.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page size (defaults to 50), or stream batch size (defaults to 100).",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "string"
                }
              }
            },
            "description": "Resumable SSE; IDs are v1:<event-id>"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "410": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Streams structured events as server-sent events.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/notifications/deliveries": {
      "get": {
        "description": "Follow `next_cursor` to load more deliveries.",
        "operationId": "notificationDeliveries",
        "parameters": [
          {
            "description": "`next_cursor` from a previous page.",
            "in": "query",
            "name": "cursor",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "description": "Page size; defaults to 50.",
            "in": "query",
            "name": "limit",
            "required": false,
            "schema": {
              "maximum": 100,
              "minimum": 1,
              "type": "integer"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Page_NotificationDelivery"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists webhook notification deliveries.",
        "x-piqueld-access": "system:read"
      }
    },
    "/api/v1/notifications/deliveries/{id}/retry": {
      "post": {
        "description": "Schedules another attempt using the current destination configuration.\nNeeds `system:operate`. A delivery that exists but cannot be retried fails\nwith 409 `delivery_not_retryable`, whose message says why.",
        "operationId": "retryNotificationDelivery",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_bool"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Retries a failed webhook notification delivery.",
        "x-piqueld-access": "system:operate"
      }
    },
    "/api/v1/notifications/destinations": {
      "get": {
        "description": "Needs `system:read` or `notifications:manage`. URLs are write-only and\nnever returned.",
        "operationId": "notificationDestinations",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Vec_NotificationDestination"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Lists notification destinations by name.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/notifications/destinations/{name}": {
      "delete": {
        "description": "Cancels its pending deliveries; delivery history keeps its name.",
        "operationId": "deleteNotificationDestination",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_bool"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Deletes a notification destination.",
        "x-piqueld-access": "notifications:manage"
      },
      "put": {
        "description": "Creating one requires `url`; omitted, an existing destination keeps its\nURL. A new URL or kind makes it a new receiver: its pending deliveries are\ncancelled, and recoveries of failures it was sent before are not sent.\nDisabling it or removing a category cancels the pending deliveries\naffected; enabling it or adding a category never replays earlier events.\nInvalid URLs fail with 400 `destination_url_invalid`, a missing one with\n`destination_url_required`, and unknown applications with\n`destination_application_unknown`.",
        "operationId": "putNotificationDestination",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DestinationRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_NotificationDestination"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Creates or replaces a notification destination.",
        "x-piqueld-access": "notifications:manage"
      }
    },
    "/api/v1/notifications/destinations/{name}/test": {
      "post": {
        "description": "Sends it at once, outside the delivery queue and history, and reports\nwhether the receiver acknowledged it.",
        "operationId": "testNotificationDestination",
        "parameters": [
          {
            "in": "path",
            "name": "name",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_DestinationTest"
                }
              }
            },
            "description": ""
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Sends a test notification to a destination.",
        "x-piqueld-access": "notifications:manage"
      }
    },
    "/api/v1/openapi.json": {
      "get": {
        "operationId": "openApiDocument",
        "responses": {
          "200": {
            "content": {
              "application/vnd.oai.openapi+json": {
                "schema": {
                  "type": "object"
                }
              }
            },
            "description": "OpenAPI 3.0 document"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          }
        },
        "summary": "Get the `OpenAPI` document",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/operations/{id}": {
      "get": {
        "operationId": "getOperation",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 128,
              "minLength": 8,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_Operation"
                }
              }
            },
            "description": "Success"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Get an operation",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/previews/{id}": {
      "delete": {
        "operationId": "deletePreview",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 8,
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Deletion operation"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Deletes a preview with its services, network, secrets, and every volume\nit ever created; the deletion verifies the volumes are gone.",
        "x-piqueld-access": "previews:delete"
      },
      "get": {
        "operationId": "getPreview",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "maxLength": 64,
              "minLength": 8,
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_PreviewView"
                }
              }
            },
            "description": "Success"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Gets a preview with its branch state.",
        "x-piqueld-access": "apps:read"
      }
    },
    "/api/v1/previews/{id}/deploy": {
      "post": {
        "operationId": "deployPreview",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Deployment accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Deploys the head of a preview's branch.",
        "x-piqueld-access": "previews:deploy"
      }
    },
    "/api/v1/previews/{id}/restore": {
      "post": {
        "description": "Deploys `deployment` again as it ran, as `restoreDeployment` does for an\nenvironment: its rendered manifest, its images and the secret versions it\npinned, without fetching, building, or running jobs. Refused unless it\nsucceeded (`deployment_not_restorable`), its images are present or can be\npulled again by digest (`image_unavailable`), and the secret versions it\npinned still exist (`restore_secrets_unavailable`).",
        "operationId": "restorePreviewDeployment",
        "parameters": [
          {
            "in": "path",
            "name": "id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "header",
            "name": "Idempotency-Key",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RestoreRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "202": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_AcceptedOperation"
                }
              }
            },
            "description": "Restore accepted"
          },
          "400": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "404": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "408": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "The request body stopped arriving"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "415": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "500": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "502": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Restores an earlier deployment of a preview exactly.",
        "x-piqueld-access": "previews:deploy"
      }
    },
    "/api/v1/system/checks": {
      "get": {
        "description": "Inspects the live installation read-only: the public URL and its\ncertificate, Docker against ingress requirements, ports 80/443, the secret\nkey, the API socket's permissions, the tailnet node, and backups. Each\ncheck passes, warns, fails, or is skipped, with a next step when action is\nneeded. Returns 503 when the daemon has no effective configuration, or\n`server_busy` while two runs are already in progress.",
        "operationId": "systemChecks",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SystemChecks"
                }
              }
            },
            "description": "Installation checks"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Checks the installation's health.",
        "x-piqueld-access": "system:read"
      }
    },
    "/api/v1/system/configuration": {
      "get": {
        "description": "Returns 503 when the daemon has no effective configuration to report.",
        "operationId": "systemConfiguration",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_HostConfiguration"
                }
              }
            },
            "description": "Effective read-only host settings"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Gets the effective read-only host configuration.",
        "x-piqueld-access": "system:read"
      }
    },
    "/api/v1/system/dns/refresh": {
      "post": {
        "description": "Lists every configured provider's zones immediately instead of at the next\nhourly discovery, and returns the updated providers and certificates,\nempty without `system:read` like [`status`]. Credential files are only\nread at daemon startup.",
        "operationId": "refreshDns",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_DnsStatus"
                }
              }
            },
            "description": "Success"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          }
        },
        "summary": "Check DNS providers now",
        "x-piqueld-access": "system:operate"
      }
    },
    "/api/v1/system/readiness": {
      "get": {
        "description": "Probes the database, Docker Engine, and the Swarm manager with bounded\ntimeouts, and reports ingress status. The same body is returned in both\ncases; only the status code differs (200 when ready, 503 otherwise).\nIngress routes are listed only for applications the caller can read.",
        "operationId": "systemReadiness",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_ReadinessStatus"
                }
              }
            },
            "description": "Deployment dependencies ready"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_ReadinessStatus"
                }
              }
            },
            "description": "Deployment dependencies unavailable"
          }
        },
        "summary": "Checks whether deployment dependencies are ready.",
        "x-piqueld-access": "authenticated"
      }
    },
    "/api/v1/system/resources": {
      "get": {
        "description": "Reports process, database, disk, retained history, and queue statistics.\nMeasurements the host cannot provide are omitted rather than reported as zero.",
        "operationId": "systemResources",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_DaemonStats"
                }
              }
            },
            "description": ""
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Gets daemon resource usage.",
        "x-piqueld-access": "system:read"
      }
    },
    "/api/v1/system/secrets/recover-key": {
      "post": {
        "description": "Discards every application's stored secret values, every environment's\ngenerated secret values, and the repository webhook secrets (applications\ngenerate new ones), and deletes the notification destinations, whose URLs\nit encrypts; metadata and running services are kept. Only a lost key\nis recovered: while something is encrypted (the key verifier, a value or a\nwebhook secret), one that is missing, does not hold 32 bytes, or decrypts\nnone of it. Fails with 409 while the key decrypts the verifier, when there\nis no verifier but it decrypts a value or webhook secret, or when nothing\nis encrypted and the key file is missing or loads. When nothing is\nencrypted but the key file does not hold 32 bytes, moves it aside and\nsucceeds with nothing discarded. Fails with 503 `secret_storage_unavailable`, discarding\nnothing, when it decrypts a value or webhook secret but not a corrupt\nverifier, or can't be read for another reason, such as an I/O error or a\nkey file that is not private.\nThe next value write generates a new key.",
        "operationId": "recoverSecretKey",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SecretKeyRecovery"
                }
              }
            },
            "description": "Values discarded; the next value write generates a new key"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          },
          "409": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          },
          "503": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "Structured, sanitized error"
          }
        },
        "summary": "Recovers from a lost secret master key.",
        "x-piqueld-access": "system:operate"
      }
    },
    "/api/v1/system/status": {
      "get": {
        "description": "DNS providers and certificates are empty without `system:read`; see\n[`redact_dns`]. Preview counts per application list only readable\napplications.",
        "operationId": "systemStatus",
        "responses": {
          "200": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Envelope_SystemStatus"
                }
              }
            },
            "description": "Success"
          },
          "403": {
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorBody"
                }
              }
            },
            "description": "TCP authority or browser origin is not trusted"
          }
        },
        "summary": "Get daemon status",
        "x-piqueld-access": "authenticated"
      }
    }
  },
  "security": [
    {
      "bearerAuth": []
    },
    {
      "browserSession": []
    }
  ]
}
