curl --request POST \
--url https://api.hubapi.com/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"contactProperties": {},
"email": "<string>",
"interactionDateTime": 123,
"properties": {}
}
]
}
'import requests
url = "https://api.hubapi.com/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert"
payload = { "inputs": [
{
"contactProperties": {},
"email": "<string>",
"interactionDateTime": 123,
"properties": {}
}
] }
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: [
{
contactProperties: {},
email: '<string>',
interactionDateTime: 123,
properties: {}
}
]
})
};
fetch('https://api.hubapi.com/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert', 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/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert",
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' => [
[
'contactProperties' => [
],
'email' => '<string>',
'interactionDateTime' => 123,
'properties' => [
]
]
]
]),
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/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"contactProperties\": {},\n \"email\": \"<string>\",\n \"interactionDateTime\": 123,\n \"properties\": {}\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/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"contactProperties\": {},\n \"email\": \"<string>\",\n \"interactionDateTime\": 123,\n \"properties\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert")
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 \"contactProperties\": {},\n \"email\": \"<string>\",\n \"interactionDateTime\": 123,\n \"properties\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"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"
}
}Record a subscriber state by contact email
コンタクトのEメールアドレスを使用して、複数のHubSpotコンタクトとマーケティングイベント間の登録読者状態を記録します。コンタクトがすでにHubSpotに存在している必要がある点に注意してください。コンタクトは作成されません。contactPropertiesフィールドは、新しいコンタクトを作成する場合にのみ使用されます。これらのプロパティーで既存のコンタクトは更新されません。
curl --request POST \
--url https://api.hubapi.com/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"inputs": [
{
"contactProperties": {},
"email": "<string>",
"interactionDateTime": 123,
"properties": {}
}
]
}
'import requests
url = "https://api.hubapi.com/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert"
payload = { "inputs": [
{
"contactProperties": {},
"email": "<string>",
"interactionDateTime": 123,
"properties": {}
}
] }
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: [
{
contactProperties: {},
email: '<string>',
interactionDateTime: 123,
properties: {}
}
]
})
};
fetch('https://api.hubapi.com/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert', 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/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert",
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' => [
[
'contactProperties' => [
],
'email' => '<string>',
'interactionDateTime' => 123,
'properties' => [
]
]
]
]),
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/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert"
payload := strings.NewReader("{\n \"inputs\": [\n {\n \"contactProperties\": {},\n \"email\": \"<string>\",\n \"interactionDateTime\": 123,\n \"properties\": {}\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/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"inputs\": [\n {\n \"contactProperties\": {},\n \"email\": \"<string>\",\n \"interactionDateTime\": 123,\n \"properties\": {}\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.hubapi.com/marketing/marketing-events/2026-03/events/{externalEventId}/{subscriberState}/email-upsert")
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 \"contactProperties\": {},\n \"email\": \"<string>\",\n \"interactionDateTime\": 123,\n \"properties\": {}\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"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
承認
The access token received from the authorization server in the OAuth 2.0 flow.
クエリパラメータ
ボディ
作成または更新するマーケティングイベントの詳細のリスト
Show child attributes
Show child attributes
レスポンス
操作が失敗したときにAPIから返されるエラーレスポンスを表しています。このコンポーネントは、発生したエラーに関する詳細情報を提供するために、さまざまなエンドポイントで使用されます。
エラーカテゴリー
リクエストの固有ID。エラー報告またはサポートチケットには必ずこの値を含めてください
"aeb5f871-7f07-4993-9211-075dc63e7cbf"
エラーと修正手順(該当する場合)を記した、人が理解できるメッセージ
"An error occurred"
エラー条件に関する背景状況
Show child attributes
Show child attributes
"{invalidPropertyName=[propertyValue], missingScopes=[scope1, scope2]}"
エラーに関する詳細情報
Show child attributes
Show child attributes
エラーまたは推奨の修正手順に関するドキュメントが含まれる関連付けられたURIへのリンク名の対応付け
Show child attributes
Show child attributes
エラーに関する具体的な詳細が含まれる特定のカテゴリー