Get CRM Entity Schema
curl --request GET \
--url https://app.octavehq.com/api/v2/crm/get-entity-schema \
--header 'api_key: <api-key>'import requests
url = "https://app.octavehq.com/api/v2/crm/get-entity-schema"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.octavehq.com/api/v2/crm/get-entity-schema', 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://app.octavehq.com/api/v2/crm/get-entity-schema",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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://app.octavehq.com/api/v2/crm/get-entity-schema"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("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.get("https://app.octavehq.com/api/v2/crm/get-entity-schema")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.octavehq.com/api/v2/crm/get-entity-schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"provider": "<string>",
"entityType": "account",
"objectType": "<string>",
"supported": true,
"fields": [
{
"name": "<string>",
"label": "<string>",
"type": "<string>",
"custom": true,
"modifiable": true,
"description": "<string>",
"options": [
{
"label": "<string>",
"value": "<string>"
}
]
}
],
"total": 123
}
}CRM
Get CRM Entity Schema
Discover the valid fields/properties on a CRM entity (account, contact, lead, or opportunity) in the connected CRM (Salesforce, HubSpot, or Attio). Introspect the schema first, then fetch fields by their real API names instead of guessing.
GET
/
api
/
v2
/
crm
/
get-entity-schema
Get CRM Entity Schema
curl --request GET \
--url https://app.octavehq.com/api/v2/crm/get-entity-schema \
--header 'api_key: <api-key>'import requests
url = "https://app.octavehq.com/api/v2/crm/get-entity-schema"
headers = {"api_key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {api_key: '<api-key>'}};
fetch('https://app.octavehq.com/api/v2/crm/get-entity-schema', 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://app.octavehq.com/api/v2/crm/get-entity-schema",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"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://app.octavehq.com/api/v2/crm/get-entity-schema"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("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.get("https://app.octavehq.com/api/v2/crm/get-entity-schema")
.header("api_key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.octavehq.com/api/v2/crm/get-entity-schema")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["api_key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"provider": "<string>",
"entityType": "account",
"objectType": "<string>",
"supported": true,
"fields": [
{
"name": "<string>",
"label": "<string>",
"type": "<string>",
"custom": true,
"modifiable": true,
"description": "<string>",
"options": [
{
"label": "<string>",
"value": "<string>"
}
]
}
],
"total": 123
}
}Authorizations
Query Parameters
CRM entity to introspect: account, contact, lead, or opportunity. Note: HubSpot and Attio do not support leads.
Available options:
account, contact, lead, opportunity Optional case-insensitive filter. Only fields whose API name, label, or description contains this substring are returned. Useful for locating a known field (e.g. 'qualification') without scanning the full property list.
Response
200 - application/json
Valid fields/properties for the CRM entity
Show child attributes
Show child attributes