Submit an event
curl --request POST \
--url https://events.extole.io/v6/events \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"email": "user@example.com",
"event_time": "2024-01-15T12:00:00Z",
"partner_user_id": "usr_8392047156",
"person_id": 7465313346145957000
},
"event_name": "event_name",
"event_time": "event_time"
}
'import requests
url = "https://events.extole.io/v6/events"
payload = {
"data": {
"email": "user@example.com",
"event_time": "2024-01-15T12:00:00Z",
"partner_user_id": "usr_8392047156",
"person_id": 7465313346145957000
},
"event_name": "event_name",
"event_time": "event_time"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: {
email: 'user@example.com',
event_time: '2024-01-15T12:00:00Z',
partner_user_id: 'usr_8392047156',
person_id: 7465313346145957000
},
event_name: 'event_name',
event_time: 'event_time'
})
};
fetch('https://events.extole.io/v6/events', 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://events.extole.io/v6/events",
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([
'data' => [
'email' => 'user@example.com',
'event_time' => '2024-01-15T12:00:00Z',
'partner_user_id' => 'usr_8392047156',
'person_id' => 7465313346145957000
],
'event_name' => 'event_name',
'event_time' => 'event_time'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://events.extole.io/v6/events"
payload := strings.NewReader("{\n \"data\": {\n \"email\": \"user@example.com\",\n \"event_time\": \"2024-01-15T12:00:00Z\",\n \"partner_user_id\": \"usr_8392047156\",\n \"person_id\": 7465313346145957000\n },\n \"event_name\": \"event_name\",\n \"event_time\": \"event_time\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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://events.extole.io/v6/events")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"email\": \"user@example.com\",\n \"event_time\": \"2024-01-15T12:00:00Z\",\n \"partner_user_id\": \"usr_8392047156\",\n \"person_id\": 7465313346145957000\n },\n \"event_name\": \"event_name\",\n \"event_time\": \"event_time\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://events.extole.io/v6/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"email\": \"user@example.com\",\n \"event_time\": \"2024-01-15T12:00:00Z\",\n \"partner_user_id\": \"usr_8392047156\",\n \"person_id\": 7465313346145957000\n },\n \"event_name\": \"event_name\",\n \"event_time\": \"event_time\"\n}"
response = http.request(request)
puts response.read_body{
"event_id": "<string>",
"person_id": "<string>"
}Events
Submit an event
Submits a consumer event synchronously. Returns both event_id and person_id. Use when you need immediate confirmation that the event was processed and identity resolution has completed. For high-volume ingestion use POST /v6/async-events instead.
POST
/
v6
/
events
Submit an event
curl --request POST \
--url https://events.extole.io/v6/events \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"data": {
"email": "user@example.com",
"event_time": "2024-01-15T12:00:00Z",
"partner_user_id": "usr_8392047156",
"person_id": 7465313346145957000
},
"event_name": "event_name",
"event_time": "event_time"
}
'import requests
url = "https://events.extole.io/v6/events"
payload = {
"data": {
"email": "user@example.com",
"event_time": "2024-01-15T12:00:00Z",
"partner_user_id": "usr_8392047156",
"person_id": 7465313346145957000
},
"event_name": "event_name",
"event_time": "event_time"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
data: {
email: 'user@example.com',
event_time: '2024-01-15T12:00:00Z',
partner_user_id: 'usr_8392047156',
person_id: 7465313346145957000
},
event_name: 'event_name',
event_time: 'event_time'
})
};
fetch('https://events.extole.io/v6/events', 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://events.extole.io/v6/events",
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([
'data' => [
'email' => 'user@example.com',
'event_time' => '2024-01-15T12:00:00Z',
'partner_user_id' => 'usr_8392047156',
'person_id' => 7465313346145957000
],
'event_name' => 'event_name',
'event_time' => 'event_time'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"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://events.extole.io/v6/events"
payload := strings.NewReader("{\n \"data\": {\n \"email\": \"user@example.com\",\n \"event_time\": \"2024-01-15T12:00:00Z\",\n \"partner_user_id\": \"usr_8392047156\",\n \"person_id\": 7465313346145957000\n },\n \"event_name\": \"event_name\",\n \"event_time\": \"event_time\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
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://events.extole.io/v6/events")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"data\": {\n \"email\": \"user@example.com\",\n \"event_time\": \"2024-01-15T12:00:00Z\",\n \"partner_user_id\": \"usr_8392047156\",\n \"person_id\": 7465313346145957000\n },\n \"event_name\": \"event_name\",\n \"event_time\": \"event_time\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://events.extole.io/v6/events")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"data\": {\n \"email\": \"user@example.com\",\n \"event_time\": \"2024-01-15T12:00:00Z\",\n \"partner_user_id\": \"usr_8392047156\",\n \"person_id\": 7465313346145957000\n },\n \"event_name\": \"event_name\",\n \"event_time\": \"event_time\"\n}"
response = http.request(request)
puts response.read_body{
"event_id": "<string>",
"person_id": "<string>"
}Authorizations
HEADERQUERYCOOKIE
Body
application/json
Open map of fields submitted with an event. May include keys beyond those listed here. email is the primary identity key and the only field that enables profile merging. partner_user_id is a secondary lookup key and is not guaranteed unique.
Show child attributes
Show child attributes
Example:
{
"email": "user@example.com",
"event_time": "2024-01-15T12:00:00Z",
"partner_user_id": "usr_8392047156",
"person_id": 7465313346145957000
}
Name of the event being submitted (for example, conversion or registration). Required.
ISO 8601 timestamp of when the event occurred. Optional; defaults to the time the request is received. Use for backdated events.
⌘I
