Usage Meters
Update an usage meter
This API lets you update an existing usage meter.
PATCH
/
usage_meters
/
{usage_meter_id}
curl --request PATCH \
--url https://api.togai.com/usage_meters/{usage_meter_id} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"billableName": "<string>",
"description": "<string>",
"type": "COUNTER",
"aggregation": "COUNT",
"computations": [
{
"id": "<string>",
"matcher": "{\n \"and\": [\n {\"in\": [{\"var\": \"dimension.city\"}, \"chennai\", \"mumbai\"]},\n \"or\": [\n {\">\": [{\"var\": \"attribute.distance\"}, 100]},\n {\"<\": [{\"var\": \"attribute.distance\"}, 20]}\n ]\n ]\n}\n",
"computation": {
"*": [
{
"var": "attributes.distance"
},
0.4
]
},
"order": 123
}
]
}'
{
"id": "um.1zlQTBWlkeO.lB7fh",
"name": "Rides",
"description": "Cab rides",
"type": "COUNTER",
"aggregation": "COUNT",
"status": "DRAFT",
"computations": [
{
"matcher": "{\n \"and\": [\n {\"in\": [{\"var\": \"dimension.city\"}, \"chennai\", \"mumbai\"]},\n \"or\": [\n {\">\": [{\"var\": \"attribute.distance\"}, 100]},\n {\"<\": [{\"var\": \"attribute.distance\"}, 20]}\n ]\n ]\n}\n",
"computation": "1"
}
]
}
Authorizations
Authorization
string
headerrequiredBearer authentication header of the form Bearer <token>
, where <token>
is your auth token.
Path Parameters
usage_meter_id
string
requiredBody
application/json
name
string
Name of usage meter.
billableName
string
Billable name of usage meter. Billable name takes precedence over name to display in invoice.
description
string
Description of the usage meter
type
enum<string>
Type of usage meter
- COUNTER - Count usage
Available options:
COUNTER
aggregation
enum<string>
Aggregation to be applied on usage meter result
- COUNT - Counts number of events matching the usage meter
- SUM - Sums up results of computation of all events matching usage meter
Available options:
COUNT
, SUM
computations
object[]
Response
200 - application/json
id
string
requiredIdentifier of the usage meter
name
string
requiredName of the usage meter
billableName
string
Billable name of addon. Billable name takes precedence over name to display in invoice.
description
string
type
enum<string>
requiredType of usage meter
Available options:
COUNTER
status
enum<string>
Status of usage meter
Available options:
DRAFT
, ACTIVE
, INACTIVE
, ARCHIVED
aggregation
enum<string>
requiredAggregation to be applied on usage meter result
Available options:
COUNT
, SUM
computations
object[]
createdAt
string
lastActivatedAt
string
updatedAt
string
curl --request PATCH \
--url https://api.togai.com/usage_meters/{usage_meter_id} \
--header 'Authorization: <authorization>' \
--header 'Content-Type: application/json' \
--data '{
"name": "<string>",
"billableName": "<string>",
"description": "<string>",
"type": "COUNTER",
"aggregation": "COUNT",
"computations": [
{
"id": "<string>",
"matcher": "{\n \"and\": [\n {\"in\": [{\"var\": \"dimension.city\"}, \"chennai\", \"mumbai\"]},\n \"or\": [\n {\">\": [{\"var\": \"attribute.distance\"}, 100]},\n {\"<\": [{\"var\": \"attribute.distance\"}, 20]}\n ]\n ]\n}\n",
"computation": {
"*": [
{
"var": "attributes.distance"
},
0.4
]
},
"order": 123
}
]
}'
{
"id": "um.1zlQTBWlkeO.lB7fh",
"name": "Rides",
"description": "Cab rides",
"type": "COUNTER",
"aggregation": "COUNT",
"status": "DRAFT",
"computations": [
{
"matcher": "{\n \"and\": [\n {\"in\": [{\"var\": \"dimension.city\"}, \"chennai\", \"mumbai\"]},\n \"or\": [\n {\">\": [{\"var\": \"attribute.distance\"}, 100]},\n {\"<\": [{\"var\": \"attribute.distance\"}, 20]}\n ]\n ]\n}\n",
"computation": "1"
}
]
}