## Delete and tear down a deployment

`deploy.delete(strdeployment_id)  -> AgentexCloudDeploy`

**delete** `/v5/agentex/deployments/{deployment_id}`

Delete an agent deployment and tear down its Kubernetes resources.

Deletes the deployment's Kubernetes resources first, then marks the record as
`DELETED`; the underlying Helm release is subsequently uninstalled
asynchronously by FluxCD once the resource is removed. If the Kubernetes teardown
fails, the record is left unchanged and the call errors, so the delete can be
safely retried. Rejects the call with a client error if the deployment is already
in a terminal state (`DELETED`, `CANCELLED`, or `SUPERSEDED`) — a `SUPERSEDED`
record shares its Helm release with the deployment that replaced it, so deleting
it would tear down the live release. Returns 404 if no deployment with this ID
exists for the caller's account. This removes a running deployment, not the image
build behind it, which is managed separately through the agentex builds API.

### Parameters

- `deployment_id: str`

### Returns

- `class AgentexCloudDeploy: …`

  - `id: str`

    The unique identifier of the deployment.

  - `account_id: str`

    The ID of the account that owns the given entity.

  - `created_at: datetime`

    The date and time when the entity was created in ISO format.

  - `created_by: Identity`

    The identity that created the entity.

    - `id: str`

    - `type: Literal["user", "service_account"]`

      - `"user"`

      - `"service_account"`

    - `object: Optional[Literal["identity"]]`

      - `"identity"`

  - `environment_config: str`

    YAML content of environment configuration from the environment config file.

  - `manifest_file: str`

    YAML content of manifest configuration.

  - `namespace: str`

    Kubernetes namespace where the deployment is deployed.

  - `status: str`

    Deployment status: pending, running, completed, failed, or cancelled.

  - `build_id: Optional[str]`

    The build_id of the cloud build that produced the deployed image.

  - `deploy_events: Optional[List[AgentexCloudDeployEvent]]`

    Kubernetes events for this deployment.

    - `message: Optional[str]`

      Full event message.

    - `reason: Optional[str]`

      Short reason, e.g. 'Pulling', 'Scheduled'.

    - `timestamp: Optional[datetime]`

      When the event was observed.

    - `type: Optional[str]`

      Event type, e.g. 'Normal' or 'Warning'.

  - `expires_at: Optional[datetime]`

    When this deployment will be cleaned up. Always set on preview deployments (defaults to 8 hours from creation if the request omits it). Null on non-preview deployments — they have no TTL.

  - `helm_release_name: Optional[str]`

    Helm release name after successful deployment.

  - `object: Optional[Literal["agentex_cloud_deploy"]]`

    - `"agentex_cloud_deploy"`

  - `preview_label: Optional[str]`

    Non-unique grouping label for preview deployments. Filter `?preview_label=X&limit=1` returns the latest deploy for the label. Sanitized (lowercase alphanumeric + hyphens) and capped at 30 characters.

### Example

```python
import os
from scale_gp_beta import SGPClient

client = SGPClient(
    api_key=os.environ.get("SGP_API_KEY"),  # This is the default and can be omitted
)
agentex_cloud_deploy = client.deploy.delete(
    "deployment_id",
)
print(agentex_cloud_deploy.id)
```

#### Response

```json
{
  "id": "id",
  "account_id": "account_id",
  "created_at": "2019-12-27T18:11:19.117Z",
  "created_by": {
    "id": "id",
    "type": "user",
    "object": "identity"
  },
  "environment_config": "environment_config",
  "manifest_file": "manifest_file",
  "namespace": "namespace",
  "status": "status",
  "build_id": "build_id",
  "deploy_events": [
    {
      "message": "message",
      "reason": "reason",
      "timestamp": "2019-12-27T18:11:19.117Z",
      "type": "type"
    }
  ],
  "expires_at": "2019-12-27T18:11:19.117Z",
  "helm_release_name": "helm_release_name",
  "object": "agentex_cloud_deploy",
  "preview_label": "preview_label"
}
```
