org

Apply a configuration file plan (v2)

Applies a plan from planConfigFileChanges, making exactly the changes it listed. Send the same file you planned. Applying runs in the background: the response is the plan with status queued, so get it with getConfigFilePlan until its status is applied or failed. The apply is refused if the file or the app changed since the plan; plan again to review the new changes. A failed plan can be applied again, and continues from where it stopped. Requires an admin API key.

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

Request

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

Path parameters

orgIdstring required

The ID of the org.

Query parameters

planIdstring required

The planId returned by planConfigFileChanges for this file.

Request body application/yaml

string binary required

Response

The plan has nothing to apply, since 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.