Ads
Unlink an ad account
Disconnects one ad account from the workspace. The link is kept as history (names already resolved under it stay), so linking the same account again later revives it. Ads stop getting new names from this account.
Account-wide credential only; OAuth/MCP tokens need integrations:manage. An account that was never linked, was already unlinked, or belongs to another workspace answers 404 NOT_FOUND.
DELETE
/
v1
/
ads
/
accounts
/
{adAccountId}
Unlink an ad account
curl --request DELETE \
--url https://pilotstatus.com.br/v1/ads/accounts/{adAccountId} \
--header 'x-api-key: <api-key>'import requests
url = "https://pilotstatus.com.br/v1/ads/accounts/{adAccountId}"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('https://pilotstatus.com.br/v1/ads/accounts/{adAccountId}', 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://pilotstatus.com.br/v1/ads/accounts/{adAccountId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"x-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://pilotstatus.com.br/v1/ads/accounts/{adAccountId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-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.delete("https://pilotstatus.com.br/v1/ads/accounts/{adAccountId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/v1/ads/accounts/{adAccountId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"unlinked": true,
"adAccountId": "act_1234567890"
}{
"error": "Validation failed | Falha na validação",
"code": "VALIDATION_FAILED"
}{
"error": "Unauthorized"
}{
"error": "This endpoint requires a tenant-scoped API key",
"code": "NUMBER_SCOPE_NOT_ALLOWED"
}{
"error": "Ad account link not found | Vínculo da conta de anúncios não encontrado",
"code": "NOT_FOUND"
}{
"error": "Internal server error | Erro interno do servidor",
"code": "INTERNAL_ERROR"
}Was this page helpful?
⌘I
Unlink an ad account
curl --request DELETE \
--url https://pilotstatus.com.br/v1/ads/accounts/{adAccountId} \
--header 'x-api-key: <api-key>'import requests
url = "https://pilotstatus.com.br/v1/ads/accounts/{adAccountId}"
headers = {"x-api-key": "<api-key>"}
response = requests.delete(url, headers=headers)
print(response.text)const options = {method: 'DELETE', headers: {'x-api-key': '<api-key>'}};
fetch('https://pilotstatus.com.br/v1/ads/accounts/{adAccountId}', 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://pilotstatus.com.br/v1/ads/accounts/{adAccountId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
CURLOPT_HTTPHEADER => [
"x-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://pilotstatus.com.br/v1/ads/accounts/{adAccountId}"
req, _ := http.NewRequest("DELETE", url, nil)
req.Header.Add("x-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.delete("https://pilotstatus.com.br/v1/ads/accounts/{adAccountId}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://pilotstatus.com.br/v1/ads/accounts/{adAccountId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"unlinked": true,
"adAccountId": "act_1234567890"
}{
"error": "Validation failed | Falha na validação",
"code": "VALIDATION_FAILED"
}{
"error": "Unauthorized"
}{
"error": "This endpoint requires a tenant-scoped API key",
"code": "NUMBER_SCOPE_NOT_ALLOWED"
}{
"error": "Ad account link not found | Vínculo da conta de anúncios não encontrado",
"code": "NOT_FOUND"
}{
"error": "Internal server error | Erro interno do servidor",
"code": "INTERNAL_ERROR"
}