curl --request GET \
--url https://api.hq.zone/v1/api/business-profile \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hq.zone/v1/api/business-profile"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hq.zone/v1/api/business-profile', 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://api.hq.zone/v1/api/business-profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.hq.zone/v1/api/business-profile"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hq.zone/v1/api/business-profile")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hq.zone/v1/api/business-profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"detected": [
{
"signal_type": "<string>",
"value": "<string>"
}
],
"overridden": [
"<string>"
],
"brand_palette": "<unknown>",
"business_domain": "<string>",
"crawl_domain": "<string>",
"crawl_status": "<string>",
"dm_sent_at": "2023-11-07T05:31:56Z",
"enrichment": {
"enriched_at": "2023-11-07T05:31:56Z",
"industry": "<string>",
"segment": "<string>",
"size_hint": "<string>"
},
"fetched_at": "2023-11-07T05:31:56Z",
"fonts": "<unknown>",
"last_error": "<string>",
"logo_artifact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logo_url": "<string>",
"pages_crawled": 123,
"summary": "<string>",
"summary_confidence": 123
}Get business profile
Returns the workspace’s business profile, including its configured domain, the most recently crawled summary, brand palette, fonts, logo, crawl status and any last error, plus company enrichment (industry, segment, size hint) and detected technology signals ordered by confidence. The response also lists which fields have been manually overridden by an admin, with overrides taking precedence over auto-discovered values. Readable by any signed-in workspace member.
curl --request GET \
--url https://api.hq.zone/v1/api/business-profile \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.hq.zone/v1/api/business-profile"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.hq.zone/v1/api/business-profile', 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://api.hq.zone/v1/api/business-profile",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://api.hq.zone/v1/api/business-profile"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.hq.zone/v1/api/business-profile")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hq.zone/v1/api/business-profile")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"detected": [
{
"signal_type": "<string>",
"value": "<string>"
}
],
"overridden": [
"<string>"
],
"brand_palette": "<unknown>",
"business_domain": "<string>",
"crawl_domain": "<string>",
"crawl_status": "<string>",
"dm_sent_at": "2023-11-07T05:31:56Z",
"enrichment": {
"enriched_at": "2023-11-07T05:31:56Z",
"industry": "<string>",
"segment": "<string>",
"size_hint": "<string>"
},
"fetched_at": "2023-11-07T05:31:56Z",
"fonts": "<unknown>",
"last_error": "<string>",
"logo_artifact_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"logo_url": "<string>",
"pages_crawled": 123,
"summary": "<string>",
"summary_confidence": 123
}Authorizations
Personal Access Token. Send as Authorization: Bearer hq_pat_....
Response
Tenant business profile
Technology signals detected for the tenant, highest-confidence first. Powers the read-only "Detected technology" section.
Show child attributes
Show child attributes
Which fields are currently admin-overridden. Powers the "Use auto" affordance in the UI - only the overridden fields get a reset-button.
Currently-set domain on the tenants row. May differ from
crawl.domain if the admin changed it after the last crawl.
Company enrichment learned by profiling (migration 0155).
None when none of industry/segment/size_hint are set.
Show child attributes
Show child attributes