Introduction
APIs
- Authentication
- Customers
- Accounts
- Aliases
- Event Schemas
- Usage Meters
- AddOns
- Licenses
- Feature
- (Deprecated) Price Plans
- Price Plan V2
- Settings
- Price Experimentation
- Jobs
- Event Ingestion
- Entitlements
- Event Management
- Metrics
- Credits
- Invoices
- Payments
- Wallet
- InvoiceGroups
- Alerts
- Reports
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: Bearer <token>' \
--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,
"attributes": [
{
"name": "distance"
},
{
"name": "time"
}
],
"dimensions": [
{
"name": "city"
},
{
"name": "ride_type"
}
],
"featureDetails": {
"featureId": "feature.1122.ahoiud",
"attributeName": "distance"
},
"eventLevelRevenue": false
}
Authorizations
Bearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Body
application/json
Payload to create event schema
Request to create event schema
Response
201
application/json
Response for Create and Get event schema requests
Structure of an event schema
curl --request POST \
--url https://api.togai.com/event_schema \
--header 'Authorization: Bearer <token>' \
--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,
"attributes": [
{
"name": "distance"
},
{
"name": "time"
}
],
"dimensions": [
{
"name": "city"
},
{
"name": "ride_type"
}
],
"featureDetails": {
"featureId": "feature.1122.ahoiud",
"attributeName": "distance"
},
"eventLevelRevenue": false
}
Assistant
Responses are generated using AI and may contain mistakes.