cron fires at a fixed calendar interval, and data_change polls for upstream data changes at a configurable interval and fires when new data is detected.
All paths are relative to the base URL and
require authentication. All
responses use the standard envelope.
The scope parameter follows the same scope
semantics used across the platform.
Create a policy
Attach a new evaluation policy to a concept. On success the scheduler immediately registers the trigger; the concept will run at the next scheduled moment or when the data-change condition is met.| Parameter | In | Required | Default | Description |
|---|---|---|---|---|
project_id | path | yes | — | The project ID. |
concept_name | body | yes | — | Name of the concept this policy targets. |
trigger_type | body | no | "cron" | "cron" to fire on a calendar schedule; "data_change" to fire when upstream data changes. |
trigger_config | body | yes | — | Configuration object for the chosen trigger type (see below). |
scope | body | no | "user" | Scope of the concept. |
enabled | body | no | true | Whether the policy is active immediately after creation. |
trigger_config for cron
trigger_config for data_change
Example
List policies
Return all evaluation policies for a project, optionally filtered to a single concept.| Parameter | In | Required | Default | Description |
|---|---|---|---|---|
project_id | path | yes | — | The project ID. |
scope | query | no | "user" | Scope of the project. |
concept_name | query | no | — | Filter results to policies targeting this concept. |
data is an array of policy objects in the same shape as the create response.
Get a policy
Retrieve a single evaluation policy by ID.| Parameter | In | Required | Default | Description |
|---|---|---|---|---|
project_id | path | yes | — | The project ID. |
policy_id | path | yes | — | The policy ID. |
scope | query | no | "user" | Scope of the project. |
404 if the policy does not exist.
Update a policy
Change a policy’s trigger configuration or enable/disable it. Only the fields supplied in the request body are modified; omitted fields are left unchanged.| Parameter | In | Required | Default | Description |
|---|---|---|---|---|
project_id | path | yes | — | The project ID. |
policy_id | path | yes | — | The policy ID. |
scope | body | no | "user" | Scope of the project. |
trigger_config | body | no | — | Replacement trigger configuration object. Must be a valid config for the policy’s existing trigger_type. |
enabled | body | no | — | Pass true to activate or false to pause the policy. |
Example — pause a policy
404 if the policy does not exist.
Delete a policy
Remove a policy and cancel its scheduled job. This does not affect run history already recorded.| Parameter | In | Required | Default | Description |
|---|---|---|---|---|
project_id | path | yes | — | The project ID. |
policy_id | path | yes | — | The policy ID. |
scope | query | no | "user" | Scope of the project. |
404 if the policy does not exist.
Trigger a policy now
Fire a policy’s concept run immediately, outside its normal schedule. Useful for testing a new policy or backfilling a missed run. The policy must exist and thetrigger_now call enqueues an execution synchronously.
| Parameter | In | Required | Default | Description |
|---|---|---|---|---|
project_id | path | yes | — | The project ID. |
policy_id | path | yes | — | The policy ID. |
scope | query | no | "user" | Scope of the project. |
Run history
Return the execution log for a policy, ordered by most recent first. Uselimit
and offset for pagination.
| Parameter | In | Required | Default | Description |
|---|---|---|---|---|
project_id | path | yes | — | The project ID. |
policy_id | path | yes | — | The policy ID. |
scope | query | no | "user" | Scope of the project. |
limit | query | no | 50 | Number of runs to return (1–500). |
offset | query | no | 0 | Number of runs to skip before returning results. |
status value | Meaning |
|---|---|
success | The concept ran and completed without error. |
error | The run failed; see the error field for the reason. |
running | The run is still in progress. |
cancelled | The run was cancelled before completion. |

