curl --request POST \
--url https://api.hubapi.com/crm/objects/2026-09/tickets/batch/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"associations": [
{
"to": {
"id": "<string>"
},
"types": [
{
"associationTypeId": 123
}
]
}
],
"properties": {},
"objectWriteTraceId": "<string>"
}
]
}
'import requests
url = "https://api.hubapi.com/crm/objects/2026-09/tickets/batch/create"
payload = { "inputs": [
{
"associations": [
{
"to": { "id": "<string>" },
"types": [{ "associationTypeId": 123 }]
}
],
"properties": {},
"objectWriteTraceId": "<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({
inputs: [
{
associations: [{to: {id: '<string>'}, types: [{associationTypeId: 123}]}],
properties: {},
objectWriteTraceId: '<string>'
}
]
})
};
fetch('https://api.hubapi.com/crm/objects/2026-09/tickets/batch/create', 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/objects/2026-09/tickets/batch/create",
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([
'inputs' => [
[
'associations' => [
[
'to' => [
'id' => '<string>'
],
'types' => [
[
'associationTypeId' => 123
]
]
]
],
'properties' => [
],
'objectWriteTraceId' => '<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/objects/2026-09/tickets/batch/create"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"associations\": [\n {\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ],\n \"properties\": {},\n \"objectWriteTraceId\": \"<string>\"\n }\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/objects/2026-09/tickets/batch/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"associations\": [\n {\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ],\n \"properties\": {},\n \"objectWriteTraceId\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/objects/2026-09/tickets/batch/create")
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 \"inputs\": [\n {\n \"associations\": [\n {\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ],\n \"properties\": {},\n \"objectWriteTraceId\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"archived": true,
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"properties": {},
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"objectWriteTraceId": "<string>",
"propertiesWithHistory": {},
"url": "<string>",
"warnings": [
{
"category": "<string>",
"context": {},
"message": "<string>"
}
]
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"archived": true,
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"properties": {},
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"objectWriteTraceId": "<string>",
"propertiesWithHistory": {},
"url": "<string>",
"warnings": [
{
"category": "<string>",
"context": {},
"message": "<string>"
}
]
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}{
"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"
}
}Create a batch of tickets
Créer un lot d’objets CRM avec les propriétés spécifiées. Ce point de terminaison vous permet de créer plusieurs objets en une seule requête, ce qui peut être utile pour ajouter efficacement de grands jeux de données à votre compte HubSpot. La réponse inclut une copie de chaque objet créé, y compris les identifiants.
curl --request POST \
--url https://api.hubapi.com/crm/objects/2026-09/tickets/batch/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"associations": [
{
"to": {
"id": "<string>"
},
"types": [
{
"associationTypeId": 123
}
]
}
],
"properties": {},
"objectWriteTraceId": "<string>"
}
]
}
'import requests
url = "https://api.hubapi.com/crm/objects/2026-09/tickets/batch/create"
payload = { "inputs": [
{
"associations": [
{
"to": { "id": "<string>" },
"types": [{ "associationTypeId": 123 }]
}
],
"properties": {},
"objectWriteTraceId": "<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({
inputs: [
{
associations: [{to: {id: '<string>'}, types: [{associationTypeId: 123}]}],
properties: {},
objectWriteTraceId: '<string>'
}
]
})
};
fetch('https://api.hubapi.com/crm/objects/2026-09/tickets/batch/create', 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/objects/2026-09/tickets/batch/create",
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([
'inputs' => [
[
'associations' => [
[
'to' => [
'id' => '<string>'
],
'types' => [
[
'associationTypeId' => 123
]
]
]
],
'properties' => [
],
'objectWriteTraceId' => '<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/objects/2026-09/tickets/batch/create"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"associations\": [\n {\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ],\n \"properties\": {},\n \"objectWriteTraceId\": \"<string>\"\n }\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/objects/2026-09/tickets/batch/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"associations\": [\n {\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ],\n \"properties\": {},\n \"objectWriteTraceId\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/crm/objects/2026-09/tickets/batch/create")
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 \"inputs\": [\n {\n \"associations\": [\n {\n \"to\": {\n \"id\": \"<string>\"\n },\n \"types\": [\n {\n \"associationTypeId\": 123\n }\n ]\n }\n ],\n \"properties\": {},\n \"objectWriteTraceId\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"archived": true,
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"properties": {},
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"objectWriteTraceId": "<string>",
"propertiesWithHistory": {},
"url": "<string>",
"warnings": [
{
"category": "<string>",
"context": {},
"message": "<string>"
}
]
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"archived": true,
"createdAt": "2023-11-07T05:31:56Z",
"id": "<string>",
"properties": {},
"updatedAt": "2023-11-07T05:31:56Z",
"archivedAt": "2023-11-07T05:31:56Z",
"objectWriteTraceId": "<string>",
"propertiesWithHistory": {},
"url": "<string>",
"warnings": [
{
"category": "<string>",
"context": {},
"message": "<string>"
}
]
}
],
"startedAt": "2023-11-07T05:31:56Z",
"status": "CANCELED",
"errors": [
{
"category": "<string>",
"context": {},
"errors": [
{
"message": "<string>",
"code": "<string>",
"context": "{missingScopes=[scope1, scope2]}",
"in": "<string>",
"subCategory": "<string>"
}
],
"links": {},
"message": "<string>",
"status": "<string>",
"id": "<string>",
"subCategory": {}
}
],
"links": {},
"numErrors": 123,
"requestedAt": "2023-11-07T05:31:56Z"
}{
"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
Représente une entrée de lot pour la création de plusieurs objets publics simples en une seule requête. Ce composant est utilisé pour rationaliser le processus d'ajout de nouveaux objets à un compte HubSpot en permettant la création de plusieurs entrées à la fois.
Un tableau d'objets SimplePublicObjectBatchInputForCreate, chacun contenant les propriétés et les associations nécessaires à la création d'un seul objet CRM.
Show child attributes
Show child attributes
Réponse
successful operation
Objet de réponse de lot d'objet public
La date et l'heure auxquelles l'opération de lot a été effectuée, au format ISO 8601.
Un tableau d'éléments SimplePublicObject représentant les résultats de l'opération par lot.
Show child attributes
Show child attributes
La date et l'heure de début de l'opération par lot, au format ISO 8601.
Statut de la demande de traitement par lots. La valeur attendue est « TERMINÉ ».
CANCELED, COMPLETE, PENDING, PROCESSING Une carte des noms de liens vers les URI associées à l'opération de lot.
Show child attributes
Show child attributes
La date et l'heure auxquelles l'opération de lot a été demandée, au format ISO 8601.