curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "building",
"git_commit_hash": "a1b2c3d4e5f67890abcdef1234567890abcdef12"
}Retry checkpoint build
Starts a new preview build for a checkpoint and returns without waiting for it to finish.
Use it when a checkpoint’s preview_status in List checkpoints is failed. It works on a checkpoint in any state. When the checkpoint’s commit already has a build, nothing is rebuilt and the checkpoint is marked ready straight away.
The build runs in the background. Poll List checkpoints and watch the checkpoint’s preview_status until it’s ready or failed. Build failures can include details in build_error.message.
Only one build of a commit runs at a time. Retrying while another build of the same commit is still running doesn’t start a second one in parallel. The retry waits for that build and only builds again if it didn’t succeed. If the wait expires without a completed build, the checkpoint stays building while it’s within the build execution budget. Once more than 20 minutes have passed since the latest checkpoint update or build start, listing checkpoints checks for a completed build and marks the checkpoint ready or failed. If build availability can’t be checked, its status stays unchanged. You can retry a failed checkpoint’s build.
git_commit_hash is null was saved before the app’s code was kept in git. Retrying its build first saves that checkpoint’s code to the app as a new commit, which changes the app’s current code.curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.text)const options = {method: 'POST', headers: {Authorization: 'Bearer <token>'}};
fetch('https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build"
req, _ := http.NewRequest("POST", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/app-checkpoints/{checkpoint_id}/retry-build")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"status": "building",
"git_commit_hash": "a1b2c3d4e5f67890abcdef1234567890abcdef12"
}Authorizations
Personal access token, sent as Authorization: Bearer <token>. Each operation lists the permission it needs: read_only or full_access. A full-access token can call every operation. A read-only token can call only the operations that list read_only; anything else returns 403 read_only_credential_route_not_allowed.
Response
Where the build stands, and the commit being built.
Where a checkpoint's preview build stands when the call returns.
Where the build stands when the call returns. Either building (the build started in the background), ready (the checkpoint's commit was already built, so nothing was rebuilt), or skipped (the app was imported from an external repository, and those apps have no preview build).
building, ready, skipped "building"
Git commit hash of the code being built, the same as the checkpoint's git_commit_hash.
"a1b2c3d4e5f67890abcdef1234567890abcdef12"
Was this page helpful?