Octane · Schema
Meter
A usage meter that tracks events and aggregates data for billing purposes in Octane.
Usage-Based BillingMetered BillingPricing PlansSaaS MonetizationFinTechPaymentsUsage TrackingMetersEntitlements
Properties
| Name | Type | Description |
|---|---|---|
| name | string | Unique identifier name for the meter. |
| display_name | string | Human-readable display name for the meter. |
| description | string | Description of what this meter tracks. |
| event_name | string | The event name this meter listens to. |
| meter_type | string | Type of meter (e.g., counter, gauge). |
| data_type | string | Data type of the measurement value. |
| aggregation | string | Aggregation method applied to measurements. |
| unit_name | string | Human-readable unit name (e.g., 'API calls', 'GB'). |
| is_incremental | boolean | Whether measurements are incremental or absolute. |
| reporting_method | string | How usage is reported. |
| expected_labels | array | Expected label keys on measurements. |
| primary_labels | array | Primary label keys used for grouping. |
| event_label_filter | object | Filter expression for event labels. |
JSON Schema
{
"$schema": "http://json-schema.org/draft-07/schema#",
"$id": "https://raw.githubusercontent.com/api-evangelist/octane/main/json-schema/octane-meter-schema.json",
"title": "Meter",
"description": "A usage meter that tracks events and aggregates data for billing purposes in Octane.",
"type": "object",
"required": ["name", "event_name", "meter_type", "data_type", "aggregation", "is_incremental", "reporting_method"],
"properties": {
"name": {
"type": "string",
"description": "Unique identifier name for the meter."
},
"display_name": {
"type": "string",
"description": "Human-readable display name for the meter."
},
"description": {
"type": "string",
"description": "Description of what this meter tracks."
},
"event_name": {
"type": "string",
"description": "The event name this meter listens to."
},
"meter_type": {
"type": "string",
"description": "Type of meter (e.g., counter, gauge)."
},
"data_type": {
"type": "string",
"enum": ["INT", "FLOAT", "STRING"],
"description": "Data type of the measurement value."
},
"aggregation": {
"type": "string",
"enum": ["SUM", "COUNT", "MAX", "MIN", "UNIQUE_COUNT"],
"description": "Aggregation method applied to measurements."
},
"unit_name": {
"type": "string",
"description": "Human-readable unit name (e.g., 'API calls', 'GB')."
},
"is_incremental": {
"type": "boolean",
"description": "Whether measurements are incremental or absolute."
},
"reporting_method": {
"type": "string",
"enum": ["periodic", "total"],
"description": "How usage is reported."
},
"expected_labels": {
"type": "array",
"items": { "type": "string" },
"description": "Expected label keys on measurements."
},
"primary_labels": {
"type": "array",
"items": { "type": "string" },
"description": "Primary label keys used for grouping."
},
"event_label_filter": {
"type": "object",
"description": "Filter expression for event labels."
}
},
"additionalProperties": false
}