Update Google Ads billing cadence
curl --request PATCH \
--url https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"billing_cadence": "1w"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence"
payload = { "billing_cadence": "1w" }
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({billing_cadence: '1w'})
};
fetch('https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence', 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/accounts/{account_id}/cadence",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'billing_cadence' => '1w'
]),
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}/google-ads/accounts/{account_id}/cadence"
payload := strings.NewReader("{\n \"billing_cadence\": \"1w\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"billing_cadence\": \"1w\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"billing_cadence\": \"1w\"\n}"
response = http.request(request)
puts response.read_body{
"billing_cadence": "1w"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Accounts
Update Google Ads billing cadence
This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.
Changes how often the account is charged for ad spend.
Send 1w for weekly, 2w for fortnightly, or 1m for monthly.
This only changes when charges happen on an account whose
charge_trigger_mode is cadence. On a legacy threshold account the value is stored and the call still returns a 200, but charging keeps following the spend ladder and ignores it. Read charge_trigger_mode from Get Google Ads account before relying on this.On a
cadence account the new setting applies to spend that has already accrued, not only to spend from here on. The next charge is calculated from the account’s existing creation or last-charge timestamp using the cadence you just set, so shortening it can bring forward a charge for spend accrued under the old one, and lengthening it can delay that charge.The response includes fields beyond the ones documented here. Don’t rely on undocumented response fields, as they can change at any time. Send only the fields documented here. Other request fields are not supported and their behavior can change.
PATCH
/
api
/
apps
/
{app_id}
/
google-ads
/
accounts
/
{account_id}
/
cadence
Update Google Ads billing cadence
curl --request PATCH \
--url https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence \
--header 'Content-Type: application/json' \
--header 'api_key: <api-key>' \
--data '
{
"billing_cadence": "1w"
}
'import requests
url = "https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence"
payload = { "billing_cadence": "1w" }
headers = {
"api_key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.patch(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PATCH',
headers: {api_key: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({billing_cadence: '1w'})
};
fetch('https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence', 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/accounts/{account_id}/cadence",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PATCH",
CURLOPT_POSTFIELDS => json_encode([
'billing_cadence' => '1w'
]),
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}/google-ads/accounts/{account_id}/cadence"
payload := strings.NewReader("{\n \"billing_cadence\": \"1w\"\n}")
req, _ := http.NewRequest("PATCH", 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.patch("https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence")
.header("api_key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"billing_cadence\": \"1w\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.base44.com/api/apps/{app_id}/google-ads/accounts/{account_id}/cadence")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Patch.new(url)
request["api_key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"billing_cadence\": \"1w\"\n}"
response = http.request(request)
puts response.read_body{
"billing_cadence": "1w"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
Personal API key.
Path Parameters
ID of the app whose Google Ads campaigns to manage.
ID of the Google Ads account, as returned in id by Get Google Ads account. An account that belongs to a different app returns a 404.
Body
application/json
How often to charge the account: weekly, fortnightly, or monthly.
Available options:
1w, 2w, 1m Response
The cadence now in effect.
The account's billing cadence after the change.
The cadence now in effect: 1w, 2w, or 1m.
Example:
"1w"
Was this page helpful?
⌘I