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. When it fails, build_error.message says why.
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 runs too long, the checkpoint is marked failed with a build_error.message saying it timed out waiting for another build, and you can retry once that build has finished.
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>.
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?