Signal a HubSpot form submission on an event page
curl --request POST \
--url https://api.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal \
--header 'Content-Type: application/json' \
--data '
{
"formId": "<string>",
"submissionId": "<string>",
"email": "[email protected]",
"previewToken": "<string>"
}
'import requests
url = "https://api.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal"
payload = {
"formId": "<string>",
"submissionId": "<string>",
"email": "[email protected]",
"previewToken": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
formId: '<string>',
submissionId: '<string>',
email: '[email protected]',
previewToken: '<string>'
})
};
fetch('https://api.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal', 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.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal",
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([
'formId' => '<string>',
'submissionId' => '<string>',
'email' => '[email protected]',
'previewToken' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal"
payload := strings.NewReader("{\n \"formId\": \"<string>\",\n \"submissionId\": \"<string>\",\n \"email\": \"[email protected]\",\n \"previewToken\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal")
.header("Content-Type", "application/json")
.body("{\n \"formId\": \"<string>\",\n \"submissionId\": \"<string>\",\n \"email\": \"[email protected]\",\n \"previewToken\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"formId\": \"<string>\",\n \"submissionId\": \"<string>\",\n \"email\": \"[email protected]\",\n \"previewToken\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"ok": true,
"processed": 1,
"created": 1
}{
"error": "<string>",
"status": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"status": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"status": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"status": 123,
"code": "<string>",
"retryAfterSeconds": 123
}public
Signal a HubSpot form submission on an event page
Called from the HubSpot embed onFormSubmitted callback. Fetches recent HubSpot form submissions for this form and upserts new registrations for the signaled event.
POST
/
api
/
v1
/
public
/
orgs
/
{orgSlug}
/
events
/
{eventSlug}
/
hubspot-registration-signal
Signal a HubSpot form submission on an event page
curl --request POST \
--url https://api.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal \
--header 'Content-Type: application/json' \
--data '
{
"formId": "<string>",
"submissionId": "<string>",
"email": "[email protected]",
"previewToken": "<string>"
}
'import requests
url = "https://api.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal"
payload = {
"formId": "<string>",
"submissionId": "<string>",
"email": "[email protected]",
"previewToken": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
formId: '<string>',
submissionId: '<string>',
email: '[email protected]',
previewToken: '<string>'
})
};
fetch('https://api.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal', 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.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal",
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([
'formId' => '<string>',
'submissionId' => '<string>',
'email' => '[email protected]',
'previewToken' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"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.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal"
payload := strings.NewReader("{\n \"formId\": \"<string>\",\n \"submissionId\": \"<string>\",\n \"email\": \"[email protected]\",\n \"previewToken\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
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.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal")
.header("Content-Type", "application/json")
.body("{\n \"formId\": \"<string>\",\n \"submissionId\": \"<string>\",\n \"email\": \"[email protected]\",\n \"previewToken\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.eventlink.co/api/v1/public/orgs/{orgSlug}/events/{eventSlug}/hubspot-registration-signal")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"formId\": \"<string>\",\n \"submissionId\": \"<string>\",\n \"email\": \"[email protected]\",\n \"previewToken\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"ok": true,
"processed": 1,
"created": 1
}{
"error": "<string>",
"status": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"status": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"status": 123,
"code": "<string>",
"retryAfterSeconds": 123
}{
"error": "<string>",
"status": 123,
"code": "<string>",
"retryAfterSeconds": 123
}Path Parameters
Organization slug
Minimum string length:
1Example:
"acme"
Event slug
Minimum string length:
1Example:
"summit-2026"
Body
application/json
HubSpot form GUID bound to this event
Minimum string length:
1Optional HubSpot submission/conversion id from the embed event for exact matching
Minimum string length:
1Optional email from the embed event for fallback matching when submissionId is absent
Minimum string length:
1