# Change

> An AI ops (or human) change to the platform, with its policy decision and review.

An AI ops (or human) change to the platform, with its policy decision and review.

## Fields

| Field | Type | Description |
| --- | --- | --- |
| `id` * | string |  |
| `actor` * | [Actor](/docs/api/objects/actor/) |  |
| `tool` * | string |  |
| `tier` * | integer |  |
| `target` | [ResourceRef](/docs/api/objects/resource-ref/) or any or null |  |
| `cell` | string or null |  |
| `input` | object |  |
| `plan` | [Plan](/docs/api/objects/plan/) or any or null |  |
| `policy` | [PolicyDecision](/docs/api/objects/policy-decision/) |  |
| `reviewer` | object or null |  |
| `approval_id` | string or null |  |
| `operation_id` | string or null |  |
| `incident_id` | string or null |  |
| `status` * | `proposed`, `denied`, `awaiting_review`, `awaiting_approval`, `executing`, `succeeded`, `failed`, `rolled_back` |  |
| `created_at` * | string (date-time) |  |
| `finished_at` | string (date-time) or null |  |

\* always present

## Example

```json
{
  "id": "chg_01jbx2m9k7q4r8t5v6w3y0z1pr",
  "actor": {
    "type": "agent",
    "id": "tok_01jbx2m9k7q4r8t5v6w3y0z1tk",
    "display": "Stewart Webb via agent claude-code-on-stewart-laptop",
    "via_agent": {
      "id": "tok_01jbx2m9k7q4r8t5v6w3y0z1tk",
      "name": "claude-code-on-stewart-laptop"
    },
    "on_behalf_of": {
      "id": "usr_01jbx2m9k7q4r8t5v6w3y0z1us",
      "display": "Stewart Webb"
    }
  },
  "tool": "restart_deployment",
  "tier": 0,
  "target": {
    "type": "service",
    "id": "svc_01jbx2m9k7q4r8t5v6w3y0z1sv",
    "name": "web",
    "url": "/v1/projects/primecarers/services/web"
  },
  "cell": "string",
  "input": {},
  "plan": {
    "plan_hash": "sha256:9f2c1e0b7a4d3c2b1a09f8e7d6c5b4a39281706f5e4d3c2b1a0f9e8d7c6b5a49",
    "dry_run": true,
    "summary": "1 to update. +£5.00/month at current usage.",
    "changes": [
      {
        "action": "update",
        "resource": {
          "type": "service",
          "id": "svc_01jbx2m9k7q4r8t5v6w3y0z1sv",
          "name": "web"
        },
        "environment": "production",
        "summary": "Raise web memory limit from 1 GB to 2 GB",
        "diff": [
          {
            "path": "/resources/memory_mb",
            "before": 1024,
            "after": 2048
          }
        ],
        "destructive": false,
        "requires_approval": true,
        "reason": "production requires approval for changes made by agents"
      }
    ],
    "cost": {
      "current_monthly": {
        "amount": "18.20",
        "currency": "GBP",
        "display": "£18.20"
      },
      "projected_monthly": {
        "amount": "23.20",
        "currency": "GBP",
        "display": "£23.20"
      },
      "delta_monthly": {
        "amount": "5.00",
        "currency": "GBP",
        "display": "£5.00"
      },
      "confidence": "medium"
    },
    "policy": {
      "decision": "approval_required",
      "reasons": [
        {
          "code": "environment_protected",
          "message": "production requires approval for changes made by agents",
          "policy": "guv.environment.protection"
        }
      ],
      "approver_roles": [
        "owner",
        "admin"
      ]
    },
    "requires_approval": true,
    "expires_at": "2026-10-23T15:00:00Z"
  },
  "policy": {
    "decision": "allow",
    "reasons": [
      {
        "code": "environment_protected",
        "message": "production requires approval for changes made by agents",
        "policy": "guv.environment.protection"
      }
    ],
    "approver_roles": [
      "owner"
    ],
    "tier": 0
  },
  "reviewer": {
    "verdict": "approve",
    "model": "string",
    "notes": "string"
  },
  "approval_id": "string",
  "operation_id": "string",
  "incident_id": "string",
  "status": "proposed",
  "created_at": "2026-10-22T13:05:00Z",
  "finished_at": "2026-10-22T13:05:00Z"
}
```

## Used by

- [Get a change](/docs/api/admin/#get-a-change)
