Apply

Compute a release-to-release diff

Diffs two materialized releases. from accepts a release id, the literal "empty" (synthetic baseline), or "active" (current live). to accepts a release id or "active". from === to is rejected as 400 DIFF_SAME_RELEASE; to="empty" is rejected as 400 INVALID_DIFF_TARGET. Cross-project access returns 404 RESOURCE_NOT_FOUND (NEVER 400 DIFF_PROJECT_MISMATCH — that code does not exist). Migrations in this response are MONOTONIC (applied_between_releases: string[]), distinct from the plan response's {new, noop} shape.

get/apply/v1/releases/diff

Request

  • Base URL: https://api.run402.com
  • URL: https://api.run402.com/apply/v1/releases/diff
  • Auth: API key in header apikey

Query parameters

fromstring required

Release id, empty, or active.

tostring required

Release id or active. Cannot be empty.

limitinteger

Truncation cap for site arrays in the diff response.

Response

Release-to-release diff

kind'release_diff' required
schema_version'agent-deploy-observability.v1' required
from_release_idstring nullable required
to_release_idstring nullable required
is_noopboolean required
summarystring required

Pre-rendered counts in prose. NO user identifiers (those go in warnings.affected[]). NO monetary, storage, tier, or pricing language.

Example response

{
  "warnings": [
    {
      "code": "MISSING_REQUIRED_SECRET"
    }
  ],
  "routes": {
    "added": [
      {
        "pricing": {
          "mode": "always",
          "amount_usd_micros": 250000,
          "pay_to": "org_default_payout"
        }
      }
    ],
    "removed": [
      {
        "pricing": {
          "mode": "always",
          "amount_usd_micros": 250000,
          "pay_to": "org_default_payout"
        }
      }
    ],
    "changed": [
      {
        "from": {
          "pricing": {
            "mode": "always",
            "amount_usd_micros": 250000,
            "pay_to": "org_default_payout"
          }
        },
        "to": {
          "pricing": {
            "mode": "always",
            "amount_usd_micros": 250000,
            "pay_to": "org_default_payout"
          }
        }
      }
    ]
  },
  "static_assets": {
    "legacy_immutable_warnings": [
      {
        "sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
      }
    ],
    "previous_immutable_failures": [
      {
        "previous_sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef",
        "candidate_sha256": "0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef"
      }
    ]
  }
}

Changes

No recorded changes to this operation across all 1 revision of this API.