Event Schemas
Create an event schema
Create an event schema with attributes and dimensions to process events.
POST
/
event_schema
curl --request POST \
--url https://api.togai.com/event_schema \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "ride_completed",
"description": "Cab ride completed",
"attributes": [
{
"name": "distance"
},
{
"name": "time"
}
],
"dimensions": [
{
"name": "city"
},
{
"name": "vehicle_type"
}
],
"enrichments": {
"dependencies": [
{
"type": "SETTING",
"key": "setting.user.meters_per_km",
"name": "meters_per_km"
}
],
"fields": [
{
"name": "distanceInKM",
"type": "ATTRIBUTE",
"enrichmentType": "JSON_LOGIC",
"value": "{\"/\":[{\"var\":[\"attribute.distance\"]},{\"var\":[\"dependencies.meters_per_km\"]}]}",
"order": 1
},
{
"name": "rideType",
"type": "DIMENSION",
"enrichmentType": "JSON_LOGIC",
"value": "{\"if\":[{\"<=\":[100,{\"var\":[\"attribute.distanceInKM\"]}]},\"long_distance\",\"short_distance\"]}",
"order": 2
}
]
}
}'
{
"name": "ride_completed",
"description": "Cab ride completed",
"version": 1,
"status": "DRAFT",
"attributes": [
{
"name": "distance"
},
{
"name": "time"
}
],
"dimensions": [
{
"name": "city"
},
{
"name": "ride_type"
}
],
"featureDetails": {
"featureId": "feature.1122.ahoiud",
"attributeName": "distance"
},
"eventLevelRevenue": false
}
Authorizations
Authorization
string
headerrequiredBearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Body
application/json
name
string
requiredName of the event. Must be unique for an organization.
description
string
Description of the event
attributes
object[]
requireddimensions
object[]
requiredenrichments
object
Response
201 - application/json
name
string
requiredName of the event. Must be unique for an organization.
description
string
Description of the event
version
integer
requiredVersion of event schema
status
enum<string>
Status of event schema
- DRAFT - Schema is in draft state
- ACTIVE - Schema is currently active
- INACTIVE - Schema is currently inactive
- ARCHIVED - Older version of event schema
Available options:
DRAFT
, ACTIVE
, INACTIVE
, ARCHIVED
attributes
object[]
dimensions
object[]
featureDetails
object
details of feature associated with event schema with attribute name
enrichments
object
eventLevelRevenue
boolean
createdAt
string
updatedAt
string
curl --request POST \
--url https://api.togai.com/event_schema \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "ride_completed",
"description": "Cab ride completed",
"attributes": [
{
"name": "distance"
},
{
"name": "time"
}
],
"dimensions": [
{
"name": "city"
},
{
"name": "vehicle_type"
}
],
"enrichments": {
"dependencies": [
{
"type": "SETTING",
"key": "setting.user.meters_per_km",
"name": "meters_per_km"
}
],
"fields": [
{
"name": "distanceInKM",
"type": "ATTRIBUTE",
"enrichmentType": "JSON_LOGIC",
"value": "{\"/\":[{\"var\":[\"attribute.distance\"]},{\"var\":[\"dependencies.meters_per_km\"]}]}",
"order": 1
},
{
"name": "rideType",
"type": "DIMENSION",
"enrichmentType": "JSON_LOGIC",
"value": "{\"if\":[{\"<=\":[100,{\"var\":[\"attribute.distanceInKM\"]}]},\"long_distance\",\"short_distance\"]}",
"order": 2
}
]
}
}'
{
"name": "ride_completed",
"description": "Cab ride completed",
"version": 1,
"status": "DRAFT",
"attributes": [
{
"name": "distance"
},
{
"name": "time"
}
],
"dimensions": [
{
"name": "city"
},
{
"name": "ride_type"
}
],
"featureDetails": {
"featureId": "feature.1122.ahoiud",
"attributeName": "distance"
},
"eventLevelRevenue": false
}