Submit a batch of events for ingestion
curl --request POST \
--url https://connect.withvayu.com/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"events": [
{
"name": "api_call",
"timestamp": "2023-09-13T18:25:43.511Z",
"customerAlias": "customer_12345",
"ref": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
"data": {
"key1": "processing_duration",
"key2": "api_url"
}
}
]
}
'import requests
url = "https://connect.withvayu.com/events"
payload = { "events": [
{
"name": "api_call",
"timestamp": "2023-09-13T18:25:43.511Z",
"customerAlias": "customer_12345",
"ref": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
"data": {
"key1": "processing_duration",
"key2": "api_url"
}
}
] }
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({
events: [
{
name: 'api_call',
timestamp: '2023-09-13T18:25:43.511Z',
customerAlias: 'customer_12345',
ref: '4f6cf35x-2c4y-483z-a0a9-158621f77a21',
data: {key1: 'processing_duration', key2: 'api_url'}
}
]
})
};
fetch('https://connect.withvayu.com/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://connect.withvayu.com/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([
'events' => [
[
'name' => 'api_call',
'timestamp' => '2023-09-13T18:25:43.511Z',
'customerAlias' => 'customer_12345',
'ref' => '4f6cf35x-2c4y-483z-a0a9-158621f77a21',
'data' => [
'key1' => 'processing_duration',
'key2' => 'api_url'
]
]
]
]),
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://connect.withvayu.com/events"
payload := strings.NewReader("{\n \"events\": [\n {\n \"name\": \"api_call\",\n \"timestamp\": \"2023-09-13T18:25:43.511Z\",\n \"customerAlias\": \"customer_12345\",\n \"ref\": \"4f6cf35x-2c4y-483z-a0a9-158621f77a21\",\n \"data\": {\n \"key1\": \"processing_duration\",\n \"key2\": \"api_url\"\n }\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://connect.withvayu.com/events")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"events\": [\n {\n \"name\": \"api_call\",\n \"timestamp\": \"2023-09-13T18:25:43.511Z\",\n \"customerAlias\": \"customer_12345\",\n \"ref\": \"4f6cf35x-2c4y-483z-a0a9-158621f77a21\",\n \"data\": {\n \"key1\": \"processing_duration\",\n \"key2\": \"api_url\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://connect.withvayu.com/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 \"events\": [\n {\n \"name\": \"api_call\",\n \"timestamp\": \"2023-09-13T18:25:43.511Z\",\n \"customerAlias\": \"customer_12345\",\n \"ref\": \"4f6cf35x-2c4y-483z-a0a9-158621f77a21\",\n \"data\": {\n \"key1\": \"processing_duration\",\n \"key2\": \"api_url\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"validEvents": [
{
"name": "api_call",
"timestamp": "2023-09-13T18:25:43.511Z",
"customerAlias": "customer_12345",
"ref": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
"data": {
"key1": "processing_duration",
"key2": "api_url"
}
}
],
"invalidEvents": [
{
"event": {
"name": "api_call",
"timestamp": "2023-09-13T18:25:43.511Z",
"customerAlias": "customer_12345",
"ref": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
"data": {
"key1": "processing_duration",
"key2": "api_url"
}
},
"error": "Event ref already exists."
}
]
}{
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"params": [
{
"param": "<string>",
"message": "<string>"
}
]
}{
"type": "authentication_error",
"code": "authentication_failed",
"message": "<string>"
}{
"type": "invalid_request_error",
"code": "request_too_large",
"message": "<string>"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "<string>"
}{
"type": "api_error",
"code": "internal_error",
"message": "<string>"
}Events
Submit a batch of events for ingestion
Use this endpoint to send an array of events for processing and storage. Make sure to comply with the request schema for each event.
POST
/
events
Submit a batch of events for ingestion
curl --request POST \
--url https://connect.withvayu.com/events \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"events": [
{
"name": "api_call",
"timestamp": "2023-09-13T18:25:43.511Z",
"customerAlias": "customer_12345",
"ref": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
"data": {
"key1": "processing_duration",
"key2": "api_url"
}
}
]
}
'import requests
url = "https://connect.withvayu.com/events"
payload = { "events": [
{
"name": "api_call",
"timestamp": "2023-09-13T18:25:43.511Z",
"customerAlias": "customer_12345",
"ref": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
"data": {
"key1": "processing_duration",
"key2": "api_url"
}
}
] }
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({
events: [
{
name: 'api_call',
timestamp: '2023-09-13T18:25:43.511Z',
customerAlias: 'customer_12345',
ref: '4f6cf35x-2c4y-483z-a0a9-158621f77a21',
data: {key1: 'processing_duration', key2: 'api_url'}
}
]
})
};
fetch('https://connect.withvayu.com/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://connect.withvayu.com/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([
'events' => [
[
'name' => 'api_call',
'timestamp' => '2023-09-13T18:25:43.511Z',
'customerAlias' => 'customer_12345',
'ref' => '4f6cf35x-2c4y-483z-a0a9-158621f77a21',
'data' => [
'key1' => 'processing_duration',
'key2' => 'api_url'
]
]
]
]),
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://connect.withvayu.com/events"
payload := strings.NewReader("{\n \"events\": [\n {\n \"name\": \"api_call\",\n \"timestamp\": \"2023-09-13T18:25:43.511Z\",\n \"customerAlias\": \"customer_12345\",\n \"ref\": \"4f6cf35x-2c4y-483z-a0a9-158621f77a21\",\n \"data\": {\n \"key1\": \"processing_duration\",\n \"key2\": \"api_url\"\n }\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://connect.withvayu.com/events")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"events\": [\n {\n \"name\": \"api_call\",\n \"timestamp\": \"2023-09-13T18:25:43.511Z\",\n \"customerAlias\": \"customer_12345\",\n \"ref\": \"4f6cf35x-2c4y-483z-a0a9-158621f77a21\",\n \"data\": {\n \"key1\": \"processing_duration\",\n \"key2\": \"api_url\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://connect.withvayu.com/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 \"events\": [\n {\n \"name\": \"api_call\",\n \"timestamp\": \"2023-09-13T18:25:43.511Z\",\n \"customerAlias\": \"customer_12345\",\n \"ref\": \"4f6cf35x-2c4y-483z-a0a9-158621f77a21\",\n \"data\": {\n \"key1\": \"processing_duration\",\n \"key2\": \"api_url\"\n }\n }\n ]\n}"
response = http.request(request)
puts response.read_body{
"validEvents": [
{
"name": "api_call",
"timestamp": "2023-09-13T18:25:43.511Z",
"customerAlias": "customer_12345",
"ref": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
"data": {
"key1": "processing_duration",
"key2": "api_url"
}
}
],
"invalidEvents": [
{
"event": {
"name": "api_call",
"timestamp": "2023-09-13T18:25:43.511Z",
"customerAlias": "customer_12345",
"ref": "4f6cf35x-2c4y-483z-a0a9-158621f77a21",
"data": {
"key1": "processing_duration",
"key2": "api_url"
}
},
"error": "Event ref already exists."
}
]
}{
"type": "invalid_request_error",
"code": "<string>",
"message": "<string>",
"param": "<string>",
"params": [
{
"param": "<string>",
"message": "<string>"
}
]
}{
"type": "authentication_error",
"code": "authentication_failed",
"message": "<string>"
}{
"type": "invalid_request_error",
"code": "request_too_large",
"message": "<string>"
}{
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "<string>"
}{
"type": "api_error",
"code": "internal_error",
"message": "<string>"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Body
application/json
An array of events following the EventInput schema. This request body should be included in the PUT request to '/events' Up to 1000 events or a total payload max size of 256KB
Required array length:
1 - 1000 elementsShow child attributes
Show child attributes
Response
RequestSuccess
An array of events that were successfully processed and sent to the queue.
Show child attributes
Show child attributes
An array of events that failed validation and were not sent to the queue. Each object contains the event and the error message.
Show child attributes
Show child attributes
⌘I
