Return a phone app to an earlier revision.
POST/ai-builder-api/projects/:projectId/app-config/revisions/:revision/restore
Saves a copy of the earlier revision, screens included, as the newest one. Members get it once you publish it with POST .../app-config/publish.
Request
A key you choose for this restore. Retrying with the same key returns the same restore instead of a second one.
Possible values: non-empty and <= 200 characters
The API version.
v3The app's id.
Possible values: Value must match regular expression ^prj_[A-Za-z0-9_-]+$
The earlier revision to return to, from the app's revisions.
Possible values: >= 1
- application/json
- Body
- Example (auto)
Bodyrequired
The newest revision the caller saw (revision in the app's configuration). A save made since then refuses the restore instead of being overwritten.
Possible values: >= 1
{
"baseRevision": 4
}
Restore revision queued for validation and preview publication.
- application/json
- Schema
- Example (auto)
Schema
Stable owner project for this location's shared ClientPortal Experience. It may differ from the web or mobile project in the current route.
Possible values: Value must match regular expression ^prj_[A-Za-z0-9_-]+$
The newest saved revision. A finished run or a restore saves a new one.
Possible values: >= 0
The newest revision that finished applying. Publish a revision once it equals revision and status is ready.
Possible values: >= 0
The revision members get. 0 until the first publish.
Possible values: >= 0
Where the newest revision is: ready once it has applied and can be published, failed when it could not apply.
idlequeuedapplyingreadyfailedWhere the latest applied revision can be previewed, when the app has a preview.
Why the latest revision failed to apply, when status is failed.
When the app's configuration was first saved.
When the latest revision was saved or changed state.
{
"projectId": "prj_a7ca4adc-be67-40ff-ae79-4f5acf56ac67",
"revision": 4,
"appliedRevision": 4,
"publishedRevision": 3,
"status": "idle",
"previewUrl": "https://prj-a7ca4adc-be67-40ff-ae79-4f5acf56ac67-sbx.staging.clientclub.net",
"lastError": "The Schedule screen does not match the route contract.",
"createdAt": "2026-10-23T10:41:44.873Z",
"updatedAt": "2026-10-23T11:24:45.263Z"
}