Metric .define
Compiles a number from your Events and lists every Event it reads, so no one types it in.
- Action class
- None
- Approval
- Runs on its own
- Emits
Metric.defined- Price
- Free
Its Inputs, Outputs, Effects and guards quote the hub’s Metric.define; this page adds what each Venue honors, its limits and a worked call. It is one of the Verbs of Analytics and experiments.
Inputs
| Name | Type | Default | Meaning |
|---|---|---|---|
name | string | Required | The Metric’s name. |
query | text | Required | The query, over Events and Entries. |
unit | string | Required | What one unit of it is. |
Outputs
| Field | Type | What null means |
|---|---|---|
metric | Metric | Never null: the defined Metric. |
Effects
- Action class
None: no approval rule names it, so it runs within its seat’s Permissions and Limits
- Modes
try: Runs every check and returns the record as it would be; nothing is stored.send: Returns a pending Action at once;Metric.definedfires when it is done.do: Waits for the Action to finish and returns the record.
- Idempotency
Only with a key: the same
Idempotency-Keyand input return the first Action, and the same key with other input returns409.- Saved or shared
A Change that renames or removes an Event this Metric reads must map it to a new Event, or the Change is refused.
- Emits
Metric.definedwith{ metric }- Performed by
- Price
Free on your own account: the platform charges nothing for the call.
On each Venue
It acts on your own records and reaches no Venue, so every account answers the same way.
What try does
Runs every check the call meets and returns the record as it would be; nothing is stored, sent or posted.
Refuses when
| Guard | Refuses | Error |
|---|---|---|
known-events | Refuses a query that names an Event no Verb emits. | invalid-input |
When it waits
Returns in one response; nothing waits.
Example
In send mode the call returns its pending Action at once, and Metric.defined delivers the result.
Define activation as a portfolio with 10 units imported and one rent
payment logged within 7 days.{
"mode": "send",
"action": {
"$id": "https://api.sb/leaseline.app/actions/action_Sd3kQ9vT2w" ,
"operation": "Metric.define",
"status": "pending",
"reason": "running"
}
}To retry, send the same Idempotency-Key: the retry returns the first answer for $0. A new key reads again.
Used by
- Jobs: Keep and grow customers · Measure