curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/deploy \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"checkpoint_id": "6886b8d390dc7e2f4a2c91b3"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/deploy"
payload = { "checkpoint_id": "6886b8d390dc7e2f4a2c91b3" }
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({checkpoint_id: '6886b8d390dc7e2f4a2c91b3'})
};
fetch('https://app.base44.com/api/apps/{app_id}/deploy', 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}/deploy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'checkpoint_id' => '6886b8d390dc7e2f4a2c91b3'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/deploy"
payload := strings.NewReader("{\n \"checkpoint_id\": \"6886b8d390dc7e2f4a2c91b3\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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}/deploy")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"checkpoint_id\": \"6886b8d390dc7e2f4a2c91b3\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/deploy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"checkpoint_id\": \"6886b8d390dc7e2f4a2c91b3\"\n}"
response = http.request(request)
puts response.read_body{
"app_id": "6820f3a4e7b91d003c45a1f2",
"checkpoint_id": "6886b8d390dc7e2f4a2c91b3",
"git_commit_hash": "a1b2c3d4e5f67890abcdef1234567890abcdef12",
"deployed_at": "2026-08-02T14:30:00"
}Deploy an app
Deploys your app to production, publishing your latest changes so they go live for its users. By default the app’s current version is deployed. To deploy a specific saved version instead, pass its ID in the request body.
curl --request POST \
--url https://app.base44.com/api/apps/{app_id}/deploy \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"checkpoint_id": "6886b8d390dc7e2f4a2c91b3"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/deploy"
payload = { "checkpoint_id": "6886b8d390dc7e2f4a2c91b3" }
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({checkpoint_id: '6886b8d390dc7e2f4a2c91b3'})
};
fetch('https://app.base44.com/api/apps/{app_id}/deploy', 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}/deploy",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'checkpoint_id' => '6886b8d390dc7e2f4a2c91b3'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"api_key: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/deploy"
payload := strings.NewReader("{\n \"checkpoint_id\": \"6886b8d390dc7e2f4a2c91b3\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("api_key", "<api-key>")
req.Header.Add("Content-Type", "application/json")
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}/deploy")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"checkpoint_id\": \"6886b8d390dc7e2f4a2c91b3\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/deploy")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"checkpoint_id\": \"6886b8d390dc7e2f4a2c91b3\"\n}"
response = http.request(request)
puts response.read_body{
"app_id": "6820f3a4e7b91d003c45a1f2",
"checkpoint_id": "6886b8d390dc7e2f4a2c91b3",
"git_commit_hash": "a1b2c3d4e5f67890abcdef1234567890abcdef12",
"deployed_at": "2026-08-02T14:30:00"
}Authorizations
Personal API key.
Path Parameters
ID of the app to deploy.
Body
ID of a specific saved version of the app to deploy. If omitted, the app's current version is deployed.
"6886b8d390dc7e2f4a2c91b3"
Response
Successful Response
The version of an app that was published, and when.
ID of the app that was deployed.
"6820f3a4e7b91d003c45a1f2"
ID of the saved version associated with this deploy, or null if the app has no saved versions. The git commit hash identifies the exact code that was deployed.
"6886b8d390dc7e2f4a2c91b3"
Git commit hash of the code that was deployed.
"a1b2c3d4e5f67890abcdef1234567890abcdef12"
Time the app was deployed, as a UTC timestamp in ISO 8601 format.
"2026-08-02T14:30:00"
Was this page helpful?