API Reference
Aampe Events Ingestion
Handle an event coming from an Aampe Webhook.
POST
/
v1
/
events
Aampe Events Ingestion
curl --request POST \
--url https://ingestion.{region}.api.aampe.com/v1/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contact_id": "<string>",
"event_name": "<string>",
"timestamp": 123,
"timezone": "UTC",
"event_id": "<string>",
"metadata": {}
}
'import requests
url = "https://ingestion.{region}.api.aampe.com/v1/events"
payload = {
"contact_id": "<string>",
"event_name": "<string>",
"timestamp": 123,
"timezone": "UTC",
"event_id": "<string>",
"metadata": {}
}
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({
contact_id: '<string>',
event_name: '<string>',
timestamp: 123,
timezone: 'UTC',
event_id: '<string>',
metadata: {}
})
};
fetch('https://ingestion.{region}.api.aampe.com/v1/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://ingestion.{region}.api.aampe.com/v1/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([
'contact_id' => '<string>',
'event_name' => '<string>',
'timestamp' => 123,
'timezone' => 'UTC',
'event_id' => '<string>',
'metadata' => [
]
]),
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://ingestion.{region}.api.aampe.com/v1/events"
payload := strings.NewReader("{\n \"contact_id\": \"<string>\",\n \"event_name\": \"<string>\",\n \"timestamp\": 123,\n \"timezone\": \"UTC\",\n \"event_id\": \"<string>\",\n \"metadata\": {}\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://ingestion.{region}.api.aampe.com/v1/events")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"contact_id\": \"<string>\",\n \"event_name\": \"<string>\",\n \"timestamp\": 123,\n \"timezone\": \"UTC\",\n \"event_id\": \"<string>\",\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ingestion.{region}.api.aampe.com/v1/events")
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 \"contact_id\": \"<string>\",\n \"event_name\": \"<string>\",\n \"timestamp\": 123,\n \"timezone\": \"UTC\",\n \"event_id\": \"<string>\",\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Your Ingestion API key. Obtain from Integrations > API keys in the Aampe Dashboard. See Authentication for details.
Body
application/json
User ID that is triggering the event
Minimum string length:
1The name of the event that took place
Minimum string length:
1Unix epoch seconds (number); decimals and millisecond values supported.
Local timezone where the event took place
Optional unique ID of the event
Optional dictionary representing any extra metadata
Response
Successful Response
Was this page helpful?
Previous
Aampe Property UpdateHandle property updates coming from Aampe identify calls.
Expects data in the exact format needed for publishing.
Next
⌘I
Aampe Events Ingestion
curl --request POST \
--url https://ingestion.{region}.api.aampe.com/v1/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"contact_id": "<string>",
"event_name": "<string>",
"timestamp": 123,
"timezone": "UTC",
"event_id": "<string>",
"metadata": {}
}
'import requests
url = "https://ingestion.{region}.api.aampe.com/v1/events"
payload = {
"contact_id": "<string>",
"event_name": "<string>",
"timestamp": 123,
"timezone": "UTC",
"event_id": "<string>",
"metadata": {}
}
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({
contact_id: '<string>',
event_name: '<string>',
timestamp: 123,
timezone: 'UTC',
event_id: '<string>',
metadata: {}
})
};
fetch('https://ingestion.{region}.api.aampe.com/v1/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://ingestion.{region}.api.aampe.com/v1/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([
'contact_id' => '<string>',
'event_name' => '<string>',
'timestamp' => 123,
'timezone' => 'UTC',
'event_id' => '<string>',
'metadata' => [
]
]),
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://ingestion.{region}.api.aampe.com/v1/events"
payload := strings.NewReader("{\n \"contact_id\": \"<string>\",\n \"event_name\": \"<string>\",\n \"timestamp\": 123,\n \"timezone\": \"UTC\",\n \"event_id\": \"<string>\",\n \"metadata\": {}\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://ingestion.{region}.api.aampe.com/v1/events")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"contact_id\": \"<string>\",\n \"event_name\": \"<string>\",\n \"timestamp\": 123,\n \"timezone\": \"UTC\",\n \"event_id\": \"<string>\",\n \"metadata\": {}\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://ingestion.{region}.api.aampe.com/v1/events")
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 \"contact_id\": \"<string>\",\n \"event_name\": \"<string>\",\n \"timestamp\": 123,\n \"timezone\": \"UTC\",\n \"event_id\": \"<string>\",\n \"metadata\": {}\n}"
response = http.request(request)
puts response.read_body{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}