Defining meters: manage_meters
Use manage_meters to define meters, configure event schemas and stores, validate pipelines, and create or manage meter definitions.
| Operation | Access | What it does |
|---|---|---|
| meter_guidance | Read | Describes the workflow and available operations. Start here. |
| get_meter_settings | Read | Returns tenant context, such as units of measure |
| list_data_types | Read | Lists the JSON schema field types (string, number, boolean, and so on). No authentication required. |
| list_event_definitions | Read | Lists event schemas, with filters by name or numeric ID |
| create_event_definition | Write | Creates an event schema |
| update_event_definition | Write | Updates an event schema. Run list_event_definitions first. |
| list_event_stores | Read | Lists event stores, with filters |
| create_event_store | Write | Creates an event store. Optionally sets the lake target to PAIMON or HUDI. |
| update_event_store | Write | Updates an event store. Run list_event_stores first. |
| list_connections | Read | Lists connections, filterable by type and status |
| validate_meter | Read | Checks a pipeline task structure without saving it |
| get_meter | Read | Returns the full meter definition, including tasks, versions, and run status |
| create_meter | Write | Creates a meter |
| update_meter | Write | Replaces the task list for version 0.0.1. The full task list is replaced, not merged. |
| list_meters | Read | Lists meters, filterable by name and meter type |
| get_task_metadata | Read | Returns the configuration schema for a specific operator |
| export_meter | Read | Exports a meter definition as JSON for backup or migration |
| duplicate_meter | Write | Clones a meter under a new ID |
| import_meter | Write | Imports a meter from exported JSON |
Meter types
| Type | Use case |
|---|---|
| CUSTOM | Pipeline-based meter with SOURCE, PROCESSOR, and SINK steps. This is the default. |
| DIRECT, DELTA, CUMULATIVE | Specialized aggregation patterns |
| SUM, MAX, MIN, COUNT, AVG | Built-in aggregation meters, which require a type definition |
Task model for custom meters
| Field | Description |
|---|---|
| id | A UUID that identifies the task |
| name | A readable label |
| nodeType | SOURCE, PROCESSOR, or SINK |
| operatorType | The operator, such as S3, KAFKA, SNOWFLAKE, AGGREGATE, EVENT_STORE, or HTTP |
| predecessors | The IDs of the upstream tasks |
| metadata | Operator-specific settings. Use get_task_metadata to see what each operator accepts. |
Building a meter from a description
When you describe a pipeline in plain language, the agent follows these steps:
- Reads the meter guidance and the supported data types.
- Reuses an existing event schema and event store where possible, or creates new ones.
- Confirms that the required connections are active.
- Retrieves the configuration for each SOURCE, PROCESSOR, and SINK operator.
- Validates the pipeline structure before saving.
- Creates the meter.
- Runs it in debug mode only if you approve.
Event store requirements: the event schema must include eventIdFields at the root level and at least one field marked eventTime=true. The schema eventStoreApplicable flag indicates whether a schema can be used with an event store.
Common definition errors
| Error | How to resolve it |
|---|---|
| DUPLICATED_EVENT_DEFINITION_NAME | Reuse the existing schema or choose a new name |
| EVENT_DEFINITION_CANNOT_UPDATE_WHEN_REFERENCED_BY_ACTIVE_METERS | Stop or deactivate the meters that reference the schema, then update it |
| Connection is INACTIVE | Activate the connection in the Connections page before referencing it in a task |