curl --request GET \
--url https://api.erdo.ai/v1/org/business-profile \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.erdo.ai/v1/org/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.erdo.ai/v1/org/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.erdo.ai/v1/org/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.erdo.ai/v1/org/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.erdo.ai/v1/org/business-profile")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.erdo.ai/v1/org/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{
"entity_types": [
"<string>"
],
"exists": true,
"industries": [
"<string>"
],
"job_positions": [
"<string>"
],
"legal_structures": [
"<string>"
],
"missing_fields": [
"<string>"
],
"profile": {
"city": "<string>",
"country": "<string>",
"entity_type": "<string>",
"industry": "<string>",
"legal_name": "<string>",
"legal_structure": "sole_proprietorship",
"postal_code": "<string>",
"privacy_policy_url": "<string>",
"region": "<string>",
"representative_email": "<string>",
"representative_first_name": "<string>",
"representative_job_position": "<string>",
"representative_last_name": "<string>",
"representative_phone": "<string>",
"representative_title": "<string>",
"stock_exchange": "<string>",
"stock_ticker": "<string>",
"street": "<string>",
"submitted_by_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tax_id_last4": "<string>",
"tax_id_stored": true,
"terms_and_conditions_url": "<string>",
"updated_at": "<string>",
"website_url": "<string>"
}
}{
"code": "not_found",
"details": {},
"message": "<string>"
}GetBusinessProfileAPI mirrors erdo_get_business_profile. The tax id is never
in the response — only its last four digits, and whether one is stored.
curl --request GET \
--url https://api.erdo.ai/v1/org/business-profile \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.erdo.ai/v1/org/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.erdo.ai/v1/org/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.erdo.ai/v1/org/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.erdo.ai/v1/org/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.erdo.ai/v1/org/business-profile")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.erdo.ai/v1/org/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{
"entity_types": [
"<string>"
],
"exists": true,
"industries": [
"<string>"
],
"job_positions": [
"<string>"
],
"legal_structures": [
"<string>"
],
"missing_fields": [
"<string>"
],
"profile": {
"city": "<string>",
"country": "<string>",
"entity_type": "<string>",
"industry": "<string>",
"legal_name": "<string>",
"legal_structure": "sole_proprietorship",
"postal_code": "<string>",
"privacy_policy_url": "<string>",
"region": "<string>",
"representative_email": "<string>",
"representative_first_name": "<string>",
"representative_job_position": "<string>",
"representative_last_name": "<string>",
"representative_phone": "<string>",
"representative_title": "<string>",
"stock_exchange": "<string>",
"stock_ticker": "<string>",
"street": "<string>",
"submitted_by_user_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"tax_id_last4": "<string>",
"tax_id_stored": true,
"terms_and_conditions_url": "<string>",
"updated_at": "<string>",
"website_url": "<string>"
}
}{
"code": "not_found",
"details": {},
"message": "<string>"
}Authorizations
An Erdo API key (erdo_api_...) or scoped token (erdo_token_...).
Response
Success response
the profile so a form (or an agent explaining the form) never has to carry its own copy that drifts from the one validation uses.
the zero value rather than null, so a form binds to it without a nil check.
The accepted legal structures, returned with the profile so a form (or an agent explaining the form) never has to carry its own copy that drifts from the one validation uses.
form shows them. Empty means the profile is ready to submit.
except the tax id, plus the last four digits of it. There is deliberately no field carrying the number itself — a struct that could hold it is a struct that will eventually be logged.
Show child attributes
Show child attributes

