curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox', 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}/payments/stripe/sandbox",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"app_id": "6820f3a4e7b91d003c45a1f2",
"status": "unclaimed",
"claimable_sandbox_id": "clmsbx_T7mK2p9Q4r6S8v",
"claim_url": "https://dashboard.stripe.com/claim/example",
"stripe_account_id": "acct_T7mK2p9Q4r6S8v",
"is_claimable": true,
"expires_at": "2026-10-25T10:00:00"
}Get Stripe sandbox
Returns the stored Stripe sandbox, or null if none exists. This read does not refresh its state from Stripe. Requires read access to the app.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox', 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}/payments/stripe/sandbox",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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"
"net/http"
"io"
)
func main() {
url := "https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("api_key", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/payments/stripe/sandbox")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"app_id": "6820f3a4e7b91d003c45a1f2",
"status": "unclaimed",
"claimable_sandbox_id": "clmsbx_T7mK2p9Q4r6S8v",
"claim_url": "https://dashboard.stripe.com/claim/example",
"stripe_account_id": "acct_T7mK2p9Q4r6S8v",
"is_claimable": true,
"expires_at": "2026-10-25T10:00:00"
}Authorizations
Personal API key.
Path Parameters
ID of the Base44 app.
Response
Successful Response
Sandbox status response.
ID of the Base44 app.
"6820f3a4e7b91d003c45a1f2"
Stored sandbox status. Either unclaimed, claimed, or expired.
"unclaimed"
Stripe claimable sandbox ID.
"clmsbx_T7mK2p9Q4r6S8v"
Onboarding link, or null when none is stored or you are a workspace viewer. Treat this link as a credential.
"https://dashboard.stripe.com/claim/example"
Stripe account ID for the sandbox.
"acct_T7mK2p9Q4r6S8v"
Whether the sandbox is unclaimed, has not expired, and has a stored claim link.
true
Sandbox expiration as a UTC timestamp in ISO 8601 format, or null when no expiration is stored.
"2026-10-25T10:00:00"
Was this page helpful?