curl --request POST \
--url https://api.hubapi.com/integrators/timeline/v3/events/batch/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"eventTemplateId": "<string>",
"id": "<string>",
"tokens": {},
"customObjectTypeId": "<string>",
"domain": "<string>",
"email": "<string>",
"extraData": {},
"objectId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"utk": "<string>"
}
]
}
'import requests
url = "https://api.hubapi.com/integrators/timeline/v3/events/batch/create"
payload = { "inputs": [
{
"eventTemplateId": "<string>",
"id": "<string>",
"tokens": {},
"customObjectTypeId": "<string>",
"domain": "<string>",
"email": "<string>",
"extraData": {},
"objectId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"utk": "<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: [
{
eventTemplateId: '<string>',
id: '<string>',
tokens: {},
customObjectTypeId: '<string>',
domain: '<string>',
email: '<string>',
extraData: {},
objectId: '<string>',
timestamp: '2023-11-07T05:31:56Z',
utk: '<string>'
}
]
})
};
fetch('https://api.hubapi.com/integrators/timeline/v3/events/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/integrators/timeline/v3/events/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' => [
[
'eventTemplateId' => '<string>',
'id' => '<string>',
'tokens' => [
],
'customObjectTypeId' => '<string>',
'domain' => '<string>',
'email' => '<string>',
'extraData' => [
],
'objectId' => '<string>',
'timestamp' => '2023-11-07T05:31:56Z',
'utk' => '<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/integrators/timeline/v3/events/batch/create"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"eventTemplateId\": \"<string>\",\n \"id\": \"<string>\",\n \"tokens\": {},\n \"customObjectTypeId\": \"<string>\",\n \"domain\": \"<string>\",\n \"email\": \"<string>\",\n \"extraData\": {},\n \"objectId\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"utk\": \"<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/integrators/timeline/v3/events/batch/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"eventTemplateId\": \"<string>\",\n \"id\": \"<string>\",\n \"tokens\": {},\n \"customObjectTypeId\": \"<string>\",\n \"domain\": \"<string>\",\n \"email\": \"<string>\",\n \"extraData\": {},\n \"objectId\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"utk\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/integrators/timeline/v3/events/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 \"eventTemplateId\": \"<string>\",\n \"id\": \"<string>\",\n \"tokens\": {},\n \"customObjectTypeId\": \"<string>\",\n \"domain\": \"<string>\",\n \"email\": \"<string>\",\n \"extraData\": {},\n \"objectId\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"utk\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"eventTemplateId": "<string>",
"id": "<string>",
"objectType": "<string>",
"tokens": {},
"createdAt": "2023-11-07T05:31:56Z",
"customObjectTypeId": "<string>",
"domain": "<string>",
"email": "<string>",
"extraData": {},
"objectId": "<string>",
"timelineIFrame": {
"headerLabel": "<string>",
"height": 123,
"linkLabel": "<string>",
"url": "<string>",
"width": 123
},
"timestamp": "2023-11-07T05:31:56Z",
"utk": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"eventTemplateId": "<string>",
"id": "<string>",
"objectType": "<string>",
"tokens": {},
"createdAt": "2023-11-07T05:31:56Z",
"customObjectTypeId": "<string>",
"domain": "<string>",
"email": "<string>",
"extraData": {},
"objectId": "<string>",
"timelineIFrame": {
"headerLabel": "<string>",
"height": 123,
"linkLabel": "<string>",
"url": "<string>",
"width": 123
},
"timestamp": "2023-11-07T05:31:56Z",
"utk": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"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 multiple events
Batch create multiple instances of timeline events based on an event template. Once created, these event are immutable on the object timeline and cannot be modified. If the event template was configured to update object properties via objectPropertyName, this call will also attempt to updates those properties, or add them if they don’t exist.
curl --request POST \
--url https://api.hubapi.com/integrators/timeline/v3/events/batch/create \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"eventTemplateId": "<string>",
"id": "<string>",
"tokens": {},
"customObjectTypeId": "<string>",
"domain": "<string>",
"email": "<string>",
"extraData": {},
"objectId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"utk": "<string>"
}
]
}
'import requests
url = "https://api.hubapi.com/integrators/timeline/v3/events/batch/create"
payload = { "inputs": [
{
"eventTemplateId": "<string>",
"id": "<string>",
"tokens": {},
"customObjectTypeId": "<string>",
"domain": "<string>",
"email": "<string>",
"extraData": {},
"objectId": "<string>",
"timestamp": "2023-11-07T05:31:56Z",
"utk": "<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: [
{
eventTemplateId: '<string>',
id: '<string>',
tokens: {},
customObjectTypeId: '<string>',
domain: '<string>',
email: '<string>',
extraData: {},
objectId: '<string>',
timestamp: '2023-11-07T05:31:56Z',
utk: '<string>'
}
]
})
};
fetch('https://api.hubapi.com/integrators/timeline/v3/events/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/integrators/timeline/v3/events/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' => [
[
'eventTemplateId' => '<string>',
'id' => '<string>',
'tokens' => [
],
'customObjectTypeId' => '<string>',
'domain' => '<string>',
'email' => '<string>',
'extraData' => [
],
'objectId' => '<string>',
'timestamp' => '2023-11-07T05:31:56Z',
'utk' => '<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/integrators/timeline/v3/events/batch/create"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"eventTemplateId\": \"<string>\",\n \"id\": \"<string>\",\n \"tokens\": {},\n \"customObjectTypeId\": \"<string>\",\n \"domain\": \"<string>\",\n \"email\": \"<string>\",\n \"extraData\": {},\n \"objectId\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"utk\": \"<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/integrators/timeline/v3/events/batch/create")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"eventTemplateId\": \"<string>\",\n \"id\": \"<string>\",\n \"tokens\": {},\n \"customObjectTypeId\": \"<string>\",\n \"domain\": \"<string>\",\n \"email\": \"<string>\",\n \"extraData\": {},\n \"objectId\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"utk\": \"<string>\"\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/integrators/timeline/v3/events/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 \"eventTemplateId\": \"<string>\",\n \"id\": \"<string>\",\n \"tokens\": {},\n \"customObjectTypeId\": \"<string>\",\n \"domain\": \"<string>\",\n \"email\": \"<string>\",\n \"extraData\": {},\n \"objectId\": \"<string>\",\n \"timestamp\": \"2023-11-07T05:31:56Z\",\n \"utk\": \"<string>\"\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"eventTemplateId": "<string>",
"id": "<string>",
"objectType": "<string>",
"tokens": {},
"createdAt": "2023-11-07T05:31:56Z",
"customObjectTypeId": "<string>",
"domain": "<string>",
"email": "<string>",
"extraData": {},
"objectId": "<string>",
"timelineIFrame": {
"headerLabel": "<string>",
"height": 123,
"linkLabel": "<string>",
"url": "<string>",
"width": 123
},
"timestamp": "2023-11-07T05:31:56Z",
"utk": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"links": {},
"requestedAt": "2023-11-07T05:31:56Z"
}{
"completedAt": "2023-11-07T05:31:56Z",
"results": [
{
"eventTemplateId": "<string>",
"id": "<string>",
"objectType": "<string>",
"tokens": {},
"createdAt": "2023-11-07T05:31:56Z",
"customObjectTypeId": "<string>",
"domain": "<string>",
"email": "<string>",
"extraData": {},
"objectId": "<string>",
"timelineIFrame": {
"headerLabel": "<string>",
"height": 123,
"linkLabel": "<string>",
"url": "<string>",
"width": 123
},
"timestamp": "2023-11-07T05:31:56Z",
"utk": "<string>"
}
],
"startedAt": "2023-11-07T05:31:56Z",
"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
Authorizations
The access token received from the authorization server in the OAuth 2.0 flow.
Body
A collection of timeline events we want to create.
Show child attributes
Show child attributes
Response
successful operation
The time the request was completed.
Successfully created events.
Show child attributes
Show child attributes
The time the request began processing.
The status of the batch response. Should always be COMPLETED if processed.
CANCELED, COMPLETE, PENDING, PROCESSING Any links to documentation.
Show child attributes
Show child attributes
The time the request occurred.
Was this page helpful?