curl --request POST \
--url https://api.withorb.com/v1/events/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"event_ids": [
"<string>"
],
"timeframe_start": "2023-11-07T05:31:56Z",
"timeframe_end": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.withorb.com/v1/events/search"
payload = {
"event_ids": ["<string>"],
"timeframe_start": "2023-11-07T05:31:56Z",
"timeframe_end": "2023-11-07T05:31:56Z"
}
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({
event_ids: ['<string>'],
timeframe_start: '2023-11-07T05:31:56Z',
timeframe_end: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.withorb.com/v1/events/search', 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.withorb.com/v1/events/search",
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([
'event_ids' => [
'<string>'
],
'timeframe_start' => '2023-11-07T05:31:56Z',
'timeframe_end' => '2023-11-07T05:31:56Z'
]),
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://api.withorb.com/v1/events/search"
payload := strings.NewReader("{\n \"event_ids\": [\n \"<string>\"\n ],\n \"timeframe_start\": \"2023-11-07T05:31:56Z\",\n \"timeframe_end\": \"2023-11-07T05:31:56Z\"\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://api.withorb.com/v1/events/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"event_ids\": [\n \"<string>\"\n ],\n \"timeframe_start\": \"2023-11-07T05:31:56Z\",\n \"timeframe_end\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withorb.com/v1/events/search")
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 \"event_ids\": [\n \"<string>\"\n ],\n \"timeframe_start\": \"2023-11-07T05:31:56Z\",\n \"timeframe_end\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"customer_id": "<string>",
"external_customer_id": "<string>",
"event_name": "<string>",
"properties": {},
"timestamp": "2023-11-07T05:31:56Z",
"deprecated": true
}
]
}{
"type": "https://docs.withorb.com/reference/error-responses#400-constraint-violation",
"status": 400,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#401-authentication-error",
"status": 401,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#404-feature-not-available",
"status": 400,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#409-resource-conflict",
"status": 409,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#413-request-too-large",
"status": 413,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#429-too-many-requests",
"status": 429,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#500-internal-server-error",
"status": 123,
"detail": "<string>",
"title": "<string>"
}Search events
This endpoint returns a filtered set of events for an account in a paginated list format.
Note that this is a POST endpoint rather than a GET endpoint because it employs a JSON body for search criteria
rather than query parameters, allowing for a more flexible search syntax.
Note that a search criteria must be specified. Currently, Orb supports the following criteria:
event_ids: This is an explicit array of IDs to filter by. Note that an event’s ID is theidempotency_keythat was originally used for ingestion.
By default, Orb will not throw a 404 if no events matched, Orb will return an empty array for data instead.
curl --request POST \
--url https://api.withorb.com/v1/events/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"event_ids": [
"<string>"
],
"timeframe_start": "2023-11-07T05:31:56Z",
"timeframe_end": "2023-11-07T05:31:56Z"
}
'import requests
url = "https://api.withorb.com/v1/events/search"
payload = {
"event_ids": ["<string>"],
"timeframe_start": "2023-11-07T05:31:56Z",
"timeframe_end": "2023-11-07T05:31:56Z"
}
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({
event_ids: ['<string>'],
timeframe_start: '2023-11-07T05:31:56Z',
timeframe_end: '2023-11-07T05:31:56Z'
})
};
fetch('https://api.withorb.com/v1/events/search', 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.withorb.com/v1/events/search",
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([
'event_ids' => [
'<string>'
],
'timeframe_start' => '2023-11-07T05:31:56Z',
'timeframe_end' => '2023-11-07T05:31:56Z'
]),
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://api.withorb.com/v1/events/search"
payload := strings.NewReader("{\n \"event_ids\": [\n \"<string>\"\n ],\n \"timeframe_start\": \"2023-11-07T05:31:56Z\",\n \"timeframe_end\": \"2023-11-07T05:31:56Z\"\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://api.withorb.com/v1/events/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"event_ids\": [\n \"<string>\"\n ],\n \"timeframe_start\": \"2023-11-07T05:31:56Z\",\n \"timeframe_end\": \"2023-11-07T05:31:56Z\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.withorb.com/v1/events/search")
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 \"event_ids\": [\n \"<string>\"\n ],\n \"timeframe_start\": \"2023-11-07T05:31:56Z\",\n \"timeframe_end\": \"2023-11-07T05:31:56Z\"\n}"
response = http.request(request)
puts response.read_body{
"data": [
{
"id": "<string>",
"customer_id": "<string>",
"external_customer_id": "<string>",
"event_name": "<string>",
"properties": {},
"timestamp": "2023-11-07T05:31:56Z",
"deprecated": true
}
]
}{
"type": "https://docs.withorb.com/reference/error-responses#400-constraint-violation",
"status": 400,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#401-authentication-error",
"status": 401,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#404-feature-not-available",
"status": 400,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#409-resource-conflict",
"status": 409,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#413-request-too-large",
"status": 413,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#429-too-many-requests",
"status": 429,
"detail": "<string>",
"title": "<string>"
}{
"type": "https://docs.withorb.com/reference/error-responses#500-internal-server-error",
"status": 123,
"detail": "<string>",
"title": "<string>"
}Authorizations
API Keys can be issued in the Orb's web application.
Body
This is an explicit array of IDs to filter by. Note that an event's ID is the idempotency_key that was originally used for ingestion, and this only supports events that have not been amended. Values in this array will be treated case sensitively.
1 - 500 elementsThe start of the timeframe, inclusive, in which to search events. If not specified, the one week ago is used.
The end of the timeframe, exclusive, in which to search events. If not specified, the current time is used.
Response
OK
Show child attributes
Show child attributes
Was this page helpful?