curl --request POST \
--url https://events.extole.io/v6/async-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/async-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/async-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/async-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/async-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/async-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/async-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>"
}Submit an event asynchronously
Submits a consumer event asynchronously. No per-request rate limit - use for high-volume or bulk integrations. May return 429 only if the downstream ingestion queue is saturated. Only event_id is returned; person identification occurs asynchronously after the request returns.
curl --request POST \
--url https://events.extole.io/v6/async-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/async-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/async-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/async-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/async-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/async-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/async-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>"
}Authorizations
Body
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
{
"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.
Response
Event accepted and queued for asynchronous processing. Returns the assigned event_id. Person identification completes after the response is returned.
Unique identifier for the queued event. Person identification occurs asynchronously after the request returns.
