## Delete and tear down a deployment

`client.Deploy.Delete(ctx, deploymentID) (*AgentexCloudDeploy, error)`

**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

- `deploymentID string`

### Returns

- `type AgentexCloudDeploy struct{…}`

  - `ID string`

    The unique identifier of the deployment.

  - `AccountID string`

    The ID of the account that owns the given entity.

  - `CreatedAt Time`

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

  - `CreatedBy Identity`

    The identity that created the entity.

    - `ID string`

    - `Type IdentityType`

      - `const IdentityTypeUser IdentityType = "user"`

      - `const IdentityTypeServiceAccount IdentityType = "service_account"`

    - `Object IdentityObject`

      - `const IdentityObjectIdentity IdentityObject = "identity"`

  - `EnvironmentConfig string`

    YAML content of environment configuration from the environment config file.

  - `ManifestFile string`

    YAML content of manifest configuration.

  - `Namespace string`

    Kubernetes namespace where the deployment is deployed.

  - `Status string`

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

  - `BuildID string`

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

  - `DeployEvents []AgentexCloudDeployEvent`

    Kubernetes events for this deployment.

    - `Message string`

      Full event message.

    - `Reason string`

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

    - `Timestamp Time`

      When the event was observed.

    - `Type string`

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

  - `ExpiresAt Time`

    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.

  - `HelmReleaseName string`

    Helm release name after successful deployment.

  - `Object AgentexCloudDeployObject`

    - `const AgentexCloudDeployObjectAgentexCloudDeploy AgentexCloudDeployObject = "agentex_cloud_deploy"`

  - `PreviewLabel string`

    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

```go
package main

import (
  "context"
  "fmt"

  "github.com/scaleapi/sgp-dev-go"
  "github.com/scaleapi/sgp-dev-go/option"
)

func main() {
  client := sgpdev.NewClient(
    option.WithAPIKey("My API Key"),
    option.WithAccountID("My Account ID"),
  )
  agentexCloudDeploy, err := client.Deploy.Delete(context.TODO(), "deployment_id")
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", agentexCloudDeploy.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"
}
```
