Complete Google Verification
curl --request POST \
--url https://searchcompany-main.up.railway.app/api/domain/complete-google-verification/{org_id}import requests
url = "https://searchcompany-main.up.railway.app/api/domain/complete-google-verification/{org_id}"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://searchcompany-main.up.railway.app/api/domain/complete-google-verification/{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/complete-google-verification/{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/complete-google-verification/{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/complete-google-verification/{org_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://searchcompany-main.up.railway.app/api/domain/complete-google-verification/{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>",
"verified": true,
"added_to_search_console": true,
"sitemap_submitted": true,
"message": "<string>"
}🔵 POST - Complete Google Verification
Complete Google Verification
Verify domain ownership and submit sitemap to Google Search Console
POST
/
api
/
domain
/
complete-google-verification
/
{org_id}
Complete Google Verification
curl --request POST \
--url https://searchcompany-main.up.railway.app/api/domain/complete-google-verification/{org_id}import requests
url = "https://searchcompany-main.up.railway.app/api/domain/complete-google-verification/{org_id}"
response = requests.post(url)
print(response.text)const options = {method: 'POST'};
fetch('https://searchcompany-main.up.railway.app/api/domain/complete-google-verification/{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/complete-google-verification/{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/complete-google-verification/{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/complete-google-verification/{org_id}")
.asString();require 'uri'
require 'net/http'
url = URI("https://searchcompany-main.up.railway.app/api/domain/complete-google-verification/{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>",
"verified": true,
"added_to_search_console": true,
"sitemap_submitted": true,
"message": "<string>"
}Overview
This endpoint completes the Google Search Console verification process after the user has added the TXT record via Entri. Call this endpoint in parallel with/complete-certificate after the user has added both TXT records.
Steps Performed
- Verify domain ownership with Google Site Verification API
- Add site to Google Search Console
- Submit sitemap (
/sitemap.xml) to Google
Path Parameters
string
required
The Clerk organization ID (e.g.,
org_xxx)Response
string
success or errorboolean
Whether domain ownership was verified
boolean
Whether the site was added to Search Console
boolean
Whether the sitemap was submitted
string
Success or error message
Example Response
{
"status": "success",
"verified": true,
"added_to_search_console": true,
"sitemap_submitted": true,
"message": "Domain verified and sitemap submitted to Google Search Console"
}
Database Updates
On success, the following columns are updated inai_sites:
google_verification_status: Set toVERIFIEDgoogle_sitemap_submitted_at: Current timestamp
google_verification_status: Set toFAILED
Prerequisites
Must call/start-google-verification/{org_id} first to get the TXT record token.