curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/imported/main-update/failures/{failure_id}/retry \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/imported/main-update/failures/{failure_id}/retry"
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}/imported/main-update/failures/{failure_id}/retry', 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}/imported/main-update/failures/{failure_id}/retry",
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}/imported/main-update/failures/{failure_id}/retry"
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}/imported/main-update/failures/{failure_id}/retry")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/imported/main-update/failures/{failure_id}/retry")
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{
"accepted": true
}{
"error": {
"code": "unauthenticated",
"message": "Use Authorization: Bearer credentials.",
"details": {}
}
}{
"error": {
"code": "forbidden",
"message": "You don't have editor access to this app.",
"details": {}
}
}{
"error": {
"code": "failure_not_found",
"message": "This isn't the app's current update failure. Read the status again.",
"details": {}
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded.",
"details": {}
}
}Retry main sandbox update
Builds the main branch’s latest commit again, with the failed update’s setup, and, if it now passes its health checks, switches the preview to it. That is the commit that failed unless a newer one was pushed since. Use it when the failure wasn’t caused by the code, for example a temporary problem or a changed environment variable. To fix the code itself, push a new commit and call Check for main sandbox updates instead.
Only the app’s current failure can be retried. The request returns before the build runs, so poll Get main sandbox update status to follow it.
This endpoint is limited to 10 requests per minute per user, shared with Investigate main sandbox update failure, and reported in the X-RateLimit-* headers.
api_key query parameter is refused.curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/imported/main-update/failures/{failure_id}/retry \
--header 'Authorization: Bearer <token>'import requests
url = "https://app.base44.com/api/apps/{app_id}/imported/main-update/failures/{failure_id}/retry"
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}/imported/main-update/failures/{failure_id}/retry', 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}/imported/main-update/failures/{failure_id}/retry",
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}/imported/main-update/failures/{failure_id}/retry"
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}/imported/main-update/failures/{failure_id}/retry")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/imported/main-update/failures/{failure_id}/retry")
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{
"accepted": true
}{
"error": {
"code": "unauthenticated",
"message": "Use Authorization: Bearer credentials.",
"details": {}
}
}{
"error": {
"code": "forbidden",
"message": "You don't have editor access to this app.",
"details": {}
}
}{
"error": {
"code": "failure_not_found",
"message": "This isn't the app's current update failure. Read the status again.",
"details": {}
}
}{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded.",
"details": {}
}
}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.
Path Parameters
ID of the failure, as failure.id in Get main sandbox update status.
ID of the imported app whose main sandbox update failed.
Response
The retry was accepted.
Always true: the check was accepted.
true
Was this page helpful?