curl --request POST \
--url https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"includeAssociationDefinitions": true,
"includeAuditMetadata": true,
"includePropertyDefinitions": true,
"inputs": [
"<string>"
]
}
'import requests
url = "https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read"
payload = {
"includeAssociationDefinitions": True,
"includeAuditMetadata": True,
"includePropertyDefinitions": True,
"inputs": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
includeAssociationDefinitions: true,
includeAuditMetadata: true,
includePropertyDefinitions: true,
inputs: ['<string>']
})
};
fetch('https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read', 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.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'includeAssociationDefinitions' => true,
'includeAuditMetadata' => true,
'includePropertyDefinitions' => true,
'inputs' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read"
payload := strings.NewReader("{\n \"includeAssociationDefinitions\": true,\n \"includeAuditMetadata\": true,\n \"includePropertyDefinitions\": true,\n \"inputs\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"includeAssociationDefinitions\": true,\n \"includeAuditMetadata\": true,\n \"includePropertyDefinitions\": true,\n \"inputs\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"includeAssociationDefinitions\": true,\n \"includeAuditMetadata\": true,\n \"includePropertyDefinitions\": true,\n \"inputs\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"allowsSensitiveProperties": true,
"archived": true,
"associations": [
{
"fromObjectTypeId": "<string>",
"id": "<string>",
"toObjectTypeId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"fullyQualifiedName": "<string>",
"id": "<string>",
"labels": {
"plural": "<string>",
"singular": "<string>"
},
"name": "<string>",
"objectTypeId": "<string>",
"properties": [
{
"description": "<string>",
"fieldType": "<string>",
"groupName": "<string>",
"label": "<string>",
"name": "<string>",
"options": [
{
"hidden": true,
"label": "<string>",
"value": "<string>",
"description": "<string>",
"displayOrder": 123
}
],
"type": "<string>",
"archived": true,
"archivedAt": "2023-11-07T05:31:56Z",
"calculated": true,
"calculationFormula": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdUserId": "<string>",
"currencyPropertyName": "<string>",
"dataSensitivity": "highly_sensitive",
"dateDisplayHint": "absolute",
"displayOrder": 123,
"externalOptions": true,
"formField": true,
"hasUniqueValue": true,
"hidden": false,
"hubspotDefined": true,
"modificationMetadata": {
"archivable": true,
"readOnlyDefinition": true,
"readOnlyValue": true,
"readOnlyOptions": true
},
"numberDisplayHint": "currency",
"referencedObjectType": "<string>",
"sensitiveDataCategories": [
"<string>"
],
"showCurrencySymbol": true,
"textDisplayHint": "domain_name",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedUserId": "<string>"
}
],
"requiredProperties": [
"<string>"
],
"searchableProperties": [
"<string>"
],
"secondaryDisplayProperties": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z",
"createdByUserId": 123,
"description": "<string>",
"primaryDisplayProperty": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedByUserId": 123
}
]
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Retrieve multiple custom object schemas in a batch request.
Récupérer les détails de plusieurs schémas d’objets personnalisés en fournissant une requête par lots avec les entrées spécifiées. Cette opération vous permet de récupérer les informations de schéma, y compris les propriétés et les associations, pour plusieurs objets personnalisés en un seul appel d’API.
curl --request POST \
--url https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"includeAssociationDefinitions": true,
"includeAuditMetadata": true,
"includePropertyDefinitions": true,
"inputs": [
"<string>"
]
}
'import requests
url = "https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read"
payload = {
"includeAssociationDefinitions": True,
"includeAuditMetadata": True,
"includePropertyDefinitions": True,
"inputs": ["<string>"]
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
includeAssociationDefinitions: true,
includeAuditMetadata: true,
includePropertyDefinitions: true,
inputs: ['<string>']
})
};
fetch('https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read', 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.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'includeAssociationDefinitions' => true,
'includeAuditMetadata' => true,
'includePropertyDefinitions' => true,
'inputs' => [
'<string>'
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read"
payload := strings.NewReader("{\n \"includeAssociationDefinitions\": true,\n \"includeAuditMetadata\": true,\n \"includePropertyDefinitions\": true,\n \"inputs\": [\n \"<string>\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"includeAssociationDefinitions\": true,\n \"includeAuditMetadata\": true,\n \"includePropertyDefinitions\": true,\n \"inputs\": [\n \"<string>\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm-object-schemas/2026-03/schemas/batch/read")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"includeAssociationDefinitions\": true,\n \"includeAuditMetadata\": true,\n \"includePropertyDefinitions\": true,\n \"inputs\": [\n \"<string>\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"allowsSensitiveProperties": true,
"archived": true,
"associations": [
{
"fromObjectTypeId": "<string>",
"id": "<string>",
"toObjectTypeId": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"name": "<string>",
"updatedAt": "2023-11-07T05:31:56Z"
}
],
"fullyQualifiedName": "<string>",
"id": "<string>",
"labels": {
"plural": "<string>",
"singular": "<string>"
},
"name": "<string>",
"objectTypeId": "<string>",
"properties": [
{
"description": "<string>",
"fieldType": "<string>",
"groupName": "<string>",
"label": "<string>",
"name": "<string>",
"options": [
{
"hidden": true,
"label": "<string>",
"value": "<string>",
"description": "<string>",
"displayOrder": 123
}
],
"type": "<string>",
"archived": true,
"archivedAt": "2023-11-07T05:31:56Z",
"calculated": true,
"calculationFormula": "<string>",
"createdAt": "2023-11-07T05:31:56Z",
"createdUserId": "<string>",
"currencyPropertyName": "<string>",
"dataSensitivity": "highly_sensitive",
"dateDisplayHint": "absolute",
"displayOrder": 123,
"externalOptions": true,
"formField": true,
"hasUniqueValue": true,
"hidden": false,
"hubspotDefined": true,
"modificationMetadata": {
"archivable": true,
"readOnlyDefinition": true,
"readOnlyValue": true,
"readOnlyOptions": true
},
"numberDisplayHint": "currency",
"referencedObjectType": "<string>",
"sensitiveDataCategories": [
"<string>"
],
"showCurrencySymbol": true,
"textDisplayHint": "domain_name",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedUserId": "<string>"
}
],
"requiredProperties": [
"<string>"
],
"searchableProperties": [
"<string>"
],
"secondaryDisplayProperties": [
"<string>"
],
"createdAt": "2023-11-07T05:31:56Z",
"createdByUserId": 123,
"description": "<string>",
"primaryDisplayProperty": "<string>",
"updatedAt": "2023-11-07T05:31:56Z",
"updatedByUserId": 123
}
]
}{
"message": "Invalid input (details will vary based on the error)",
"correlationId": "aeb5f871-7f07-4993-9211-075dc63e7cbf",
"category": "VALIDATION_ERROR",
"links": {
"knowledge-base": "https://www.hubspot.com/products/service/knowledge-base"
}
}Supported products
Supported products
Required Scopes
Required Scopes
Autorisations
The access token received from the authorization server in the OAuth 2.0 flow.
Corps
Indique s'il faut inclure les définitions d'association dans la réponse.
Indique s'il faut inclure les métadonnées d'audit dans la réponse.
Indique s'il faut inclure les définitions de propriétés dans la réponse.
Un tableau de chaînes de caractères représentant les identifiants des schémas d'objet à lire.
Réponse
successful operation
Un tableau de schémas d'objets, chacun représenté par un schéma ObjectSchema. Cette propriété contient la liste des schémas renvoyés par l'appel d'API.
Show child attributes
Show child attributes