curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/google-ads/billing/credits \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/google-ads/billing/credits"
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}/google-ads/billing/credits', 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}/google-ads/billing/credits",
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}/google-ads/billing/credits"
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}/google-ads/billing/credits")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/google-ads/billing/credits")
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[
{
"id": "68b1c0d4e7b91d003c45a1f7",
"code": "WELCOME50",
"credit_type": "GOOGLE_PROMO",
"status": "ACTIVE",
"currency_code": "EUR",
"amount_micros": 50000000,
"used_micros": 12000000,
"spendable": true,
"expires_at": "2026-12-31T23:59:59Z"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}List Google Ads promotional credits
Returns the promotional credits on the app’s Google Ads account.
Each credit carries its face value in amount_micros and how much has been spent in used_micros, both in micros of the credit currency. Subtract one from the other for what is left.
By default only credits that can still be spent are returned. Pass include_settled=true to also get recently used or expired ones, which come back with spendable: false. If you sum credits, filter on spendable rather than adding every row.
curl --request GET \
--url https://app.base44.com/api/apps/{app_id}/google-ads/billing/credits \
--header 'api_key: <api-key>'import requests
url = "https://app.base44.com/api/apps/{app_id}/google-ads/billing/credits"
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}/google-ads/billing/credits', 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}/google-ads/billing/credits",
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}/google-ads/billing/credits"
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}/google-ads/billing/credits")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/google-ads/billing/credits")
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[
{
"id": "68b1c0d4e7b91d003c45a1f7",
"code": "WELCOME50",
"credit_type": "GOOGLE_PROMO",
"status": "ACTIVE",
"currency_code": "EUR",
"amount_micros": 50000000,
"used_micros": 12000000,
"spendable": true,
"expires_at": "2026-12-31T23:59:59Z"
}
]{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal API key.
Path Parameters
ID of the app whose Google Ads campaigns to manage.
Query Parameters
Response
Successful Response
ID of the credit.
"68b1c0d4e7b91d003c45a1f7"
Code the credit was granted under. Empty on a credit Base44 granted directly.
"WELCOME50"
Where the credit came from. A value of GOOGLE_PROMO is a Google Ads promotional credit, and PLATFORM_CREDIT is one Base44 granted.
"GOOGLE_PROMO"
State of the credit. Either ACTIVE, USED, or EXPIRED.
"ACTIVE"
Currency of the amounts, as an ISO 4217 code.
"EUR"
Face value of the credit in micros, so 50000000 is 50.00.
50000000
How much of it has been spent, in micros.
12000000
Whether the credit can still be spent. Rows returned only because you passed include_settled=true report false.
true
When the credit expires, or null on a credit that does not expire.
"2026-12-31T23:59:59Z"
Was this page helpful?