org

Plan configuration file changes (v2)

Compares a Configuration as Code (v2) YAML file with its app and lists every change applying it would make, without changing anything. The file's app.id picks the app; a file without one creates a new app in the organization. Pass the returned planId to applyConfigFile. A file that already matches its app returns a plan with status unchanged, which has nothing to apply. Requires an admin API key. See Configuration as Code for the file format.

post/org/{orgId}/config-file/plan

Request

  • Base URL
    https://api.runway.team
  • URL
    https://api.runway.team/org/{orgId}/config-file/plan
  • Auth
    API key in header X-API-Key

Path parameters

orgIdstring required

The ID of the org.

Request body application/yaml

string binary required

Response

The plan, with status planned, or unchanged when the file matches its app.

planIdstring

Pass this to applyConfigFile. Empty when the status is unchanged.

orgIdstring
appIdstring

The app the file changes. For a file that creates an app, it's set once the apply starts.

status'planned' | 'queued' | 'applying' | 'applied' | 'failed' | 'unchanged'

planned: not applied yet. queued: waiting to apply. applying: being applied. applied: done. failed: stopped partway; see error and failedEntry, and apply the plan again to continue. unchanged: the file matches its app, so there's nothing to apply.

summaryobject

The number of changes in each section of the file, by action, like {"notifications": {"update": 2}}. Once applied, it counts the changes that were actually made.

createdBystring
createdAtstring date-time
appliedBystring
startedAtstring date-time
finishedAtstring date-time
succeededAtstring date-time
failedAtstring date-time
failedEntrystring

The entry that failed to apply, like flightpath.steps.$beta. Changes before it were already made.

errorstring

Why the apply failed.

Example response

{
  "planId": "8f3c1e2a-5b7d-4c1e-9a2f-0d6e4b3c2a1f",
  "orgId": "acme",
  "appId": "acme-ios",
  "status": "planned",
  "createdBy": "key_123",
  "createdAt": "2026-10-19T14:02:11Z",
  "summary": {
    "flightpath": {
      "update": 1
    }
  },
  "changes": [
    {
      "path": "flightpath.steps.$release.settings.appStoreSettings.phasedRelease",
      "action": "update",
      "from": false,
      "to": true,
      "line": 212
    }
  ]
}

Changes

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