Resubmit Sitemap
curl --request POST \
--url https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}import requests
url = "https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}', 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://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$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://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"status": "<string>",
"sitemap_submitted": true,
"message": "<string>"
}🔵 POST - Resubmit Sitemap
Resubmit Sitemap
Resubmit sitemap to Google Search Console after new content is deployed
POST
/
api
/
domain
/
resubmit-sitemap
/
{org_id}
Resubmit Sitemap
curl --request POST \
--url https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}import requests
url = "https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}', 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://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
]);
$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://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}"
req, _ := http.NewRequest("POST", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://searchcompany-main.up.railway.app/api/domain/resubmit-sitemap/{org_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
response = http.request(request)
puts response.read_body{
"status": "<string>",
"sitemap_submitted": true,
"message": "<string>"
}Overview
This endpoint resubmits the sitemap to Google Search Console to notify Google that new pages have been added. Called by the cron service after deploying new boosted pages.Path Parameters
string
required
The organization identifier. Can be either:
- Clerk organization ID (e.g.,
org_xxx) - Organization slug / business_id (e.g.,
acme-corp)
Response
string
success, skipped, or errorboolean
Whether the sitemap was successfully submitted
string
Success, skip reason, or error message
Example Responses
Success
{
"status": "success",
"sitemap_submitted": true,
"message": "Sitemap resubmitted to Google Search Console"
}
Skipped (Not Verified)
{
"status": "skipped",
"sitemap_submitted": false,
"message": "Domain not verified with Google. Complete verification first."
}
Prerequisites
The domain must already be verified with Google Search Console (google_verification_status = 'VERIFIED').
If the domain is not verified, the endpoint returns status: "skipped" (non-blocking for cron).
Database Updates
On success:google_sitemap_submitted_at: Updated to current timestamp
Usage in Cron
# In Cron/src/jobs/boosted_pages.py
sitemap_result = await resubmit_sitemap(business_id)
if sitemap_result.get("status") == "success":
print(f"📤 Google: Sitemap resubmitted")