API reference
Every operation of the Nistor backend's HTTP API, by tag, generated from its OpenAPI document.
This page is generated from the backend's OpenAPI document (3.1.0): 843 operations of the open-source backend with every open-source tool installed. The document itself is docs/reference/openapi.json in the repository, and every release attaches it as openapi.json: load it in an OpenAPI viewer or a client generator.
The document declares no security scheme, so no operation lists one: requests authenticate through the deployment's identity front, as the operator guide's identity and access page describes.
Health#
Liveness, readiness, and database health probes.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/health |
health_check_api_v1_health_get |
Health check | — | 200: any |
GET |
/api/v1/health/ |
health_check_api_v1_health__get |
Health check | — | 200: any |
GET |
/api/v1/health/db |
health_check_db_api_v1_health_db_get |
Check database health | — | 200: any |
POST |
/api/v1/health/db/create-tables |
create_database_tables_api_v1_health_db_create_tables_post |
Create database tables | — | 200: any |
GET |
/api/v1/health/db/replica |
health_check_db_replica_api_v1_health_db_replica_get |
Check read replica health | — | 200: any |
GET |
/api/v1/health/db/tables |
health_check_db_tables_api_v1_health_db_tables_get |
List database tables | — | 200: any |
GET |
/api/v1/health/ready |
readiness_check_api_v1_health_ready_get |
Readiness check | — | 200: any |
GET |
/api/v1/health/schema |
schema_revisions_api_v1_health_schema_get |
Database schema revisions, read live | — | 200: any |
GET |
/api/v1/health/version |
backend_version_api_v1_health_version_get |
Running backend version | — | 200: any |
GET |
/api/v1/installed |
api_installed_api_v1_installed_get |
What this image installs and activates | — | 200: any |
GET |
/health/installed |
health_installed_health_installed_get |
Installed tools, their versions and core-API status (root) | — | 200: any |
GET |
/health/installed/status |
health_installed_status_health_installed_status_get |
Whether the image is installed as its lock says (status only) | — | 200: any |
GET |
/health/live |
health_live_health_live_get |
Liveness check (root, phase 2 boot test alias) | — | 200: any |
GET |
/health/ready |
health_ready_health_ready_get |
Readiness check (root, phase 2 boot test alias) | — | 200: any |
System Health#
Per-component uptime dashboard (live status, historical uptime %).
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/system/health/history |
history_api_v1_system_health_history_get |
Bucketed time-series for one component | — | 200: any |
GET |
/api/v1/system/health/idempotency |
idempotency_health_api_v1_system_health_idempotency_get |
Idempotency middleware fail-open counters | — | 200: any |
GET |
/api/v1/system/health/latest |
latest_api_v1_system_health_latest_get |
Latest persisted sample per component | — | 200: any |
GET |
/api/v1/system/health/live |
live_status_api_v1_system_health_live_get |
Live status of every monitored component | — | 200: any |
GET |
/api/v1/system/health/overview |
overview_api_v1_system_health_overview_get |
Compact platform health verdict (agents, assistant) | — | 200: any |
POST |
/api/v1/system/health/prune |
prune_samples_api_v1_system_health_prune_post |
Delete stale samples for selected components (admin) | PruneBody | 200: any |
POST |
/api/v1/system/health/sample |
trigger_sample_api_v1_system_health_sample_post |
Sampler trigger (cron / admin) | — | 200: any |
GET |
/api/v1/system/health/slo |
slo_window_api_v1_system_health_slo_get |
Synthetic-probe SLO compliance over a window | — | 200: any |
GET |
/api/v1/system/health/summary |
summary_api_v1_system_health_summary_get |
Aggregated uptime over a period | — | 200: any |
POST |
/api/v1/system/health/synthetic-sample |
trigger_synthetic_sample_api_v1_system_health_synthetic_sample_post |
Synthetic canary sampler trigger (cron / admin) | — | 200: any |
GET |
/api/v1/system/health/ui-stream |
ui_stream_api_v1_system_health_ui_stream_get |
SSE stream of live status for the UI banner | — | 200: any |
Configuration#
Application configuration and feature flags.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/action-definitions |
get_action_definitions_api_v1_action_definitions_get |
Get action definitions from plugins | — | 200: any |
GET |
/api/v1/executor-types |
get_executor_types_api_v1_executor_types_get |
List registered executor types | — | 200: any |
GET |
/api/v1/node-display-config |
get_node_display_config_api_v1_node_display_config_get |
Get node type display config | — | 200: any |
GET |
/api/v1/parameter-schemas |
get_parameter_schemas_api_v1_parameter_schemas_get |
Get parameter schemas from plugins | — | 200: any |
IAM#
Identity & Access Management — users, roles, and permissions.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/iam/access-reference |
get_access_reference_api_v1_iam_access_reference_get |
Permission catalog, role presets, and the caller's own access | — | 200: AccessReferenceResponse |
GET |
/api/v1/iam/me |
get_current_user_info_api_v1_iam_me_get |
Get current user info | — | 200: CurrentUserResponse |
GET |
/api/v1/iam/permissions |
list_permissions_api_v1_iam_permissions_get |
List all permissions | — | 200: array of PermissionResponse |
GET |
/api/v1/iam/role-templates |
list_role_templates_api_v1_iam_role_templates_get |
List IAM role templates (permission presets) | — | 200: array of RoleTemplateResponse |
POST |
/api/v1/iam/role-templates |
create_role_template_api_v1_iam_role_templates_post |
Create a permission preset | RoleTemplateCreate | 201: RoleTemplateResponse |
DELETE |
/api/v1/iam/role-templates/{template_id} |
delete_role_template_api_v1_iam_role_templates__template_id__delete |
Delete a permission preset | — | 204 |
PATCH |
/api/v1/iam/role-templates/{template_id} |
update_role_template_api_v1_iam_role_templates__template_id__patch |
Update a permission preset | RoleTemplateUpdate | 200: RoleTemplateResponse |
GET |
/api/v1/iam/users |
list_users_api_v1_iam_users_get |
List all users | — | 200: array of UserResponse |
POST |
/api/v1/iam/users |
create_user_api_v1_iam_users_post |
Create user | UserCreate | 201: UserResponse |
GET |
/api/v1/iam/users/search |
search_users_api_v1_iam_users_search_get |
Search users for @mention autocomplete | — | 200: any |
DELETE |
/api/v1/iam/users/{email} |
delete_user_api_v1_iam_users__email__delete |
Delete user | — | 204 |
PATCH |
/api/v1/iam/users/{email} |
update_user_api_v1_iam_users__email__patch |
Update user details | UserUpdate | 200: UserResponse |
POST |
/api/v1/iam/users/{email}/apply-template/{template_id} |
apply_role_template_api_v1_iam_users__email__apply_template__template_id__post |
Apply a role template to a user (replaces permissions) | — | 200: UserResponse |
PUT |
/api/v1/iam/users/{email}/permissions |
update_user_permissions_api_v1_iam_users__email__permissions_put |
Update user permissions | UserPermissionsUpdate | 200: UserResponse |
Audit Log#
Immutable audit trail of sensitive operations.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/audit-log/ |
get_audit_logs_api_v1_audit_log__get |
List audit log entries | — | 200: array of AuditLogResponse |
GET |
/api/v1/audit-log/integrity |
verify_audit_log_integrity_api_v1_audit_log_integrity_get |
Verify audit-log tamper-evidence hash chain | — | 200: AuditChainIntegrityResponse |
Page Views#
Page visit tracking for usage analytics.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/page-views/ |
create_page_view_api_v1_page_views__post |
Record a page view event | PageViewCreate | 202: any |
POST |
/api/v1/page-views/recompute-popularity |
recompute_popularity_api_v1_page_views_recompute_popularity_post |
Recompute node popularity scores | — | 200: any |
GET |
/api/v1/page-views/stats |
get_page_view_stats_api_v1_page_views_stats_get |
Get page view statistics | — | 200: PageViewStatsResponse |
GET |
/api/v1/page-views/stats/user/{user_email} |
get_user_detail_stats_api_v1_page_views_stats_user__user_email__get |
Get user activity detail | — | 200: UserDetailResponse |
GET |
/api/v1/page-views/stats/user/{user_email}/full |
get_user_detail_full_api_v1_page_views_stats_user__user_email__full_get |
Get full user activity detail | — | 200: UserDetailFullResponse |
Feedback#
User feedback submission.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/feedback/ |
list_feedback_api_v1_feedback__get |
List all feedback | — | 200: array of FeedbackResponse |
POST |
/api/v1/feedback/ |
submit_feedback_api_v1_feedback__post |
Submit feedback | FeedbackCreate | 201: FeedbackResponse |
GET |
/api/v1/feedback/count |
get_feedback_count_api_v1_feedback_count_get |
Get feedback count | — | 200: any |
GET |
/api/v1/feedback/{feedback_id} |
get_feedback_api_v1_feedback__feedback_id__get |
Get feedback by ID | — | 200: FeedbackResponse |
DELETE |
/api/v1/feedback/{feedback_id} |
delete_feedback_api_v1_feedback__feedback_id__delete |
Delete feedback | — | 204 |
GET |
/api/v1/feedback/{feedback_id}/comments |
list_comments_api_v1_feedback__feedback_id__comments_get |
List comments for feedback | — | 200: array of FeedbackCommentResponse |
POST |
/api/v1/feedback/{feedback_id}/comments |
add_comment_api_v1_feedback__feedback_id__comments_post |
Add comment to feedback | FeedbackCommentCreate | 201: FeedbackCommentResponse |
DELETE |
/api/v1/feedback/{feedback_id}/comments/{comment_id} |
delete_comment_api_v1_feedback__feedback_id__comments__comment_id__delete |
Delete feedback comment | — | 204 |
PATCH |
/api/v1/feedback/{feedback_id}/status |
update_feedback_status_api_v1_feedback__feedback_id__status_patch |
Update feedback status | FeedbackStatusUpdate | 200: FeedbackResponse |
Presence#
Real-time 'currently viewing' presence on resource pages.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/presence/heartbeat |
heartbeat_api_v1_presence_heartbeat_post |
Register the caller as viewing a resource and list other viewers | PresenceHeartbeatRequest | 200: PresenceHeartbeatResponse |
POST |
/api/v1/presence/leave |
leave_api_v1_presence_leave_post |
Remove the caller's presence on a resource | PresenceLeaveRequest | 204 |
Agent Governance#
Govern / observe / audit the Nistor MCP/Agent API: register & revoke agents, edit per-agent policy & budgets, and review which agents called which tools, what they touched, and what policy decision applied.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/agent-governance/agents |
list_agents_api_v1_agent_governance_agents_get |
List registered agents (filter by enabled / owner) | — | 200: array of AgentRegistrationOut |
POST |
/api/v1/agent-governance/agents |
register_agent_api_v1_agent_governance_agents_post |
Register a new MCP/Agent-API agent (returns the raw token once) | AgentRegistrationCreate | 201: AgentRegistrationCreated |
GET |
/api/v1/agent-governance/agents/{agent_id} |
get_agent_api_v1_agent_governance_agents__agent_id__get |
Agent registration detail (incl. effective policy) | — | 200: AgentRegistrationOut |
PATCH |
/api/v1/agent-governance/agents/{agent_id} |
update_agent_api_v1_agent_governance_agents__agent_id__patch |
Update an agent's name/description/policy/budget/enabled | AgentRegistrationUpdate | 200: AgentRegistrationOut |
POST |
/api/v1/agent-governance/agents/{agent_id}/revoke |
revoke_agent_api_v1_agent_governance_agents__agent_id__revoke_post |
Revoke + disable an agent (token rejected on verify) | — | 200: AgentRegistrationOut |
POST |
/api/v1/agent-governance/agents/{agent_id}/rotate-token |
rotate_agent_token_api_v1_agent_governance_agents__agent_id__rotate_token_post |
Rotate an agent's token (new jti+token, returned once) | — | 200: AgentRegistrationCreated |
GET |
/api/v1/agent-governance/connection-info |
get_connection_info_api_v1_agent_governance_connection_info_get |
Hosted MCP gateway URL + environment for the connect-a-client flow | — | 200: ConnectionInfoOut |
Reversible Operations#
Universal, time-boxed, audited undo for destructive data-platform operations: list/restore recorded operations and the two-person approval gate.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/operation-approvals/ |
list_approvals_api_v1_operation_approvals__get |
List approval requests | — | 200: array of OperationApprovalRead |
POST |
/api/v1/operation-approvals/ |
request_approval_api_v1_operation_approvals__post |
Request a two-person approval for a destructive op | OperationApprovalRequest | 201: OperationApprovalRead |
POST |
/api/v1/operation-approvals/{approval_id}/approve |
approve_approval_api_v1_operation_approvals__approval_id__approve_post |
Approve a pending request (approver must differ from requester) | OperationApprovalApprove or null |
200: OperationApprovalRead |
GET |
/api/v1/reversible-operations/ |
list_operations_api_v1_reversible_operations__get |
List reversible operations | — | 200: array of ReversibleOperationRead |
GET |
/api/v1/reversible-operations/{op_id} |
get_operation_api_v1_reversible_operations__op_id__get |
Get a reversible operation | — | 200: ReversibleOperationRead |
POST |
/api/v1/reversible-operations/{op_id}/restore |
restore_operation_api_v1_reversible_operations__op_id__restore_post |
Restore (undo) a reversible operation | — | 200: RestoreResponse |
Rules Scheduling#
CRUD for scheduling rules (triggers, conditions, actions).
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/rules_scheduling/ |
get_rules_api_v1_rules_scheduling__get |
List rule scheduling configurations | — | 200: array of RuleSchedulingOut |
POST |
/api/v1/rules_scheduling/ |
create_rule_api_v1_rules_scheduling__post |
Create rule | RuleSchedulingCreate | 201: RuleSchedulingResponse |
POST |
/api/v1/rules_scheduling/blast_radius |
blast_radius_endpoint_api_v1_rules_scheduling_blast_radius_post |
Resolve an unsaved rule against the node graph, with per-node contest verdicts | BlastRadiusRequest | 200: BlastRadiusResponse |
GET |
/api/v1/rules_scheduling/competing-refresh |
list_competing_refresh_api_v1_rules_scheduling_competing_refresh_get |
List cubes with competing/redundant refresh mechanisms | — | 200: any |
GET |
/api/v1/rules_scheduling/executor-types |
get_executor_types_api_v1_rules_scheduling_executor_types_get |
List executor types | — | 200: any |
GET |
/api/v1/rules_scheduling/executor-types/{executor_type} |
get_executor_type_by_id_api_v1_rules_scheduling_executor_types__executor_type__get |
Get executor type by ID | — | 200: any |
GET |
/api/v1/rules_scheduling/match-decisions |
list_pending_match_decisions_api_v1_rules_scheduling_match_decisions_get |
Pending matches of gated rules, grouped by rule (oldest first) | — | 200: array of PendingRuleGroup |
GET |
/api/v1/rules_scheduling/node-counts/batch |
get_node_counts_batch_api_v1_rules_scheduling_node_counts_batch_get |
Get batch node counts | — | 200: any |
POST |
/api/v1/rules_scheduling/node-counts/batch |
get_node_counts_batch_post_api_v1_rules_scheduling_node_counts_batch_post |
Get batch node counts (body) | NodeCountsBatchRequest | 200: any |
GET |
/api/v1/rules_scheduling/node/active_rule/{node_id} |
get_active_rule_for_node_api_v1_rules_scheduling_node_active_rule__node_id__get |
Get active rule for node | — | 200: RuleSchedulingResponse or null |
GET |
/api/v1/rules_scheduling/node/active_rules/{node_id} |
get_active_rules_for_node_api_v1_rules_scheduling_node_active_rules__node_id__get |
List active rules for node | — | 200: array of RuleSchedulingResponse |
GET |
/api/v1/rules_scheduling/node/{node_id} |
get_rules_for_node_api_v1_rules_scheduling_node__node_id__get |
List rules matching node | — | 200: array of RuleSchedulingResponse |
GET |
/api/v1/rules_scheduling/node/{node_id}/rule/{rule_id}/barrier-state |
get_rule_barrier_state_api_v1_rules_scheduling_node__node_id__rule__rule_id__barrier_state_get |
Get live wait_for_all_ancestors barrier state (read-only) | — | 200: BarrierStateSummary |
GET |
/api/v1/rules_scheduling/node/{node_id}/scheduler-summary |
get_node_scheduler_summary_api_v1_rules_scheduling_node__node_id__scheduler_summary_get |
Get node scheduler summary | — | 200: any |
POST |
/api/v1/rules_scheduling/ownership/backfill |
backfill_ownership_api_v1_rules_scheduling_ownership_backfill_post |
Stamp Unassigned rules with the unique team of their targets (admin) | — | 200: object of integer |
GET |
/api/v1/rules_scheduling/platform |
get_platform_rules_api_v1_rules_scheduling_platform_get |
List platform-job rules (admin) | — | 200: array of RuleSchedulingResponse |
POST |
/api/v1/rules_scheduling/preflight |
run_batch_preflight_api_v1_rules_scheduling_preflight_post |
Run the permission preflight for a batch of rules | object |
200: any |
POST |
/api/v1/rules_scheduling/preview_next_fires |
preview_next_fires_api_v1_rules_scheduling_preview_next_fires_post |
Preview the next N cron fires for a trigger (business-calendar aware) | object |
200: any |
GET |
/api/v1/rules_scheduling/rules/{rule_id} |
get_nodes_for_rule_api_v1_rules_scheduling_rules__rule_id__get |
List nodes for rule | — | 200: array of Node |
GET |
/api/v1/rules_scheduling/rules/{rule_id}/match-decisions |
list_rule_match_decisions_api_v1_rules_scheduling_rules__rule_id__match_decisions_get |
List a gated rule's match decisions | — | 200: array of MatchDecisionRead |
POST |
/api/v1/rules_scheduling/rules/{rule_id}/match-decisions |
decide_rule_match_api_v1_rules_scheduling_rules__rule_id__match_decisions_post |
Approve or reject nodes matching a gated rule | MatchDecisionWrite | 200: MatchDecisionResult |
POST |
/api/v1/rules_scheduling/simulate_past_fires |
simulate_past_fires_endpoint_api_v1_rules_scheduling_simulate_past_fires_post |
Replay a rule over a historical window and return when it would have fired | SimulatePastFiresRequest | 200: SimulatePastFiresResponse |
POST |
/api/v1/rules_scheduling/validate |
validate_rules_batch_api_v1_rules_scheduling_validate_post |
Validate a batch of rules without persisting | RuleBatchValidateRequest | 200: RuleBatchValidateResponse |
GET |
/api/v1/rules_scheduling/{rule_id} |
get_rule_api_v1_rules_scheduling__rule_id__get |
Get rule by ID | — | 200: RuleSchedulingOut |
PUT |
/api/v1/rules_scheduling/{rule_id} |
update_rule_api_v1_rules_scheduling__rule_id__put |
Update rule | RuleSchedulingUpdate | 200: RuleSchedulingResponse |
DELETE |
/api/v1/rules_scheduling/{rule_id} |
delete_rule_api_v1_rules_scheduling__rule_id__delete |
Delete rule | — | 200: any |
GET |
/api/v1/rules_scheduling/{rule_id}/analytics |
get_rule_analytics_api_v1_rules_scheduling__rule_id__analytics_get |
Get rule analytics | — | 200: RuleAnalyticsSummary |
GET |
/api/v1/rules_scheduling/{rule_id}/cost_by_node |
get_rule_cost_by_node_api_v1_rules_scheduling__rule_id__cost_by_node_get |
Per-impacted-node cost breakdown for a rule | — | 200: any |
PUT |
/api/v1/rules_scheduling/{rule_id}/git-authorship |
update_rule_git_authorship_api_v1_rules_scheduling__rule_id__git_authorship_put |
Update git authorship (metadata-only, no version bump) | RuleGitAuthorshipUpdate | 200: RuleSchedulingResponse |
GET |
/api/v1/rules_scheduling/{rule_id}/history |
get_rule_history_api_v1_rules_scheduling__rule_id__history_get |
Get rule version history | — | 200: array of RuleSchedulingHistoryResponse |
GET |
/api/v1/rules_scheduling/{rule_id}/history/{version} |
get_rule_version_detail_api_v1_rules_scheduling__rule_id__history__version__get |
Get rule version detail | — | 200: RuleSchedulingHistoryResponse |
GET |
/api/v1/rules_scheduling/{rule_id}/permissions |
get_rule_permissions_api_v1_rules_scheduling__rule_id__permissions_get |
Permission preflight findings for a rule | — | 200: any |
POST |
/api/v1/rules_scheduling/{rule_id}/preflight |
run_rule_preflight_api_v1_rules_scheduling__rule_id__preflight_post |
Run the permission preflight for a rule now | — | 200: any |
POST |
/api/v1/rules_scheduling/{rule_id}/rollback/{version} |
rollback_rule_api_v1_rules_scheduling__rule_id__rollback__version__post |
Rollback rule to a previous version | — | 200: RuleSchedulingResponse |
POST |
/api/v1/rules_scheduling/{rule_id}/unlock |
unlock_rule_api_v1_rules_scheduling__rule_id__unlock_post |
Unlock code-managed rule | — | 200: RuleSchedulingResponse |
Action Runs#
Execution records for triggered actions (Dataform, MicroStrategy, etc.).
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/action_runs/ |
read_action_runs_api_v1_action_runs__get |
List action runs | — | 200: array of object |
POST |
/api/v1/action_runs/ |
create_action_run_api_v1_action_runs__post |
Create action run | ActionRunCreate | 201: ActionRun |
GET |
/api/v1/action_runs/action/{action} |
read_action_runs_by_action_api_v1_action_runs_action__action__get |
List runs by action name | — | 200: array of object |
GET |
/api/v1/action_runs/aggregated/timeframe |
read_action_runs_sum_grouped_by_timeframe_api_v1_action_runs_aggregated_timeframe_get |
Get runs grouped by timeframe | — | 200: array of TimeframeStateCount |
POST |
/api/v1/action_runs/bigquery-copy/check-permissions |
check_bigquery_copy_permissions_api_v1_action_runs_bigquery_copy_check_permissions_post |
Check BigQuery copy permissions | object |
200: any |
POST |
/api/v1/action_runs/bigquery-copy/preview |
preview_bigquery_copy_api_v1_action_runs_bigquery_copy_preview_post |
Preview BigQuery copy operation | object |
200: any |
POST |
/api/v1/action_runs/bigquery-export-gcs/estimate-cost |
estimate_export_cost_api_v1_action_runs_bigquery_export_gcs_estimate_cost_post |
Estimate cost for BigQuery export to GCS | object |
200: any |
POST |
/api/v1/action_runs/bulk-replay |
bulk_replay_action_runs_api_v1_action_runs_bulk_replay_post |
Relaunch a batch of action runs, throttled | BulkReplayRequest | 202: BulkReplayResponse |
POST |
/api/v1/action_runs/close_stranded_retries |
close_stranded_retry_runs_api_v1_action_runs_close_stranded_retries_post |
Close to_retry runs whose retry can no longer happen | — | 200: object |
GET |
/api/v1/action_runs/counts/batch |
get_action_run_counts_batch_api_v1_action_runs_counts_batch_get |
Get batch action run counts | — | 200: object of object |
POST |
/api/v1/action_runs/counts/batch |
get_action_run_counts_batch_post_api_v1_action_runs_counts_batch_post |
Get batch action run counts (body) | ActionRunCountsBatchRequest | 200: object of object |
POST |
/api/v1/action_runs/dataform/check-permissions |
check_dataform_permissions_api_v1_action_runs_dataform_check_permissions_post |
Check Dataform write permissions | object |
200: any |
GET |
/api/v1/action_runs/dataform/{action_run_id}/cost |
get_dataform_run_cost_api_v1_action_runs_dataform__action_run_id__cost_get |
Get Dataform run cost | — | 200: object |
POST |
/api/v1/action_runs/dispatch |
begin_action_run_dispatch_api_v1_action_runs_dispatch_post |
Record a run before its launch (idempotent on idempotency_key) | ActionRunDispatchRequest | 200: ActionRunDispatchResponse |
GET |
/api/v1/action_runs/dispatch/by-key/{idempotency_key} |
read_action_run_by_dispatch_key_api_v1_action_runs_dispatch_by_key__idempotency_key__get |
The run recorded under a dispatch key, read from the primary ([] when there is none) | — | 200: array of object |
POST |
/api/v1/action_runs/dispatching/claim-stale |
claim_stale_action_run_dispatches_api_v1_action_runs_dispatching_claim_stale_post |
Lease dispatching runs whose lease lapsed (the scheduler's reclaimer) | StaleDispatchClaimRequest | 200: array of ActionRun |
POST |
/api/v1/action_runs/dispatching/shorten-leases |
shorten_action_run_dispatch_leases_api_v1_action_runs_dispatching_shorten_leases_post |
Bring a draining instance's dispatch leases down to now + grace | DispatchOwnersRequest | 200: object of integer |
GET |
/api/v1/action_runs/failed/ |
read_failed_action_runs_api_v1_action_runs_failed__get |
List failed action runs | — | 200: array of object |
GET |
/api/v1/action_runs/filter/state-and-nodes |
read_action_runs_by_state_and_triggered_nodes_api_v1_action_runs_filter_state_and_nodes_get |
Filter runs by state and nodes | — | 200: array of object |
POST |
/api/v1/action_runs/manual-node-run |
trigger_manual_node_run_api_v1_action_runs_manual_node_run_post |
Trigger manual node run | object |
200: any |
POST |
/api/v1/action_runs/manual-rule-run |
trigger_manual_rule_run_api_v1_action_runs_manual_rule_run_post |
Manually run a scheduling rule's action (single or chain) | ManualRuleRunRequest | 200: ManualRuleRunResponse |
POST |
/api/v1/action_runs/microstrategy/cancel-jobs |
cancel_microstrategy_jobs_api_v1_action_runs_microstrategy_cancel_jobs_post |
Cancel running MicroStrategy jobs (bypass cube lock) | CancelMicrostrategyJobsRequest | 200: any |
GET |
/api/v1/action_runs/node/{node_id} |
read_action_runs_by_triggered_node_api_v1_action_runs_node__node_id__get |
List runs by triggered node | — | 200: array of object |
GET |
/api/v1/action_runs/node/{node_id}/cost_usd/period/{period} |
get_node_cost_for_period_by_trigger_api_v1_action_runs_node__node_id__cost_usd_period__period__get |
Get rule-scoped cost (USD) of action runs for a trigger node over a period | — | 200: object |
GET |
/api/v1/action_runs/node/{node_id}/run_count/period/{period} |
get_node_run_count_for_period_api_v1_action_runs_node__node_id__run_count_period__period__get |
Get rule-scoped action run count for a trigger node over a period | — | 200: object |
POST |
/api/v1/action_runs/reap_stuck_dq |
reap_stuck_dq_action_runs_api_v1_action_runs_reap_stuck_dq_post |
Reap stuck data-quality runs | — | 200: object |
GET |
/api/v1/action_runs/recovery |
list_unrecovered_action_runs_api_v1_action_runs_recovery_get |
Action runs that failed and nothing has since fixed | — | 200: RecoveryResponse |
GET |
/api/v1/action_runs/rule/{rule_id} |
read_action_runs_by_rule_api_v1_action_runs_rule__rule_id__get |
List runs by rule ID | — | 200: array of object |
GET |
/api/v1/action_runs/rules/{rules_id} |
read_action_runs_by_rule_with_datetime_filter_api_v1_action_runs_rules__rules_id__get |
List runs by rule with date filter | — | 200: array of object |
GET |
/api/v1/action_runs/running |
read_running_action_runs_api_v1_action_runs_running_get |
List currently-running action runs for the Home live timeline | — | 200: object |
GET |
/api/v1/action_runs/shadow-diff |
get_shadow_diff_api_v1_action_runs_shadow_diff_get |
Compare shadow vs live action runs | — | 200: object |
GET |
/api/v1/action_runs/state/{state} |
read_action_runs_by_state_api_v1_action_runs_state__state__get |
List runs by state | — | 200: array of object |
GET |
/api/v1/action_runs/summary/kpi-sparklines |
read_kpi_sparklines_api_v1_action_runs_summary_kpi_sparklines_get |
Dashboard KPI trend sparklines (24 hourly buckets) | — | 200: object |
GET |
/api/v1/action_runs/summary/overview |
read_runs_overview_api_v1_action_runs_summary_overview_get |
Runs overview for agents: counts, grouped failures, late signals | — | 200: object |
GET |
/api/v1/action_runs/summary/states |
read_action_run_state_summary_api_v1_action_runs_summary_states_get |
Get action run state counts | — | 200: object |
GET |
/api/v1/action_runs/test/{is_test} |
read_test_action_runs_api_v1_action_runs_test__is_test__get |
List test or production runs | — | 200: array of object |
GET |
/api/v1/action_runs/trigger/failsafe_window/{trigger_id} |
read_failsafe_window_state_api_v1_action_runs_trigger_failsafe_window__trigger_id__get |
Get failsafe window state | — | 200: object |
GET |
/api/v1/action_runs/trigger/last_run/{trigger_id} |
read_last_action_run_by_trigger_api_v1_action_runs_trigger_last_run__trigger_id__get |
Get last run by trigger | — | 200: ActionRun |
GET |
/api/v1/action_runs/trigger/resume_information/{trigger_id} |
read_action_run_resume_info_by_trigger_api_v1_action_runs_trigger_resume_information__trigger_id__get |
Get trigger resume information | — | 200: ActionRunResumeInfo |
GET |
/api/v1/action_runs/trigger/{trigger_id} |
read_action_runs_by_trigger_api_v1_action_runs_trigger__trigger_id__get |
List runs by trigger ID | — | 200: array of object |
GET |
/api/v1/action_runs/unified/ |
read_unified_action_runs_api_v1_action_runs_unified__get |
List unified action runs | — | 200: array of object |
DELETE |
/api/v1/action_runs/{action_run_id}/dispatch |
abandon_action_run_dispatch_api_v1_action_runs__action_run_id__dispatch_delete |
Drop the caller's dispatching run: the executor decided no run was needed | — | 200: object of boolean |
POST |
/api/v1/action_runs/{action_run_id}/dispatch-lease |
set_action_run_dispatch_lease_api_v1_action_runs__action_run_id__dispatch_lease_post |
Renew the caller's dispatch lease; lease_seconds=0 lapses it | DispatchLeaseRequest | 200: object of boolean |
POST |
/api/v1/action_runs/{action_run_id}/finalize-dispatch |
finalize_action_run_dispatch_api_v1_action_runs__action_run_id__finalize_dispatch_post |
Move a dispatching run to its real state (its lease owner only) | ActionRunFinalizeDispatch | 200: ActionRun |
GET |
/api/v1/action_runs/{id} |
read_action_run_api_v1_action_runs__id__get |
Get action run by ID | — | 200: ActionRun |
PUT |
/api/v1/action_runs/{id} |
update_action_run_api_v1_action_runs__id__put |
Update action run | ActionRunUpdate | 200: ActionRun |
DELETE |
/api/v1/action_runs/{id} |
delete_action_run_api_v1_action_runs__id__delete |
Delete action run | — | 200: ActionRun |
POST |
/api/v1/action_runs/{id}/cancel |
cancel_action_run_api_v1_action_runs__id__cancel_post |
Cancel an ongoing action run | — | 200: any |
GET |
/api/v1/action_runs/{id}/children |
read_action_run_children_api_v1_action_runs__id__children_get |
List child runs of an action run | — | 200: array of object |
GET |
/api/v1/action_runs/{id}/dataform-actions |
read_dataform_node_results_api_v1_action_runs__id__dataform_actions_get |
Per-node results of a Dataform action run | — | 200: DataformNodeResults |
POST |
/api/v1/action_runs/{id}/reconcile-dataform-activity |
reconcile_dataform_activity_api_v1_action_runs__id__reconcile_dataform_activity_post |
Backfill per-node Dataform activity states from a finalized run | — | 200: object |
POST |
/api/v1/action_runs/{id}/replay |
replay_action_run_api_v1_action_runs__id__replay_post |
Replay an action run with one click | — | 200: any |
POST |
/api/v1/action_runs/{id}/resolve |
resolve_action_run_api_v1_action_runs__id__resolve_post |
Correct the record of a stale active run | ActionRunResolveRequest | 200: ActionRun |
Action Run Locks#
Distributed locks preventing concurrent runs of the same action.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/action_run_locks/ |
read_action_run_locks_api_v1_action_run_locks__get |
List active action run locks | — | 200: array of ActionRunLock |
POST |
/api/v1/action_run_locks/cleanup/expired |
cleanup_expired_locks_api_v1_action_run_locks_cleanup_expired_post |
Clean up expired locks | — | 200: object |
POST |
/api/v1/action_run_locks/lock |
lock_single_node_api_v1_action_run_locks_lock_post |
Lock a single node | ActionRunLockCreate | 200: ActionRunLock |
POST |
/api/v1/action_run_locks/lock/bulk |
lock_multiple_nodes_api_v1_action_run_locks_lock_bulk_post |
Lock multiple nodes | ActionRunLockBulkRequest | 200: ActionRunLockBulkResponse |
GET |
/api/v1/action_run_locks/status/bulk |
check_multiple_nodes_lock_status_api_v1_action_run_locks_status_bulk_get |
Check lock status for multiple nodes | — | 200: object |
GET |
/api/v1/action_run_locks/status/{node_id} |
check_node_lock_status_api_v1_action_run_locks_status__node_id__get |
Check node lock status | — | 200: object |
DELETE |
/api/v1/action_run_locks/unlock/bulk |
unlock_multiple_nodes_api_v1_action_run_locks_unlock_bulk_delete |
Unlock multiple nodes | ActionRunUnlockBulkRequest | 200: object |
DELETE |
/api/v1/action_run_locks/unlock/{node_id} |
unlock_single_node_api_v1_action_run_locks_unlock__node_id__delete |
Unlock a single node | — | 200: object |
GET |
/api/v1/action_run_locks/{lock_id} |
read_action_run_lock_api_v1_action_run_locks__lock_id__get |
Get lock by ID | — | 200: ActionRunLock |
PUT |
/api/v1/action_run_locks/{lock_id} |
update_action_run_lock_api_v1_action_run_locks__lock_id__put |
Update an action run lock | ActionRunLockUpdate | 200: ActionRunLock |
DELETE |
/api/v1/action_run_locks/{lock_id} |
delete_action_run_lock_api_v1_action_run_locks__lock_id__delete |
Delete an action run lock | — | 200: object |
Action Run Lock History#
Historical log of lock acquisitions and releases.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/action_run_lock_history/ |
read_lock_history_api_v1_action_run_lock_history__get |
List lock history entries | — | 200: array of ActionRunLockHistory |
GET |
/api/v1/action_run_lock_history/node/{node_id} |
read_lock_history_by_node_api_v1_action_run_lock_history_node__node_id__get |
Get lock history by node | — | 200: array of ActionRunLockHistory |
GET |
/api/v1/action_run_lock_history/trigger/{trigger_node_id} |
read_lock_history_by_trigger_api_v1_action_run_lock_history_trigger__trigger_node_id__get |
Get lock history by trigger node | — | 200: array of ActionRunLockHistory |
GET |
/api/v1/action_run_lock_history/{lock_history_id} |
read_lock_history_by_id_api_v1_action_run_lock_history__lock_history_id__get |
Get lock history entry by ID | — | 200: ActionRunLockHistory |
Scheduler Actions#
Cloud Scheduler-triggered action endpoints.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/scheduler_actions/ |
read_scheduler_actions_api_v1_scheduler_actions__get |
List scheduler actions | — | 200: array of SchedulerAction |
POST |
/api/v1/scheduler_actions/ |
create_scheduler_action_api_v1_scheduler_actions__post |
Create scheduler action | SchedulerActionCreate | 201: SchedulerAction |
GET |
/api/v1/scheduler_actions/aggregated/ |
read_aggregated_scheduler_actions_api_v1_scheduler_actions_aggregated__get |
Aggregated scheduler action counts by time window | — | 200: AggregatedSchedulerActions |
GET |
/api/v1/scheduler_actions/datetime-range/ |
read_scheduler_actions_by_datetime_range_api_v1_scheduler_actions_datetime_range__get |
List actions by datetime range | — | 200: array of SchedulerAction |
GET |
/api/v1/scheduler_actions/node/{node_id} |
read_scheduler_actions_by_node_api_v1_scheduler_actions_node__node_id__get |
List actions by node | — | 200: array of SchedulerAction |
GET |
/api/v1/scheduler_actions/rule/{rule_id} |
read_scheduler_actions_by_rule_api_v1_scheduler_actions_rule__rule_id__get |
List actions by rule | — | 200: array of SchedulerAction |
GET |
/api/v1/scheduler_actions/source/{source_id} |
read_scheduler_actions_by_source_api_v1_scheduler_actions_source__source_id__get |
List actions by source | — | 200: array of SchedulerAction |
GET |
/api/v1/scheduler_actions/source/{source_id}/node/{node_id} |
read_scheduler_actions_by_source_and_node_api_v1_scheduler_actions_source__source_id__node__node_id__get |
List actions by source and node | — | 200: array of SchedulerAction |
GET |
/api/v1/scheduler_actions/{id} |
read_scheduler_action_api_v1_scheduler_actions__id__get |
Get scheduler action by ID | — | 200: SchedulerAction |
PUT |
/api/v1/scheduler_actions/{id} |
update_scheduler_action_api_v1_scheduler_actions__id__put |
Update scheduler action | SchedulerActionUpdate | 200: SchedulerAction |
DELETE |
/api/v1/scheduler_actions/{id} |
delete_scheduler_action_api_v1_scheduler_actions__id__delete |
Delete scheduler action | — | 200: SchedulerAction |
On Hold Actions#
Actions paused or deferred, awaiting manual or automatic release.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/on_hold_actions/ |
read_on_hold_actions_api_v1_on_hold_actions__get |
List on-hold actions | — | 200: array of OnHoldAction |
POST |
/api/v1/on_hold_actions/ |
create_on_hold_action_api_v1_on_hold_actions__post |
Create or update on-hold action | OnHoldActionCreate | 201: OnHoldAction |
POST |
/api/v1/on_hold_actions/batch_check |
batch_check_on_hold_status_api_v1_on_hold_actions_batch_check_post |
Batch check on-hold status | OnHoldBatchCheckRequest | 200: OnHoldBatchCheckResponse |
POST |
/api/v1/on_hold_actions/bulk/upsert |
bulk_upsert_on_hold_actions_api_v1_on_hold_actions_bulk_upsert_post |
Bulk upsert on-hold actions | array of OnHoldActionCreate | 200: array of OnHoldAction |
POST |
/api/v1/on_hold_actions/claims/shorten |
shorten_on_hold_claims_api_v1_on_hold_actions_claims_shorten_post |
Bring a draining instance's on-hold claims down to now + grace | OnHoldClaimsShortenRequest | 200: object |
GET |
/api/v1/on_hold_actions/due |
read_due_on_hold_actions_api_v1_on_hold_actions_due_get |
List due on-hold actions | — | 200: array of OnHoldAction |
POST |
/api/v1/on_hold_actions/due/claim |
claim_due_on_hold_actions_api_v1_on_hold_actions_due_claim_post |
Claim due on-hold actions | — | 200: array of OnHoldAction |
GET |
/api/v1/on_hold_actions/exceeded-retries |
read_actions_exceeding_max_retries_api_v1_on_hold_actions_exceeded_retries_get |
List actions exceeding max retries | — | 200: array of OnHoldAction |
GET |
/api/v1/on_hold_actions/next-check-summary |
read_next_check_summary_api_v1_on_hold_actions_next_check_summary_get |
Get next-check summary for all actions | — | 200: array of NextCheckSummary |
GET |
/api/v1/on_hold_actions/next-check-summary/due |
read_next_check_summary_due_api_v1_on_hold_actions_next_check_summary_due_get |
Get due next-check summary with retries | — | 200: array of NextCheckSummaryWithRetry |
GET |
/api/v1/on_hold_actions/node/last_update/{node_id} |
read_last_update_by_node_api_v1_on_hold_actions_node_last_update__node_id__get |
Get latest on-hold action for node | — | 200: OnHoldAction |
GET |
/api/v1/on_hold_actions/node/{node_id} |
read_on_hold_actions_by_node_api_v1_on_hold_actions_node__node_id__get |
List on-hold actions by node | — | 200: array of OnHoldAction |
DELETE |
/api/v1/on_hold_actions/node/{node_id} |
delete_on_hold_actions_by_node_api_v1_on_hold_actions_node__node_id__delete |
Delete on-hold actions by node | — | 200: object |
DELETE |
/api/v1/on_hold_actions/node/{node_id}/rule/{rule_id} |
delete_on_hold_action_by_node_and_rule_api_v1_on_hold_actions_node__node_id__rule__rule_id__delete |
Delete on-hold action by node and rule | — | 200: object |
GET |
/api/v1/on_hold_actions/rule/{rule_id} |
read_on_hold_actions_by_rule_api_v1_on_hold_actions_rule__rule_id__get |
List on-hold actions by rule | — | 200: array of OnHoldAction |
DELETE |
/api/v1/on_hold_actions/rule/{rule_id} |
delete_on_hold_actions_by_rule_api_v1_on_hold_actions_rule__rule_id__delete |
Delete on-hold actions by rule | — | 200: object |
GET |
/api/v1/on_hold_actions/{id} |
read_on_hold_action_api_v1_on_hold_actions__id__get |
Get on-hold action by ID | — | 200: OnHoldAction |
DELETE |
/api/v1/on_hold_actions/{id} |
delete_on_hold_action_api_v1_on_hold_actions__id__delete |
Delete on-hold action by ID | — | 200: OnHoldAction |
POST |
/api/v1/on_hold_actions/{id}/claim-transfer |
transfer_on_hold_claim_api_v1_on_hold_actions__id__claim_transfer_post |
Hand the dispatcher's claim on one on-hold action to the worker processing it | OnHoldClaimTransferRequest | 200: object |
DELETE |
/api/v1/on_hold_actions/{id}/claimed |
consume_claimed_on_hold_action_api_v1_on_hold_actions__id__claimed_delete |
Consume one on-hold action while the caller still holds its claim | — | 200: object |
DELETE |
/api/v1/on_hold_actions/{id}/consume |
delete_on_hold_action_by_id_api_v1_on_hold_actions__id__consume_delete |
Consume (delete) a single on-hold action by ID | — | 200: object |
POST |
/api/v1/on_hold_actions/{id}/increment-retry |
increment_retry_count_api_v1_on_hold_actions__id__increment_retry_post |
Increment retry count | — | 200: OnHoldAction |
GET |
/api/v1/on_hold_actions/{id}/retry-status |
get_retry_status_api_v1_on_hold_actions__id__retry_status_get |
Check retry status | — | 200: object |
Compilations#
Metadata compilation requests and status tracking.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/compilations/ |
get_compilations_api_v1_compilations__get |
List compilations | — | 200: array of CompilationResponse |
POST |
/api/v1/compilations/ |
create_compilation_api_v1_compilations__post |
Create new compilation | CompilationCreate | 200: CompilationResponse |
GET |
/api/v1/compilations/history |
get_compilation_history_api_v1_compilations_history_get |
Get compilation history for current environment | — | 200: array of CompilationResponse |
GET |
/api/v1/compilations/history/cross-env |
get_compilation_history_cross_env_api_v1_compilations_history_cross_env_get |
Get compilation history for every configured environment | — | 200: CrossEnvCompilationHistoryResponse |
GET |
/api/v1/compilations/last |
get_last_compilation_api_v1_compilations_last_get |
Get last compilation | — | 200: CompilationResponse |
GET |
/api/v1/compilations/last/cross-env |
get_last_compilation_cross_env_api_v1_compilations_last_cross_env_get |
Get the last compilation in every configured environment | — | 200: CrossEnvCompilationResponse |
POST |
/api/v1/compilations/trigger |
trigger_compilation_api_v1_compilations_trigger_post |
Trigger a compilation run | CompilationTriggerRequest | 202: any |
GET |
/api/v1/compilations/triggers |
get_compilation_triggers_api_v1_compilations_triggers_get |
List recent compilation triggers | — | 200: array of CompilationTriggerCompatResponse |
GET |
/api/v1/compilations/{id} |
read_compilation_api_v1_compilations__id__get |
Get compilation by ID | — | 200: CompilationResponse |
PUT |
/api/v1/compilations/{id} |
update_compilation_api_v1_compilations__id__put |
Update a compilation | CompilationUpdate | 200: CompilationResponse |
DELETE |
/api/v1/compilations/{id} |
delete_compilation_api_v1_compilations__id__delete |
Delete a compilation | — | 200: CompilationResponse |
Dependencies#
Inter-action dependency graph management.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/dependencies/all-relations/{node_id} |
all_relations_api_v1_dependencies_all_relations__node_id__get |
Get all node relations | — | 200: object |
GET |
/api/v1/dependencies/ancestors/{entity_id} |
ancestors_api_v1_dependencies_ancestors__entity_id__get |
Get all ancestors | — | 200: object |
GET |
/api/v1/dependencies/column_lineage/{node_id} |
get_column_lineage_api_v1_dependencies_column_lineage__node_id__get |
Get column lineage for node | — | 200: object |
GET |
/api/v1/dependencies/descendants/{entity_id} |
descendants_api_v1_dependencies_descendants__entity_id__get |
Get all descendants | — | 200: object |
GET |
/api/v1/dependencies/first_ancestors/{entity_id} |
first_ancestors_api_v1_dependencies_first_ancestors__entity_id__get |
Get first ancestors | — | 200: object |
GET |
/api/v1/dependencies/first_descendants/{entity_id} |
first_descendants_api_v1_dependencies_first_descendants__entity_id__get |
Get first descendants | — | 200: object |
GET |
/api/v1/dependencies/insertable_ancestors/{node_id} |
insertable_ancestors_api_v1_dependencies_insertable_ancestors__node_id__get |
Get insertable ancestors | — | 200: array of any |
GET |
/api/v1/dependencies/insertable_descendants/{node_id} |
insertable_descendants_api_v1_dependencies_insertable_descendants__node_id__get |
Get insertable descendants | — | 200: array of any |
GET |
/api/v1/dependencies/list_node_ids |
list_node_ids_api_v1_dependencies_list_node_ids_get |
List all node IDs | — | 200: object |
GET |
/api/v1/dependencies/list_nodes |
list_nodes_api_v1_dependencies_list_nodes_get |
List nodes with details | — | 200: object |
GET |
/api/v1/dependencies/list_nodes/filter-options |
get_node_filter_options_api_v1_dependencies_list_nodes_filter_options_get |
Get node filter options | — | 200: object |
GET |
/api/v1/dependencies/list_nodes/resume_information |
list_nodes_resume_information_api_v1_dependencies_list_nodes_resume_information_get |
List nodes resume info | — | 200: object |
GET |
/api/v1/dependencies/list_nodes/resume_information/fts |
search_nodes_fts_api_v1_dependencies_list_nodes_resume_information_fts_get |
Full-text search nodes | — | 200: CatalogSearchResponse |
GET |
/api/v1/dependencies/list_nodes/resume_information/search |
search_nodes_resume_information_api_v1_dependencies_list_nodes_resume_information_search_get |
Search nodes with regex | — | 200: object |
GET |
/api/v1/dependencies/matching_nodes/{source_id} |
get_matching_nodes_api_v1_dependencies_matching_nodes__source_id__get |
Find nodes matching source ID | — | 200: array of object |
GET |
/api/v1/dependencies/mstr_object_index |
mstr_object_index_api_v1_dependencies_mstr_object_index_get |
MicroStrategy object index for cost attribution | — | 200: object |
GET |
/api/v1/dependencies/node_hierarchies |
get_node_hierarchies_api_v1_dependencies_node_hierarchies_get |
Get node type hierarchies | — | 200: object |
GET |
/api/v1/dependencies/nodes/{node_id} |
node_api_v1_dependencies_nodes__node_id__get |
Get node by ID | — | 200: object |
GET |
/api/v1/dependencies/object_types |
get_object_types_api_v1_dependencies_object_types_get |
List object types | — | 200: object |
GET |
/api/v1/dependencies/object_types/counts |
get_object_type_counts_api_v1_dependencies_object_types_counts_get |
Get object type counts | — | 200: object |
GET |
/api/v1/dependencies/readiness |
check_readiness_api_v1_dependencies_readiness_get |
Check compilation readiness | — | 200: any |
POST |
/api/v1/dependencies/reload |
reload_compilation_api_v1_dependencies_reload_post |
Reload compilation data | — | 200: any |
GET |
/api/v1/dependencies/resolve_node_pattern/{pattern} |
resolve_node_pattern_api_v1_dependencies_resolve_node_pattern__pattern__get |
Resolve node pattern to matches | — | 200: array of object |
GET |
/api/v1/dependencies/scheduler/evaluate/{source_id} |
scheduler_evaluate_api_v1_dependencies_scheduler_evaluate__source_id__get |
Evaluate scheduler for source | — | 200: object |
GET |
/api/v1/dependencies/status |
get_compilation_status_api_v1_dependencies_status_get |
Get compilation status | — | 200: any |
POST |
/api/v1/dependencies/subgraph |
subgraph_api_v1_dependencies_subgraph_post |
Induced lineage subgraph for a set of nodes | SubgraphRequest | 200: object |
Resource Patterns#
Resource pattern definitions for matching GCP assets.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/resource-patterns/ |
get_all_patterns_api_v1_resource_patterns__get |
List all resource patterns | — | 200: ResourcePatternList |
PUT |
/api/v1/resource-patterns/ |
replace_all_patterns_api_v1_resource_patterns__put |
Replace all resource patterns | array of ResourcePatternCreate | 200: ResourcePatternList |
POST |
/api/v1/resource-patterns/ |
create_pattern_api_v1_resource_patterns__post |
Create resource pattern | ResourcePatternCreate | 201: ResourcePattern |
POST |
/api/v1/resource-patterns/bulk |
create_bulk_patterns_api_v1_resource_patterns_bulk_post |
Bulk create resource patterns | array of ResourcePatternCreate | 201: ResourcePatternList |
GET |
/api/v1/resource-patterns/{pattern_name} |
get_pattern_api_v1_resource_patterns__pattern_name__get |
Get resource pattern by name | — | 200: ResourcePattern |
PUT |
/api/v1/resource-patterns/{pattern_name} |
update_pattern_api_v1_resource_patterns__pattern_name__put |
Update resource pattern | ResourcePatternUpdate | 200: ResourcePattern |
DELETE |
/api/v1/resource-patterns/{pattern_name} |
delete_pattern_api_v1_resource_patterns__pattern_name__delete |
Delete resource pattern | — | 200: Message |
Compiler Config#
Compiler configuration for metadata extraction.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/compiler-config/ |
list_configs_api_v1_compiler_config__get |
List compiler configurations | — | 200: CompilerConfigList |
PUT |
/api/v1/compiler-config/ |
replace_configs_api_v1_compiler_config__put |
Replace all compiler configurations | array of CompilerConfigCreate | 200: CompilerConfigList |
POST |
/api/v1/compiler-config/ |
create_config_api_v1_compiler_config__post |
Create compiler configuration | CompilerConfigCreate | 201: CompilerConfigResponse |
GET |
/api/v1/compiler-config/{environment} |
get_config_api_v1_compiler_config__environment__get |
Get config by environment | — | 200: CompilerConfigResponse |
PUT |
/api/v1/compiler-config/{environment} |
upsert_config_api_v1_compiler_config__environment__put |
Upsert config for environment | CompilerConfigCreate | 200: CompilerConfigResponse |
Environment Mappings#
Environment-to-project mapping definitions.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/environment-mappings |
get_environment_mappings_api_v1_environment_mappings_get |
Get environment mappings config | — | 200: EnvironmentMappingConfig |
PUT |
/api/v1/environment-mappings |
update_environment_mappings_api_v1_environment_mappings_put |
Update environment mappings config | EnvironmentMappingConfig | 200: EnvironmentMappingConfig |
GET |
/api/v1/environment-mappings/node/{node_id}/variants |
get_node_environment_variants_api_v1_environment_mappings_node__node_id__variants_get |
Get node environment variants | — | 200: NodeEnvironmentVariants |
POST |
/api/v1/environment-mappings/test |
test_environment_mapping_api_v1_environment_mappings_test_post |
Test environment mapping pattern | EnvironmentMappingTestRequest | 200: EnvironmentMappingTestResponse |
Input Logs#
Raw input log ingestion and querying.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/input_logs/ |
get_input_logs_api_v1_input_logs__get |
List input logs | — | 200: InputLogsListResponse |
POST |
/api/v1/input_logs/ |
create_input_log_api_v1_input_logs__post |
Create input log | InputLogsCreate | 201: InputLogsResponse |
GET |
/api/v1/input_logs/aggregated |
get_aggregated_input_logs_api_v1_input_logs_aggregated_get |
Get aggregated input logs | — | 200: InputLogsAggregatedResponse |
GET |
/api/v1/input_logs/aggregated/timeframe |
get_input_logs_sum_grouped_by_timeframe_api_v1_input_logs_aggregated_timeframe_get |
Get logs grouped by timeframe | — | 200: array of TimeframeProjectCount |
GET |
/api/v1/input_logs/correlation/{correlation_id} |
get_correlation_chain_api_v1_input_logs_correlation__correlation_id__get |
Get correlation chain | — | 200: any |
GET |
/api/v1/input_logs/event-types |
get_event_types_api_v1_input_logs_event_types_get |
List log event types | — | 200: any |
GET |
/api/v1/input_logs/mstr-node/{node_id} |
get_input_logs_by_mstr_node_api_v1_input_logs_mstr_node__node_id__get |
Get BigQuery events attributed to a MicroStrategy node | — | 200: any |
GET |
/api/v1/input_logs/node/column_read_stats/{node_id} |
get_column_read_stats_by_node_api_v1_input_logs_node_column_read_stats__node_id__get |
Get column read stats for node | — | 200: ColumnReadStatsResponse |
GET |
/api/v1/input_logs/node/queries_explorer/{node_id} |
get_queries_explorer_api_v1_input_logs_node_queries_explorer__node_id__get |
Explore queries for node | — | 200: QueriesExplorerResponse |
POST |
/api/v1/input_logs/node/resume_information/batch |
get_input_logs_resume_information_batch_api_v1_input_logs_node_resume_information_batch_post |
Get resume information for multiple nodes | object |
200: any |
GET |
/api/v1/input_logs/node/resume_information/{node_id} |
get_input_logs_resume_information_by_node_api_v1_input_logs_node_resume_information__node_id__get |
Get node resume information | — | 200: InputLogsResumeInformation |
GET |
/api/v1/input_logs/node/{node_id} |
get_input_logs_by_node_api_v1_input_logs_node__node_id__get |
Get input logs by node | — | 200: InputLogsListResponse |
GET |
/api/v1/input_logs/node/{node_id}/activity-summary |
get_node_activity_summary_api_v1_input_logs_node__node_id__activity_summary_get |
Get node activity summary | — | 200: any |
GET |
/api/v1/input_logs/node/{node_id}/column/{column_name}/usage |
get_node_column_usage_api_v1_input_logs_node__node_id__column__column_name__usage_get |
Get usage of a single column on a node | — | 200: ColumnUsageResponse |
GET |
/api/v1/input_logs/node/{node_id}/enrichment-backfill |
get_enrichment_backfill_endpoint_api_v1_input_logs_node__node_id__enrichment_backfill_get |
Latest enrichment-backfill job for a node (or null) | — | 200: EnrichmentBackfillRunResponse or null |
POST |
/api/v1/input_logs/node/{node_id}/enrichment-backfill |
start_enrichment_backfill_endpoint_api_v1_input_logs_node__node_id__enrichment_backfill_post |
Start (or resume) a storage_delta enrichment backfill for a node window | EnrichmentBackfillStart | 202: EnrichmentBackfillRunResponse |
GET |
/api/v1/input_logs/node/{node_id}/object-activity |
get_node_object_activity_api_v1_input_logs_node__node_id__object_activity_get |
Get object-level write activity (hot-map) for a node | — | 200: NodeObjectActivityResponse |
GET |
/api/v1/input_logs/node/{node_id}/partition-activity |
get_node_partition_activity_api_v1_input_logs_node__node_id__partition_activity_get |
Per-partition BigQuery write activity for a node (heat-map data) | — | 200: NodePartitionActivityResponse |
GET |
/api/v1/input_logs/node/{node_id}/readers |
get_node_readers_api_v1_input_logs_node__node_id__readers_get |
Get top readers of a node | — | 200: NodeReadersResponse |
GET |
/api/v1/input_logs/node/{node_id}/self-cost |
get_node_self_cost_api_v1_input_logs_node__node_id__self_cost_get |
Get a node's own + generated BigQuery cost | — | 200: any |
GET |
/api/v1/input_logs/node/{node_id}/touched-partitions |
get_node_touched_partitions_api_v1_input_logs_node__node_id__touched_partitions_get |
Recent BigQuery partitions touched on a node (from storage_delta enrichment) | — | 200: any |
GET |
/api/v1/input_logs/node/{node_id}/writers |
get_node_writers_api_v1_input_logs_node__node_id__writers_get |
Get top writers of a node | — | 200: NodeWritersResponse |
GET |
/api/v1/input_logs/platform/queries_explorer |
get_platform_queries_explorer_api_v1_input_logs_platform_queries_explorer_get |
Explore platform-wide queries | — | 200: PlatformQueriesExplorerResponse |
GET |
/api/v1/input_logs/project/{project} |
get_input_logs_by_project_api_v1_input_logs_project__project__get |
Get input logs by project | — | 200: array of InputLogsResponse |
GET |
/api/v1/input_logs/query |
query_input_logs_api_v1_input_logs_query_get |
Query input logs with filters | — | 200: InputLogsListResponse |
POST |
/api/v1/input_logs/replay |
replay_dead_lettered_input_log_api_v1_input_logs_replay_post |
Replay a dead-lettered input log | InputLogsCreate | 200: InputLogReplayResponse |
GET |
/api/v1/input_logs/row-counts/stats |
get_row_count_statistics_api_v1_input_logs_row_counts_stats_get |
Get row count statistics | — | 200: array of object |
GET |
/api/v1/input_logs/search |
search_input_logs_api_v1_input_logs_search_get |
Search input logs | — | 200: InputLogsListResponse |
GET |
/api/v1/input_logs/summary/counts |
get_input_logs_summary_counts_api_v1_input_logs_summary_counts_get |
Get input log summary counts | — | 200: any |
GET |
/api/v1/input_logs/trigger/{trigger} |
get_input_logs_by_trigger_api_v1_input_logs_trigger__trigger__get |
Get input logs by trigger | — | 200: array of InputLogsResponse |
GET |
/api/v1/input_logs/type/{log_type} |
get_input_logs_by_type_api_v1_input_logs_type__log_type__get |
Get input logs by type | — | 200: array of InputLogsResponse |
GET |
/api/v1/input_logs/writer/{writer} |
get_input_logs_by_writer_api_v1_input_logs_writer__writer__get |
Get input logs by writer | — | 200: array of InputLogsResponse |
GET |
/api/v1/input_logs/writers/list |
get_writers_list_api_v1_input_logs_writers_list_get |
List writers with counts | — | 200: array of object |
GET |
/api/v1/input_logs/writers/{writer}/actions |
get_writer_actions_api_v1_input_logs_writers__writer__actions_get |
Get writer actions | — | 200: InputLogsListResponse |
GET |
/api/v1/input_logs/writers/{writer}/resource_types |
get_writer_resource_types_api_v1_input_logs_writers__writer__resource_types_get |
Get writer node/action types | — | 200: object |
GET |
/api/v1/input_logs/writers/{writer}/resources |
get_writer_resources_api_v1_input_logs_writers__writer__resources_get |
Get writer resources | — | 200: object |
GET |
/api/v1/input_logs/writers/{writer}/stats |
get_writer_stats_api_v1_input_logs_writers__writer__stats_get |
Get writer statistics | — | 200: object |
GET |
/api/v1/input_logs/{input_log_id}/enrichment |
get_enrichment_endpoint_api_v1_input_logs__input_log_id__enrichment_get |
Fetch (or lazily compute) enrichment payload for one input log event | — | 200: InputLogEnrichmentResponse |
POST |
/api/v1/input_logs/{input_log_id}/enrichment |
upsert_enrichment_endpoint_api_v1_input_logs__input_log_id__enrichment_post |
Upsert enrichment payload (called by input-logs service) | InputLogEnrichmentCreate | 201: InputLogEnrichmentResponse |
GET |
/api/v1/input_logs/{input_logs_id} |
get_input_log_api_v1_input_logs__input_logs_id__get |
Get input log by ID | — | 200: InputLogsResponse |
PUT |
/api/v1/input_logs/{input_logs_id} |
update_input_log_api_v1_input_logs__input_logs_id__put |
Update input log | InputLogsUpdate | 200: InputLogsResponse |
DELETE |
/api/v1/input_logs/{input_logs_id} |
delete_input_log_api_v1_input_logs__input_logs_id__delete |
Delete input log | — | 204 |
Input Logs Rollups#
Pre-aggregated input log summaries (daily/hourly).
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/input-logs-rollups/internal/consolidation/run-now |
run_consolidation_now_scheduler_api_v1_input_logs_rollups_internal_consolidation_run_now_post |
Trigger input_logs consolidation (Cloud Scheduler) | — | 202: object |
POST |
/api/v1/input-logs-rollups/rollups/consolidation/backfill |
backfill_consolidation_api_v1_input_logs_rollups_rollups_consolidation_backfill_post |
Backfill input_logs rollups (fast) | — | 200: any |
GET |
/api/v1/input-logs-rollups/rollups/consolidation/health |
get_consolidation_health_api_v1_input_logs_rollups_rollups_consolidation_health_get |
Input logs rollup health | — | 200: any |
POST |
/api/v1/input-logs-rollups/rollups/consolidation/run-now |
run_consolidation_now_api_v1_input_logs_rollups_rollups_consolidation_run_now_post |
Trigger input_logs consolidation | — | 200: any |
Incidents#
Unified incident management across all action types.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/incidents/ |
read_incidents_api_v1_incidents__get |
List incidents | — | 200: array of IncidentOwned |
POST |
/api/v1/incidents/ |
create_incident_api_v1_incidents__post |
Create incident | IncidentCreate | 201: Incident |
GET |
/api/v1/incidents/action/{action} |
read_incidents_by_action_api_v1_incidents_action__action__get |
List incidents by action | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/action_run/{action_run_id} |
read_incident_by_action_run_api_v1_incidents_action_run__action_run_id__get |
Get incident by action run | — | 200: Incident |
POST |
/api/v1/incidents/admin/backfill-classification |
backfill_classification_endpoint_api_v1_incidents_admin_backfill_classification_post |
Backfill incident_class / response_tier on existing rows | — | 200: BackfillClassificationResponse |
GET |
/api/v1/incidents/analytics/summary |
read_incident_analytics_summary_api_v1_incidents_analytics_summary_get |
Incident analytics over a trailing window: counts, daily trend, MTTA/MTTR medians, top nodes | — | 200: object |
GET |
/api/v1/incidents/assignee/{assignee} |
read_incidents_by_assignee_api_v1_incidents_assignee__assignee__get |
List incidents by assignee | — | 200: array of IncidentOwned |
POST |
/api/v1/incidents/auto-close |
auto_close_incident_api_v1_incidents_auto_close_post |
Auto-close incident on success | AutoCloseRequest | 200: Incident or null |
POST |
/api/v1/incidents/bulk/accept |
bulk_accept_incidents_api_v1_incidents_bulk_accept_post |
Bulk accept incidents (out of triage) | — | 200: IncidentBulkActionResponse |
POST |
/api/v1/incidents/bulk/action |
bulk_incident_action_api_v1_incidents_bulk_action_post |
Bulk action on incidents | — | 200: IncidentBulkActionResponse |
POST |
/api/v1/incidents/bulk/assign |
bulk_assign_incidents_api_v1_incidents_bulk_assign_post |
Bulk assign incidents | — | 200: IncidentBulkSimpleResponse |
POST |
/api/v1/incidents/bulk/close |
bulk_close_incidents_api_v1_incidents_bulk_close_post |
Bulk close incidents | — | 200: IncidentBulkActionResponse |
POST |
/api/v1/incidents/bulk/comment |
bulk_add_incident_comment_api_v1_incidents_bulk_comment_post |
Bulk add comment to incidents | — | 200: IncidentBulkSimpleResponse |
POST |
/api/v1/incidents/bulk/decline |
bulk_decline_incidents_api_v1_incidents_bulk_decline_post |
Bulk decline incidents (from triage) | — | 200: IncidentBulkActionResponse |
POST |
/api/v1/incidents/bulk/mark-expected |
bulk_mark_incidents_expected_api_v1_incidents_bulk_mark_expected_post |
Bulk mark incidents as expected | — | 200: IncidentBulkActionResponse |
POST |
/api/v1/incidents/bulk/merge |
bulk_merge_incidents_endpoint_api_v1_incidents_bulk_merge_post |
Bulk merge open incidents into a single target | — | 200: IncidentBulkMergeResponse |
POST |
/api/v1/incidents/bulk/reopen |
bulk_reopen_incidents_api_v1_incidents_bulk_reopen_post |
Bulk reopen incidents | — | 200: IncidentBulkActionResponse |
POST |
/api/v1/incidents/bulk/severity |
bulk_update_incident_severity_api_v1_incidents_bulk_severity_post |
Bulk change incident severity | — | 200: IncidentBulkSimpleResponse |
POST |
/api/v1/incidents/bulk/snooze |
bulk_snooze_incidents_api_v1_incidents_bulk_snooze_post |
Bulk snooze incidents | — | 200: IncidentBulkActionResponse |
POST |
/api/v1/incidents/by-nodes |
list_incidents_by_nodes_api_v1_incidents_by_nodes_post |
Batch: find incidents whose affected_nodes intersect a list | IncidentsByNodesRequest | 200: IncidentsByNodesResponse |
POST |
/api/v1/incidents/check-heartbeat |
check_heartbeat_api_v1_incidents_check_heartbeat_post |
Run the loss-of-signal heartbeat sweep (cron / ops) | — | 200: HeartbeatCheckResponse |
POST |
/api/v1/incidents/check-refresh-sla |
check_refresh_sla_api_v1_incidents_check_refresh_sla_post |
Run the rule refresh-SLA sweep (cron / ops); defaults to dry_run=true (reports only) | — | 200: RefreshSlaCheckResponse |
POST |
/api/v1/incidents/check-rule-targets |
check_rule_targets_api_v1_incidents_check_rule_targets_post |
Run the rule target-resolution sweep (cron / ops); defaults to dry_run=true (reports only) | — | 200: RuleTargetCheckResponse |
POST |
/api/v1/incidents/check-trigger-liveness |
check_trigger_liveness_api_v1_incidents_check_trigger_liveness_post |
Run the rule trigger-liveness sweep (cron / ops); defaults to dry_run=true (reports only) | — | 200: TriggerLivenessCheckResponse |
GET |
/api/v1/incidents/cost-of-failure/summary |
get_estate_cost_of_failure_api_v1_incidents_cost_of_failure_summary_get |
Estate-wide wasted compute over a trailing window | — | 200: EstateCostOfFailureResponse |
GET |
/api/v1/incidents/extraction/permissions |
get_extraction_permission_incidents_api_v1_incidents_extraction_permissions_get |
List extraction permission incidents | — | 200: array of IncidentOwned |
POST |
/api/v1/incidents/find-open |
find_open_incident_api_v1_incidents_find_open_post |
Find open incident | FindOpenIncidentRequest | 200: Incident or null |
POST |
/api/v1/incidents/groups/mark-expected |
mark_group_expected_endpoint_api_v1_incidents_groups_mark_expected_post |
Mark a whole fingerprint group expected (one suppression rule) | — | 200: GroupActionResponse |
POST |
/api/v1/incidents/groups/{fingerprint}/snooze |
smart_snooze_group_api_v1_incidents_groups__fingerprint__snooze_post |
Smart-snooze a fingerprint group (time / occurrences / forecast) | — | 200: Incident |
GET |
/api/v1/incidents/incident-types |
get_incident_types_endpoint_api_v1_incidents_incident_types_get |
List incident types | — | 200: any |
GET |
/api/v1/incidents/incident-types/{incident_type} |
get_incident_type_by_id_api_v1_incidents_incident_types__incident_type__get |
Get incident type by ID | — | 200: any |
POST |
/api/v1/incidents/internal/observe |
observe_incident_signal_api_v1_incidents_internal_observe_post |
Apply one incident observation (service-to-service) | object |
200: ObserveOutcomeResponse |
POST |
/api/v1/incidents/internal/run-lifecycle |
sync_run_lifecycle_api_v1_incidents_internal_run_lifecycle_post |
Run the generic run-incident lifecycle for one resolved run (service-to-service) | object |
200: RunLifecycleOutcome |
GET |
/api/v1/incidents/kinds |
list_incident_kinds_api_v1_incidents_kinds_get |
Registered incident kinds | — | 200: array of IncidentKindEntry |
POST |
/api/v1/incidents/link-action-run |
link_action_run_to_incident_api_v1_incidents_link_action_run_post |
Link action run to incident | LinkActionRunRequest | 200: object |
GET |
/api/v1/incidents/node/{node_id} |
read_incidents_by_node_api_v1_incidents_node__node_id__get |
Incidents by node | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/overview |
read_incidents_overview_api_v1_incidents_overview_get |
Incident pool overview for agents: open by severity, age, team and SLA; window activity | — | 200: object |
GET |
/api/v1/incidents/quality/rule-precision |
get_rule_precision_api_v1_incidents_quality_rule_precision_get |
Per-rule / per-class precision & actionability (feedback loop) | — | 200: RulePrecisionResponse |
POST |
/api/v1/incidents/recompute-snoozes |
recompute_snoozes_endpoint_api_v1_incidents_recompute_snoozes_post |
Auto-unsnooze groups + recompute lineage inhibition (cron) | — | 200: RecomputeSnoozesResponse |
GET |
/api/v1/incidents/registry |
get_incident_registry_api_v1_incidents_registry_get |
Incident kinds and sources | — | 200: IncidentRegistryResponse |
GET |
/api/v1/incidents/reporter/{reporter} |
read_incidents_by_reporter_api_v1_incidents_reporter__reporter__get |
List incidents by reporter | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/rule/{rule_id} |
read_incidents_by_rule_api_v1_incidents_rule__rule_id__get |
List incidents by rule | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/scheduler/permissions |
get_scheduler_permission_incidents_api_v1_incidents_scheduler_permissions_get |
List scheduler permission incidents | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/severity/{severity} |
read_incidents_by_severity_api_v1_incidents_severity__severity__get |
List incidents by severity | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/sla/config |
list_sla_configs_api_v1_incidents_sla_config_get |
List SLA configurations | — | 200: array of SLAConfigResponse |
PUT |
/api/v1/incidents/sla/config |
upsert_sla_config_api_v1_incidents_sla_config_put |
Upsert SLA configuration | SLAConfigCreate | 200: SLAConfigResponse |
GET |
/api/v1/incidents/status/groups |
read_incident_groups_api_v1_incidents_status_groups_get |
List ongoing incidents grouped by dedup_fingerprint | — | 200: array of IncidentGroupOwned |
GET |
/api/v1/incidents/status/inbox |
read_triage_inbox_api_v1_incidents_status_inbox_get |
Triage inbox — what needs a human now | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/status/inbox/groups |
read_triage_inbox_groups_api_v1_incidents_status_inbox_groups_get |
Triage inbox, clustered by root cause — what needs a human now, collapsed | — | 200: array of IncidentGroupOwned |
GET |
/api/v1/incidents/status/ongoing |
read_ongoing_incidents_api_v1_incidents_status_ongoing_get |
List ongoing incidents | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/status/resolved |
read_resolved_incidents_api_v1_incidents_status_resolved_get |
List resolved incidents | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/status/summary |
read_incident_status_summary_api_v1_incidents_status_summary_get |
One-call status summary — the single source of truth for every count | — | 200: IncidentStatusSummary |
GET |
/api/v1/incidents/status/{status} |
read_incidents_by_status_api_v1_incidents_status__status__get |
List incidents by status | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/watcher/{watcher} |
read_incidents_by_watcher_api_v1_incidents_watcher__watcher__get |
List incidents by watcher | — | 200: array of IncidentOwned |
GET |
/api/v1/incidents/{id} |
read_incident_api_v1_incidents__id__get |
Get incident by ID | — | 200: IncidentOwned |
PUT |
/api/v1/incidents/{id} |
update_incident_api_v1_incidents__id__put |
Update incident | IncidentUpdate | 200: Incident |
DELETE |
/api/v1/incidents/{id} |
delete_incident_api_v1_incidents__id__delete |
Delete incident | — | 200: Incident |
POST |
/api/v1/incidents/{id}/accept |
accept_incident_api_v1_incidents__id__accept_post |
Accept incident (out of triage) | — | 200: Incident |
POST |
/api/v1/incidents/{id}/acknowledge |
acknowledge_incident_api_v1_incidents__id__acknowledge_post |
Acknowledge incident | — | 200: Incident |
POST |
/api/v1/incidents/{id}/add-failure |
add_failure_to_incident_api_v1_incidents__id__add_failure_post |
Add failure to incident | AddFailureRequest | 200: Incident |
GET |
/api/v1/incidents/{id}/alerts |
list_incident_alerts_api_v1_incidents__id__alerts_get |
List alerts sent for this incident | — | 200: array of AlertHistory |
POST |
/api/v1/incidents/{id}/assign |
assign_incident_api_v1_incidents__id__assign_post |
Assign incident to user | IncidentAssign | 200: Incident |
POST |
/api/v1/incidents/{id}/close |
close_incident_api_v1_incidents__id__close_post |
Close incident | — | 200: Incident |
GET |
/api/v1/incidents/{id}/comments |
list_incident_comments_api_v1_incidents__id__comments_get |
List incident comments | — | 200: array of IncidentCommentResponse |
POST |
/api/v1/incidents/{id}/comments |
add_incident_comment_api_v1_incidents__id__comments_post |
Add comment to incident | — | 201: IncidentCommentResponse |
DELETE |
/api/v1/incidents/{id}/comments/{comment_id} |
delete_incident_comment_api_v1_incidents__id__comments__comment_id__delete |
Delete incident comment | — | 204 |
GET |
/api/v1/incidents/{id}/cost-of-failure |
get_incident_cost_of_failure_api_v1_incidents__id__cost_of_failure_get |
What this incident cost in wasted compute, and what its blast radius costs to rebuild | — | 200: IncidentCostOfFailureResponse |
POST |
/api/v1/incidents/{id}/decline |
decline_incident_api_v1_incidents__id__decline_post |
Decline incident (close as not-an-incident) | — | 200: Incident |
POST |
/api/v1/incidents/{id}/mark-expected |
mark_incident_expected_api_v1_incidents__id__mark_expected_post |
Mark incident as expected / known issue | — | 200: Incident |
GET |
/api/v1/incidents/{id}/provenance |
get_incident_provenance_api_v1_incidents__id__provenance_get |
Get the resources behind an incident | — | 200: IncidentProvenanceResponse |
GET |
/api/v1/incidents/{id}/related-dq-failures |
get_related_dq_failures_api_v1_incidents__id__related_dq_failures_get |
Get related DQ failures for an incident | — | 200: RelatedDQFailuresResponse |
GET |
/api/v1/incidents/{id}/related-pipeline-failures |
get_related_pipeline_failures_api_v1_incidents__id__related_pipeline_failures_get |
Get related pipeline failures for a DQ incident | — | 200: RelatedPipelineFailuresResponse |
POST |
/api/v1/incidents/{id}/reopen |
reopen_incident_api_v1_incidents__id__reopen_post |
Reopen incident | — | 200: Incident |
POST |
/api/v1/incidents/{id}/reporters/add |
add_reporter_to_incident_api_v1_incidents__id__reporters_add_post |
Add reporter to incident | IncidentAddReporter | 200: Incident |
POST |
/api/v1/incidents/{id}/reporters/remove |
remove_reporter_from_incident_api_v1_incidents__id__reporters_remove_post |
Remove reporter from incident | IncidentRemoveReporter | 200: Incident |
POST |
/api/v1/incidents/{id}/resolve |
resolve_incident_api_v1_incidents__id__resolve_post |
Resolve incident | — | 200: Incident |
GET |
/api/v1/incidents/{id}/sla |
get_incident_sla_api_v1_incidents__id__sla_get |
Get SLA metrics for an incident | — | 200: object |
POST |
/api/v1/incidents/{id}/snooze |
snooze_incident_api_v1_incidents__id__snooze_post |
Snooze incident (hide from triage inbox) | — | 200: Incident |
GET |
/api/v1/incidents/{id}/timeline |
get_incident_timeline_api_v1_incidents__id__timeline_get |
Get incident timeline | — | 200: IncidentTimelineResponse |
POST |
/api/v1/incidents/{id}/unmark-expected |
unmark_incident_expected_api_v1_incidents__id__unmark_expected_post |
Un-mark incident as expected | — | 200: Incident |
POST |
/api/v1/incidents/{id}/watchers/add |
add_watcher_to_incident_api_v1_incidents__id__watchers_add_post |
Add watcher to incident | IncidentAddWatcher | 200: Incident |
POST |
/api/v1/incidents/{id}/watchers/remove |
remove_watcher_from_incident_api_v1_incidents__id__watchers_remove_post |
Remove watcher from incident | IncidentRemoveWatcher | 200: Incident |
GET |
/api/v1/incidents/{incident_id}/root-cause |
get_root_cause_api_v1_incidents__incident_id__root_cause_get |
Get Root Cause | — | 200: RootCauseResponse |
Incident History Rollups#
Pre-aggregated incident history summaries.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/incident-history-rollups/internal/consolidation/daily |
consolidate_daily_scheduler_api_v1_incident_history_rollups_internal_consolidation_daily_post |
Consolidate incident history daily (Cloud Scheduler) | — | 202: object |
POST |
/api/v1/incident-history-rollups/rollups/consolidation/backfill |
backfill_api_v1_incident_history_rollups_rollups_consolidation_backfill_post |
Backfill incident history rollups | — | 200: any |
POST |
/api/v1/incident-history-rollups/rollups/consolidation/daily |
consolidate_daily_api_v1_incident_history_rollups_rollups_consolidation_daily_post |
Consolidate incident history daily | — | 200: any |
GET |
/api/v1/incident-history-rollups/rollups/consolidation/health |
health_api_v1_incident_history_rollups_rollups_consolidation_health_get |
Incident history consolidation health | — | 200: any |
GET |
/api/v1/incident-history-rollups/rollups/daily |
get_daily_api_v1_incident_history_rollups_rollups_daily_get |
Query daily incident history rollups | — | 200: any |
Reliability Metrics#
DORA-equivalent data reliability KPIs.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/reliability/reliability-metrics |
get_reliability_metrics_api_v1_reliability_reliability_metrics_get |
DORA-equivalent data reliability KPIs | — | 200: ReliabilityMetricsResponse |
Attribution#
Deploy-to-Incident Attribution (data git-blame): rank the changes likely behind an incident, a commit's downstream incident blast-radius, and a node's change/incident/cost timeline.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/attribution/commits/{commit_sha} |
attribute_commit_api_v1_attribution_commits__commit_sha__get |
Forward blast-radius: incidents in a deploy commit's downstream | — | 200: CommitImpactRead |
GET |
/api/v1/attribution/incidents/{incident_id} |
attribute_incident_api_v1_attribution_incidents__incident_id__get |
Rank the change events most likely to have caused an incident | — | 200: IncidentAttributionRead |
GET |
/api/v1/attribution/timeline |
get_timeline_api_v1_attribution_timeline_get |
A node's interleaved change / incident / cost timeline | — | 200: TimelineRead |
Explorer#
Interactive data lineage and metadata exploration.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
DELETE |
/api/v1/explorer/cache |
clear_explorer_cache_api_v1_explorer_cache_delete |
Clear explorer cache | — | 200: object |
GET |
/api/v1/explorer/filter-options |
get_filter_options_api_v1_explorer_filter_options_get |
Get rule filter options | — | 200: object of array of string |
GET |
/api/v1/explorer/nodes-summary |
get_nodes_explorer_summary_api_v1_explorer_nodes_summary_get |
Get nodes analytics summary | — | 200: array of object |
GET |
/api/v1/explorer/rules-summary |
get_rules_explorer_summary_api_v1_explorer_rules_summary_get |
Get rules analytics summary | — | 200: array of object |
Action Run Rollups#
Pre-aggregated action run statistics (daily/hourly).
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/action-run-rollups/internal/consolidation/run-now |
run_consolidation_now_scheduler_api_v1_action_run_rollups_internal_consolidation_run_now_post |
Trigger action_run consolidation (Cloud Scheduler) | — | 202: object |
GET |
/api/v1/action-run-rollups/rollups/15min |
get_15min_rollups_api_v1_action_run_rollups_rollups_15min_get |
Query 15-min action_run rollups | — | 200: array of ActionRunRollup15MinResponse |
POST |
/api/v1/action-run-rollups/rollups/consolidation/backfill |
backfill_consolidation_api_v1_action_run_rollups_rollups_consolidation_backfill_post |
Backfill action_run rollups | — | 200: any |
POST |
/api/v1/action-run-rollups/rollups/consolidation/daily |
consolidate_daily_api_v1_action_run_rollups_rollups_consolidation_daily_post |
Consolidate a specific date | — | 200: any |
GET |
/api/v1/action-run-rollups/rollups/consolidation/health |
get_consolidation_health_api_v1_action_run_rollups_rollups_consolidation_health_get |
Consolidation health | — | 200: ActionRunConsolidationHealthResponse |
POST |
/api/v1/action-run-rollups/rollups/consolidation/run-now |
run_consolidation_now_api_v1_action_run_rollups_rollups_consolidation_run_now_post |
Trigger action_run consolidation | — | 200: any |
GET |
/api/v1/action-run-rollups/rollups/daily |
get_daily_rollups_api_v1_action_run_rollups_rollups_daily_get |
Query daily action_run rollups | — | 200: array of ActionRunRollupDailyResponse |
Webhooks#
Webhook endpoints for external trigger integration (HMAC-authenticated).
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/webhooks/ |
list_webhooks_api_v1_webhooks__get |
List webhook endpoints | — | 200: array of WebhookEndpointRead |
POST |
/api/v1/webhooks/ |
create_webhook_api_v1_webhooks__post |
Create webhook endpoint | WebhookEndpointCreate | 201: WebhookEndpointWithSecret |
GET |
/api/v1/webhooks/{webhook_id} |
get_webhook_api_v1_webhooks__webhook_id__get |
Get webhook endpoint | — | 200: WebhookEndpointRead |
PUT |
/api/v1/webhooks/{webhook_id} |
update_webhook_api_v1_webhooks__webhook_id__put |
Update webhook endpoint | WebhookEndpointUpdate | 200: WebhookEndpointRead |
DELETE |
/api/v1/webhooks/{webhook_id} |
delete_webhook_api_v1_webhooks__webhook_id__delete |
Delete webhook endpoint (soft) | — | 200: WebhookEndpointRead |
POST |
/api/v1/webhooks/{webhook_id}/rotate-secret |
rotate_secret_api_v1_webhooks__webhook_id__rotate_secret_post |
Regenerate HMAC secret | — | 200: WebhookEndpointWithSecret |
POST |
/api/v1/webhooks/{webhook_id}/test |
test_webhook_api_v1_webhooks__webhook_id__test_post |
Test webhook template (dry-run, no publish) | WebhookTestRequest | 200: WebhookTestResponse |
POST |
/api/webhooks/{slug} |
receive_webhook_api_webhooks__slug__post |
Receive Webhook | — | 200: any |
Custom Python#
Authored Python scripts run in a sandboxed subprocess: script registry, async-job store, and validate/test-run for the authoring UI.
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/custom-python/jobs |
create_job_api_v1_custom_python_jobs_post |
Create a running custom_python async job | CustomPythonJobCreate | 201: CustomPythonJobRead |
GET |
/api/v1/custom-python/jobs/{job_id} |
get_job_api_v1_custom_python_jobs__job_id__get |
Fetch a custom_python async job | — | 200: CustomPythonJobRead |
PATCH |
/api/v1/custom-python/jobs/{job_id} |
update_job_api_v1_custom_python_jobs__job_id__patch |
Update a custom_python async job's terminal state | CustomPythonJobUpdate | 200: CustomPythonJobRead |
POST |
/api/v1/custom-python/jobs/{job_id}/heartbeat |
heartbeat_job_api_v1_custom_python_jobs__job_id__heartbeat_post |
Stamp a running custom_python async job's liveness | — | 200: CustomPythonJobHeartbeat |
GET |
/api/v1/custom-python/scripts |
list_scripts_api_v1_custom_python_scripts_get |
List registered custom_python scripts | — | 200: array of CustomPythonScriptRead |
POST |
/api/v1/custom-python/scripts |
create_script_api_v1_custom_python_scripts_post |
Register a new custom_python script | CustomPythonScriptCreate | 201: CustomPythonScriptRead |
GET |
/api/v1/custom-python/scripts/{script_id} |
get_script_api_v1_custom_python_scripts__script_id__get |
Resolve a script by id (scheduler reads this) | — | 200: CustomPythonScriptResolve |
PUT |
/api/v1/custom-python/scripts/{script_id} |
update_script_api_v1_custom_python_scripts__script_id__put |
Update a custom_python script | CustomPythonScriptUpdate | 200: CustomPythonScriptRead |
DELETE |
/api/v1/custom-python/scripts/{script_id} |
delete_script_api_v1_custom_python_scripts__script_id__delete |
Delete a custom_python script | — | 204 |
POST |
/api/v1/custom-python/test-run |
test_run_api_v1_custom_python_test_run_post |
Run custom_python source once in the sandbox (no persistence) | TestRunRequest | 200: SandboxResultSchema |
POST |
/api/v1/custom-python/validate |
validate_api_v1_custom_python_validate_post |
Statically validate custom_python source | ValidateRequest | 200: ValidateResponse |
Access#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/access/me |
my_access_api_v1_access_me_get |
My access: org standing, teams and enforcement | — | 200: MyAccess |
GET |
/api/v1/access/nodes/{node_id} |
node_access_api_v1_access_nodes__node_id__get |
Who can use a permission on this asset, and why | — | 200: NodeAccessExplained |
GET |
/api/v1/access/teams/{slug} |
team_access_api_v1_access_teams__slug__get |
Who can use a permission on this team's assets, and why | — | 200: TeamAccessExplained |
GET |
/api/v1/access/troubleshoot |
troubleshoot_api_v1_access_troubleshoot_get |
Why a person can or cannot do something | — | 200: TroubleshootOut |
Action Chains#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/action_chains/ |
list_chain_definitions_api_v1_action_chains__get |
List action chain definitions | — | 200: array of ActionChainDefinitionResponse |
POST |
/api/v1/action_chains/ |
create_chain_definition_api_v1_action_chains__post |
Create a new action chain definition | ActionChainDefinitionCreate | 201: ActionChainDefinitionResponse |
POST |
/api/v1/action_chains/from-rule |
execute_chain_from_rule_api_v1_action_chains_from_rule_post |
Create and execute a chain from rule-defined steps | RuleChainExecuteRequest | 202: RuleChainExecuteResponse |
GET |
/api/v1/action_chains/{chain_def_id} |
get_chain_definition_api_v1_action_chains__chain_def_id__get |
Get an action chain definition | — | 200: ActionChainDefinitionResponse |
PUT |
/api/v1/action_chains/{chain_def_id} |
update_chain_definition_api_v1_action_chains__chain_def_id__put |
Update an action chain definition | ActionChainDefinitionUpdate | 200: ActionChainDefinitionResponse |
DELETE |
/api/v1/action_chains/{chain_def_id} |
archive_chain_definition_api_v1_action_chains__chain_def_id__delete |
Archive an action chain definition | — | 200: ActionChainDefinitionResponse |
POST |
/api/v1/action_chains/{chain_def_id}/run |
execute_chain_api_v1_action_chains__chain_def_id__run_post |
Execute a chain | ChainExecuteRequest | 202: ChainRunResponse |
GET |
/api/v1/action_chains/{chain_def_id}/runs |
list_chain_runs_api_v1_action_chains__chain_def_id__runs_get |
List chain runs for a definition | — | 200: array of ChainRunResponse |
POST |
/api/v1/action_chains/{chain_def_id}/validate |
validate_chain_api_v1_action_chains__chain_def_id__validate_post |
Validate a chain spec without persisting | — | 200: any |
GET |
/api/v1/chain_runs/ |
list_chain_runs_by_rule_api_v1_chain_runs__get |
List chain runs for a scheduling rule | — | 200: array of ChainRunResponse |
GET |
/api/v1/chain_runs/run_count/period/{period} |
get_chain_run_count_for_period_api_v1_chain_runs_run_count_period__period__get |
Count chain runs launched by a rule over a calendar period | — | 200: object |
GET |
/api/v1/chain_runs/{chain_run_id} |
get_chain_run_api_v1_chain_runs__chain_run_id__get |
Get chain run with steps | — | 200: ChainRunDetailResponse |
POST |
/api/v1/chain_runs/{chain_run_id}/cancel |
cancel_chain_run_api_v1_chain_runs__chain_run_id__cancel_post |
Cancel a running chain | — | 200: ChainRunResponse |
POST |
/api/v1/chain_runs/{chain_run_id}/retry |
retry_chain_run_api_v1_chain_runs__chain_run_id__retry_post |
Retry the failed steps of a terminal chain run, in place | — | 200: ChainRunResponse |
GET |
/api/v1/chain_runs/{chain_run_id}/steps/{step_key}/attempts |
list_chain_step_attempts_api_v1_chain_runs__chain_run_id__steps__step_key__attempts_get |
List a chain step's attempts | — | 200: array of ChainStepAttemptResponse |
POST |
/api/v1/chain_runs/{chain_run_id}/steps/{step_key}/cancel |
cancel_chain_step_api_v1_chain_runs__chain_run_id__steps__step_key__cancel_post |
Cancel a single in-flight chain step (stops the whole run) | — | 200: ChainRunResponse |
POST |
/api/v1/chain_runs/{chain_run_id}/steps/{step_key}/retry |
retry_chain_step_api_v1_chain_runs__chain_run_id__steps__step_key__retry_post |
Retry one chain step, or resume the chain from it | ChainStepRetryRequest | 200: ChainRunResponse |
Activity#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/activity/bulk |
bulk_activity_lookup_api_v1_activity_bulk_post |
Bulk lookup of activity (last run / next fire / downstream impact) for a page of nodes | ActivityBulkRequest | 200: ActivityBulkResponse |
Admin#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/admin/extension-points |
list_extension_points_api_v1_admin_extension_points_get |
List every Nistor entry-point contribution (routers, ORM, DQ, …) | — | 200: object |
GET |
/api/v1/admin/plugins |
list_plugins_api_v1_admin_plugins_get |
List loaded executor plugins | — | 200: PluginsListResponse |
Alerts#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/alerts/channels |
list_channels_api_v1_alerts_channels_get |
List alert channels | — | 200: array of AlertChannel |
POST |
/api/v1/alerts/channels |
create_channel_api_v1_alerts_channels_post |
Create alert channel | AlertChannelCreate | 201: AlertChannel |
GET |
/api/v1/alerts/channels/summary |
channel_summary_api_v1_alerts_channels_summary_get |
What each channel receives, and what reached it | — | 200: AlertChannelSummaryResponse |
GET |
/api/v1/alerts/channels/{channel_id} |
get_channel_api_v1_alerts_channels__channel_id__get |
Get alert channel | — | 200: AlertChannel |
PUT |
/api/v1/alerts/channels/{channel_id} |
update_channel_api_v1_alerts_channels__channel_id__put |
Update alert channel | AlertChannelUpdate | 200: AlertChannel |
DELETE |
/api/v1/alerts/channels/{channel_id} |
delete_channel_api_v1_alerts_channels__channel_id__delete |
Delete alert channel | — | 200: any |
POST |
/api/v1/alerts/channels/{channel_id}/test |
test_channel_api_v1_alerts_channels__channel_id__test_post |
Test alert channel | — | 200: any |
POST |
/api/v1/alerts/check-incident-aging |
check_incident_aging_api_v1_alerts_check_incident_aging_post |
Check for aging incidents | — | 200: any |
GET |
/api/v1/alerts/delivery-defaults |
get_delivery_defaults_api_v1_alerts_delivery_defaults_get |
Platform defaults for alert delivery | — | 200: any |
POST |
/api/v1/alerts/dispatch |
dispatch_event_api_v1_alerts_dispatch_post |
Dispatch alert event | object |
200: any |
GET |
/api/v1/alerts/email-settings |
get_email_settings_api_v1_alerts_email_settings_get |
Get global email/SMTP settings | — | 200: any |
PUT |
/api/v1/alerts/email-settings |
update_email_settings_api_v1_alerts_email_settings_put |
Update global email/SMTP settings | EmailSettingsUpdate | 200: any |
POST |
/api/v1/alerts/email-settings/test |
test_email_settings_api_v1_alerts_email_settings_test_post |
Send a test email to verify SMTP settings | — | 200: any |
GET |
/api/v1/alerts/history |
list_history_api_v1_alerts_history_get |
List alert history | — | 200: array of AlertHistory |
GET |
/api/v1/alerts/policies |
list_policies_api_v1_alerts_policies_get |
List alert policies | — | 200: array of AlertPolicy |
POST |
/api/v1/alerts/policies |
create_policy_api_v1_alerts_policies_post |
Create alert policy | AlertPolicyCreate | 201: AlertPolicy |
GET |
/api/v1/alerts/policies/{policy_id} |
get_policy_api_v1_alerts_policies__policy_id__get |
Get alert policy | — | 200: AlertPolicy |
PUT |
/api/v1/alerts/policies/{policy_id} |
update_policy_api_v1_alerts_policies__policy_id__put |
Update alert policy | AlertPolicyUpdate | 200: AlertPolicy |
DELETE |
/api/v1/alerts/policies/{policy_id} |
delete_policy_api_v1_alerts_policies__policy_id__delete |
Delete alert policy | — | 200: any |
POST |
/api/v1/alerts/process-batched |
process_batched_api_v1_alerts_process_batched_post |
Process batched alert deliveries | — | 200: any |
POST |
/api/v1/alerts/process-digests |
process_digests_api_v1_alerts_process_digests_post |
Process digest alert deliveries | — | 200: any |
POST |
/api/v1/alerts/process-retries |
process_retries_api_v1_alerts_process_retries_post |
Retry failed alert sends now | — | 202: any |
POST |
/api/v1/alerts/retry/{history_id} |
retry_alert_api_v1_alerts_retry__history_id__post |
Retry failed alert | — | 200: any |
Artifact Registry Deployments#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/artifact-registry/images/{node_id}/deployments |
get_image_deployments_api_v1_artifact_registry_images__node_id__deployments_get |
Configured vs. serving digest, drift, and usage by digest of an image | — | 200: ImageDeploymentsResponse |
Artifact Registry Storage#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/artifact-registry/images/{node_id}/storage |
get_image_storage_api_v1_artifact_registry_images__node_id__storage_get |
Versions, logical size, share of the repository cost and history of an image | — | 200: ImageStorageResponse |
GET |
/api/v1/artifact-registry/repositories/{node_id}/storage |
get_repository_storage_api_v1_artifact_registry_repositories__node_id__storage_get |
Billed size, estimated monthly cost, 90-day history and per-image sizes of a repository | — | 200: RepositoryStorageResponse |
Assets#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/assets/ |
list_assets_api_v1_assets__get |
List assets in the core spine | — | 200: AssetPage |
GET |
/api/v1/assets/{asset_id} |
get_asset_api_v1_assets__asset_id__get |
Get one asset by id | — | 200: AssetOut |
GET |
/api/v1/assets/{asset_id}/observations |
list_asset_observations_api_v1_assets__asset_id__observations_get |
Latest observations recorded about one asset | — | 200: array of ObservationOut |
Backfill#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/backfill/{backfill_run_id} |
get_backfill_api_v1_backfill__backfill_run_id__get |
Get backfill run with steps | — | 200: BackfillRunDetailResponse |
POST |
/api/v1/backfill/{backfill_run_id}/cancel |
cancel_backfill_api_v1_backfill__backfill_run_id__cancel_post |
Cancel a running backfill | — | 200: BackfillRunResponse |
POST |
/api/v1/rules/{rule_id}/backfill |
create_backfill_api_v1_rules__rule_id__backfill_post |
Create backfill or preview (dry-run) | BackfillRequest | 202: any |
GET |
/api/v1/rules/{rule_id}/backfill/history |
get_backfill_history_api_v1_rules__rule_id__backfill_history_get |
List backfill runs for a rule | — | 200: array of BackfillRunResponse |
BigQuery Table Metrics#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/bq-tables/{project}/{dataset}/{table}/metrics |
get_bq_table_metrics_endpoint_api_v1_bq_tables__project___dataset___table__metrics_get |
All five metric time series for one BigQuery table | — | 200: BqTableMetricsResponse |
POST |
/api/v1/bq-tables/{project}/{dataset}/{table}/metrics/backfill |
backfill_bq_table_metrics_endpoint_api_v1_bq_tables__project___dataset___table__metrics_backfill_post |
Pull historical storage snapshots from INFORMATION_SCHEMA and upsert them | — | 200: BackfillResponse |
POST |
/api/v1/bq-tables/{project}/{dataset}/{table}/metrics/refresh |
refresh_bq_table_metrics_endpoint_api_v1_bq_tables__project___dataset___table__metrics_refresh_post |
Append a live storage point computed from INFORMATION_SCHEMA | — | 200: BqTableMetricsResponse |
Business Calendars#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/business_calendars/ |
list_business_calendars_api_v1_business_calendars__get |
List business calendars | — | 200: array of BusinessCalendarRead |
POST |
/api/v1/business_calendars/ |
create_business_calendar_api_v1_business_calendars__post |
Create business calendar | BusinessCalendarCreate | 201: BusinessCalendarRead |
GET |
/api/v1/business_calendars/by_name/{name} |
get_business_calendar_by_name_api_v1_business_calendars_by_name__name__get |
Get business calendar by name (for code-managed rules) | — | 200: BusinessCalendarRead |
GET |
/api/v1/business_calendars/countries |
list_countries_api_v1_business_calendars_countries_get |
List supported country codes (from the business-calendar provider) | — | 200: array of CountryOption |
GET |
/api/v1/business_calendars/{calendar_id} |
get_business_calendar_api_v1_business_calendars__calendar_id__get |
Get business calendar | — | 200: BusinessCalendarRead |
PUT |
/api/v1/business_calendars/{calendar_id} |
update_business_calendar_api_v1_business_calendars__calendar_id__put |
Update business calendar | BusinessCalendarUpdate | 200: BusinessCalendarRead |
DELETE |
/api/v1/business_calendars/{calendar_id} |
delete_business_calendar_api_v1_business_calendars__calendar_id__delete |
Delete business calendar (soft, blocked if in use) | — | 200: BusinessCalendarRead |
Capabilities#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/capabilities |
list_capabilities_api_v1_capabilities_get |
List declared capabilities + activation state | — | 200: array of CapabilityOut |
PATCH |
/api/v1/capabilities/{key} |
toggle_capability_api_v1_capabilities__key__patch |
Enable or disable a capability (admin) | CapabilityToggle | 200: CapabilityOut |
Catalog#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/bq-write-visibility/summary |
get_write_visibility_summary_api_v1_bq_write_visibility_summary_get |
BigQuery tables written according to GCP but with no Nistor write event | — | 200: WriteVisibilitySummaryResponse |
GET |
/api/v1/linked-datasets/watch-config |
get_watch_config_api_v1_linked_datasets_watch_config_get |
Get Watch Config | — | 200: LinkedWatchOverview |
PUT |
/api/v1/linked-datasets/watch-config |
put_watch_config_api_v1_linked_datasets_watch_config_put |
Put Watch Config | LinkedWatchConfigIn | 200: LinkedWatchOverview |
GET |
/api/v1/linked-datasets/watch-cost |
get_watch_cost_api_v1_linked_datasets_watch_cost_get |
Get Watch Cost | — | 200: CostEstimate |
GET |
/api/v1/resource-watches/ |
list_watches_api_v1_resource_watches__get |
List watched resources | — | 200: WatchListResponse |
POST |
/api/v1/resource-watches/claim |
claim_watches_api_v1_resource_watches_claim_post |
Lease the watches that are due for a probe | ClaimRequest | 200: ClaimResponse |
GET |
/api/v1/resource-watches/health |
get_poller_health_api_v1_resource_watches_health_get |
Freshness poller liveness | — | 200: PollerHealthResponse |
POST |
/api/v1/resource-watches/observations |
record_observations_api_v1_resource_watches_observations_post |
Report probe results and advance cursors | ObservationsRequest | 200: ObservationsResponse |
GET |
/api/v1/table-metadata-history/{node_id} |
get_table_metadata_history_api_v1_table_metadata_history__node_id__get |
Daily BigQuery metadata observations for one table | — | 200: TableMetadataHistoryResponse |
Cloud SQL Snapshots#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/cloud-sql/instances/{instance_node_id}/history |
get_instance_history_api_v1_cloud_sql_instances__instance_node_id__history_get |
Total instance storage over time | — | 200: CloudSqlInstanceHistoryResponse |
GET |
/api/v1/cloud-sql/instances/{instance_node_id}/tables |
list_instance_tables_api_v1_cloud_sql_instances__instance_node_id__tables_get |
Per-table storage for a Cloud SQL instance (latest snapshot) | — | 200: CloudSqlInstanceTablesResponse |
GET |
/api/v1/cloud-sql/instances/{instance_node_id}/tables/{database_name}/{schema_name}/{table_name}/history |
get_table_history_api_v1_cloud_sql_instances__instance_node_id__tables__database_name___schema_name___table_name__history_get |
Per-table storage time series | — | 200: CloudSqlTableHistoryResponse |
POST |
/api/v1/cloud-sql/snapshots/ingest |
ingest_snapshot_api_v1_cloud_sql_snapshots_ingest_post |
Ingest pre-collected snapshot rows (Cloud Scheduler only) | CloudSqlSnapshotIngestRequest | 200: CloudSqlSnapshotIngestResponse |
Collaboration#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
DELETE |
/api/v1/collab/comments/{comment_id} |
delete_comment_api_v1_collab_comments__comment_id__delete |
Delete a comment | — | 204 |
PATCH |
/api/v1/collab/comments/{comment_id} |
edit_comment_api_v1_collab_comments__comment_id__patch |
Edit a comment | CollabCommentUpdate | 200: CollabCommentResponse |
POST |
/api/v1/collab/comments/{comment_id}/reopen |
reopen_comment_thread_api_v1_collab_comments__comment_id__reopen_post |
Reopen a resolved discussion thread | — | 200: CollabCommentResponse |
POST |
/api/v1/collab/comments/{comment_id}/resolve |
resolve_comment_thread_api_v1_collab_comments__comment_id__resolve_post |
Mark a discussion thread as resolved | — | 200: CollabCommentResponse |
GET |
/api/v1/collab/discussions |
list_discussions_api_v1_collab_discussions_get |
List discussion threads a user is involved in | — | 200: DiscussionThreadList |
GET |
/api/v1/collab/my-waiting-discussions |
my_waiting_discussions_api_v1_collab_my_waiting_discussions_get |
Discussions awaiting the current user's reply (home-page card) | — | 200: WaitingDiscussionsResponse |
GET |
/api/v1/collab/{entity_type}/{entity_id}/comments |
list_comments_api_v1_collab__entity_type___entity_id__comments_get |
List comments on an entity | — | 200: array of CollabCommentResponse |
POST |
/api/v1/collab/{entity_type}/{entity_id}/comments |
add_comment_api_v1_collab__entity_type___entity_id__comments_post |
Add a comment to an entity | CollabCommentCreate | 201: CollabCommentResponse |
Column Lineage#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/lineage/column_field_group/{node_id} |
get_column_field_group_api_v1_lineage_column_field_group__node_id__get |
Get same-field sibling columns for a node column | — | 200: ColumnFieldGroupResponse |
GET |
/api/v1/lineage/columns |
get_column_derivations_api_v1_lineage_columns_get |
Get all column derivations for a node | — | 200: ColumnDerivationsResponse |
GET |
/api/v1/lineage/erd/{node_id} |
get_erd_api_v1_lineage_erd__node_id__get |
Get the ERD (schema + lineage) bundle for a table and its 1-hop neighbours | — | 200: ErdResponse |
Compiler Proxy#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/compiler-proxy/compile |
compile__api_v1_compiler_proxy_compile_post |
Trigger a test compilation (proxied) | — | 200: any |
POST |
/api/v1/compiler-proxy/test/gcp |
test_gcp_api_v1_compiler_proxy_test_gcp_post |
Test a GCP connection (the connection's own test) | — | 200: object |
GET |
/api/v1/compiler-proxy/test/gcp/dataform-repository |
test_dataform_repository_api_v1_compiler_proxy_test_gcp_dataform_repository_get |
Gone: a Dataform repository is not probed on its own any more | — | 200: object |
GET |
/api/v1/compiler-proxy/test/gcp/project/{project_id} |
test_gcp_project_api_v1_compiler_proxy_test_gcp_project__project_id__get |
Gone: a GCP project is not probed on its own any more | — | 200: object |
POST |
/api/v1/compiler-proxy/test/microstrategy |
test_microstrategy_api_v1_compiler_proxy_test_microstrategy_post |
Test a MicroStrategy connection (the connection's own test) | — | 200: object |
Connections#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/connections |
list_connections_api_v1_connections_get |
List Connections | — | 200: array of ConnectionResponse |
POST |
/api/v1/connections |
create_connection_api_v1_connections_post |
Create Connection | ConnectionCreate | 201: ConnectionResponse |
GET |
/api/v1/connections/credentials |
list_credentials_api_v1_connections_credentials_get |
List Credentials | — | 200: array of ConnectionCredentialsResponse |
GET |
/api/v1/connections/default/credentials |
get_default_credentials_api_v1_connections_default_credentials_get |
Get Default Credentials | — | 200: ConnectionCredentialsResponse |
GET |
/api/v1/connections/resolve/credentials |
resolve_credentials_api_v1_connections_resolve_credentials_get |
Resolve Credentials | — | 200: ConnectionCredentialsResponse |
POST |
/api/v1/connections/run-scheduled-tests |
run_scheduled_tests_endpoint_api_v1_connections_run_scheduled_tests_post |
Run Scheduled Tests Endpoint | — | 202: any |
GET |
/api/v1/connections/tool-types |
list_tool_types_endpoint_api_v1_connections_tool_types_get |
List Tool Types Endpoint | — | 200: array of ToolTypeDescriptor |
GET |
/api/v1/connections/{connection_id} |
get_connection_api_v1_connections__connection_id__get |
Get Connection | — | 200: ConnectionResponse |
PUT |
/api/v1/connections/{connection_id} |
update_connection_api_v1_connections__connection_id__put |
Update Connection | ConnectionUpdate | 200: ConnectionResponse |
DELETE |
/api/v1/connections/{connection_id} |
delete_connection_api_v1_connections__connection_id__delete |
Delete Connection | — | 204 |
GET |
/api/v1/connections/{connection_id}/credentials |
get_credentials_api_v1_connections__connection_id__credentials_get |
Get Credentials | — | 200: ConnectionCredentialsResponse |
GET |
/api/v1/connections/{connection_id}/history |
get_connection_history_api_v1_connections__connection_id__history_get |
Get Connection History | — | 200: array of ConnectionTestHistoryEntry |
POST |
/api/v1/connections/{connection_id}/secrets/rotate |
rotate_connection_secret_api_v1_connections__connection_id__secrets_rotate_post |
Rotate Connection Secret | ConnectionSecretRotateRequest | 200: ConnectionSecretRotateResponse |
POST |
/api/v1/connections/{connection_id}/test |
test_connection_endpoint_api_v1_connections__connection_id__test_post |
Test Connection Endpoint | — | 200: ConnectionTestResponse |
GET |
/api/v1/connections/{connection_id}/usage |
get_connection_usage_api_v1_connections__connection_id__usage_get |
Get Connection Usage | — | 200: array of ConnectionUsageEntry |
Dashboard Taxonomy#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/dashboard-taxonomy |
get_dashboard_taxonomy_api_v1_dashboard_taxonomy_get |
Get the Dashboards curated-view taxonomy | — | 200: DashboardTaxonomyConfig |
PUT |
/api/v1/dashboard-taxonomy |
update_dashboard_taxonomy_api_v1_dashboard_taxonomy_put |
Replace the Dashboards curated-view taxonomy | DashboardTaxonomyConfig | 200: DashboardTaxonomyConfig |
Data Contracts#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/data-contracts |
list_contracts_api_v1_data_contracts_get |
List data contracts | — | 200: array of DataContractOut |
POST |
/api/v1/data-contracts |
create_contract_api_v1_data_contracts_post |
Create a data contract | DataContractCreate | 201: DataContractOut |
GET |
/api/v1/data-contracts/{contract_id} |
get_contract_api_v1_data_contracts__contract_id__get |
Get a data contract | — | 200: DataContractOut |
PUT |
/api/v1/data-contracts/{contract_id} |
update_contract_api_v1_data_contracts__contract_id__put |
Update a data contract | DataContractUpdate | 200: DataContractOut |
DELETE |
/api/v1/data-contracts/{contract_id} |
delete_contract_api_v1_data_contracts__contract_id__delete |
Deactivate a data contract | — | 200: object |
POST |
/api/v1/data-contracts/{contract_id}/assets/{asset_id} |
attach_asset_api_v1_data_contracts__contract_id__assets__asset_id__post |
Attach an asset | — | 200: DataContractOut |
DELETE |
/api/v1/data-contracts/{contract_id}/assets/{asset_id} |
detach_asset_api_v1_data_contracts__contract_id__assets__asset_id__delete |
Detach an asset | — | 200: DataContractOut |
GET |
/api/v1/data-contracts/{contract_id}/breaches |
get_contract_breaches_api_v1_data_contracts__contract_id__breaches_get |
Contract breach history | — | 200: array of DataContractBreachOut |
GET |
/api/v1/data-contracts/{contract_id}/compliance |
get_contract_compliance_api_v1_data_contracts__contract_id__compliance_get |
Contract compliance (read-only) | — | 200: ContractComplianceOut |
GET |
/api/v1/data-contracts/{contract_id}/versions |
get_contract_versions_api_v1_data_contracts__contract_id__versions_get |
Contract spec version history | — | 200: ContractVersionsOut |
Data Retention#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/data-retention |
list_retention_targets_api_v1_data_retention_get |
List retention targets | — | 200: array of RetentionTargetOut |
GET |
/api/v1/data-retention/estimates |
list_retention_estimates_api_v1_data_retention_estimates_get |
Age distribution of every retention target, for the savings simulator | — | 200: array of RetentionEstimateOut |
GET |
/api/v1/data-retention/history |
list_retention_history_api_v1_data_retention_history_get |
Each retention target's size over time (nightly snapshots) | — | 200: array of RetentionHistoryOut |
PUT |
/api/v1/data-retention/{key} |
update_retention_policy_api_v1_data_retention__key__put |
Change a retention window or switch | RetentionPolicyUpdate | 200: RetentionTargetOut |
POST |
/api/v1/data-retention/{key}/preview |
preview_retention_api_v1_data_retention__key__preview_post |
Count rows a window would delete | RetentionPreviewRequest | 200: RetentionPreviewOut |
Data Trust#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/data-trust/activity |
get_activity_feed_api_v1_data_trust_activity_get |
Merged activity feed (state changes + alerts + incidents + audit) | — | 200: ActivityFeedResponse |
GET |
/api/v1/data-trust/alerts |
list_alerts_api_v1_data_trust_alerts_get |
Unified alerts (open incidents + recent failed runs + stale assets) | — | 200: any |
GET |
/api/v1/data-trust/assets |
list_assets_api_v1_data_trust_assets_get |
List monitored assets | — | 200: array of MonitoredAsset |
POST |
/api/v1/data-trust/assets |
create_asset_api_v1_data_trust_assets_post |
Add monitored asset | MonitoredAssetCreate | 201: MonitoredAsset |
GET |
/api/v1/data-trust/assets/by-node/{node_id}/slo-budget |
get_asset_slo_budget_api_v1_data_trust_assets_by_node__node_id__slo_budget_get |
Consolidated SLO + error-budget for the NodeDetail card, keyed by node_id | — | 200: AssetSloBudget |
GET |
/api/v1/data-trust/assets/by-node/{node_id}/trust |
get_asset_trust_by_node_api_v1_data_trust_assets_by_node__node_id__trust_get |
Per-asset Trust Score + DQ breakdown, keyed by catalog node_id | — | 200: AssetTrustDetail |
GET |
/api/v1/data-trust/assets/{asset_id} |
get_asset_api_v1_data_trust_assets__asset_id__get |
Get monitored asset | — | 200: MonitoredAsset |
PUT |
/api/v1/data-trust/assets/{asset_id} |
update_asset_api_v1_data_trust_assets__asset_id__put |
Update monitored asset | MonitoredAssetUpdate | 200: MonitoredAsset |
DELETE |
/api/v1/data-trust/assets/{asset_id} |
delete_asset_api_v1_data_trust_assets__asset_id__delete |
Deactivate monitored asset | — | 200: any |
GET |
/api/v1/data-trust/assets/{asset_id}/burn |
get_asset_burn_api_v1_data_trust_assets__asset_id__burn_get |
Per-asset error-budget burn over rolling windows | — | 200: FreshnessBurnPayload |
GET |
/api/v1/data-trust/assets/{asset_id}/graph |
get_asset_graph_api_v1_data_trust_assets__asset_id__graph_get |
Lineage graph for a monitored asset with health-status overlay | — | 200: AssetGraphPayload |
GET |
/api/v1/data-trust/assets/{asset_id}/slo |
get_asset_slo_api_v1_data_trust_assets__asset_id__slo_get |
Get the per-asset SLO config (effective + whether overridden) | — | 200: AssetSLOResponse |
PUT |
/api/v1/data-trust/assets/{asset_id}/slo |
update_asset_slo_api_v1_data_trust_assets__asset_id__slo_put |
Upsert per-asset SLO config (Pydantic-validated) | AssetSLOConfig-Input | 200: AssetSLOResponse |
GET |
/api/v1/data-trust/digest/preview |
preview_digest_api_v1_data_trust_digest_preview_get |
Preview digest content | — | 200: any |
POST |
/api/v1/data-trust/digest/run-now |
run_weekly_digest_api_v1_data_trust_digest_run_now_post |
Send the weekly team digest (Cloud Scheduler cron) | — | 200: any |
POST |
/api/v1/data-trust/digest/send |
send_digest_api_v1_data_trust_digest_send_post |
Send digest now | — | 200: any |
GET |
/api/v1/data-trust/favorite-groups |
list_favorite_groups_api_v1_data_trust_favorite_groups_get |
List favorite groups + membership for an environment | — | 200: FavoriteGroupsState |
POST |
/api/v1/data-trust/favorite-groups |
create_favorite_group_api_v1_data_trust_favorite_groups_post |
Create a favorite group | FavoriteGroupCreate | 201: FavoriteGroupOut |
PUT |
/api/v1/data-trust/favorite-groups/membership |
assign_favorite_group_membership_api_v1_data_trust_favorite_groups_membership_put |
Assign a node to a favorite group (or ungroup it) | FavoriteGroupAssign | 200: any |
PUT |
/api/v1/data-trust/favorite-groups/{group_id} |
update_favorite_group_api_v1_data_trust_favorite_groups__group_id__put |
Update a favorite group | FavoriteGroupUpdate | 200: FavoriteGroupOut |
DELETE |
/api/v1/data-trust/favorite-groups/{group_id} |
delete_favorite_group_api_v1_data_trust_favorite_groups__group_id__delete |
Delete a favorite group (members fall back to ungrouped) | — | 200: any |
GET |
/api/v1/data-trust/freshness-forecasts |
list_freshness_forecasts_api_v1_data_trust_freshness_forecasts_get |
Latest predictive-freshness forecast per asset (Data Weather) | — | 200: FreshnessForecastSummary |
GET |
/api/v1/data-trust/freshness-forecasts/node/{node_id} |
get_node_freshness_forecasts_api_v1_data_trust_freshness_forecasts_node__node_id__get |
Predictive-freshness forecast history for one node | — | 200: array of FreshnessForecastOut |
GET |
/api/v1/data-trust/groups |
list_groups_api_v1_data_trust_groups_get |
List health groups | — | 200: array of HealthGroupOut |
POST |
/api/v1/data-trust/groups |
create_group_api_v1_data_trust_groups_post |
Create health group | HealthGroupCreate | 201: HealthGroupOut |
GET |
/api/v1/data-trust/groups/{group_id} |
get_group_api_v1_data_trust_groups__group_id__get |
Get health group | — | 200: HealthGroupOut |
PUT |
/api/v1/data-trust/groups/{group_id} |
update_group_api_v1_data_trust_groups__group_id__put |
Update health group | HealthGroupUpdate | 200: HealthGroupOut |
DELETE |
/api/v1/data-trust/groups/{group_id} |
delete_group_api_v1_data_trust_groups__group_id__delete |
Delete health group | — | 200: any |
GET |
/api/v1/data-trust/groups/{group_id}/alert-policies |
list_group_alert_policies_api_v1_data_trust_groups__group_id__alert_policies_get |
List alert policies for a health group | — | 200: any |
POST |
/api/v1/data-trust/groups/{group_id}/alert-policies |
create_group_alert_policy_api_v1_data_trust_groups__group_id__alert_policies_post |
Create alert policy for a health group | object |
201: any |
DELETE |
/api/v1/data-trust/groups/{group_id}/alert-policies/{policy_id} |
delete_group_alert_policy_api_v1_data_trust_groups__group_id__alert_policies__policy_id__delete |
Delete alert policy | — | 200: any |
POST |
/api/v1/data-trust/groups/{group_id}/assets/{asset_id} |
add_asset_to_group_api_v1_data_trust_groups__group_id__assets__asset_id__post |
Add asset to group | — | 200: any |
DELETE |
/api/v1/data-trust/groups/{group_id}/assets/{asset_id} |
remove_asset_from_group_api_v1_data_trust_groups__group_id__assets__asset_id__delete |
Remove asset from group | — | 200: any |
PUT |
/api/v1/data-trust/groups/{group_id}/assets/{asset_id}/scope |
set_asset_scope_api_v1_data_trust_groups__group_id__assets__asset_id__scope_put |
Set monitoring scope for an asset-in-group | AssetScopeUpdate | 200: any |
GET |
/api/v1/data-trust/health-heatmap |
get_health_heatmap_api_v1_data_trust_health_heatmap_get |
Daily health ratio for the last 90 days (platform-wide) | — | 200: array of HealthHeatmapCell |
GET |
/api/v1/data-trust/health-trend |
get_health_trend_api_v1_data_trust_health_trend_get |
Daily bucketed health status counts | — | 200: array of HealthTrendBucket |
GET |
/api/v1/data-trust/monitors |
list_monitors_api_v1_data_trust_monitors_get |
List all monitors across groups | — | 200: any |
POST |
/api/v1/data-trust/monitors |
create_monitor_api_v1_data_trust_monitors_post |
Create a monitor (stored on a group) | object |
200: any |
POST |
/api/v1/data-trust/monitors/preview |
preview_monitor_api_v1_data_trust_monitors_preview_post |
Dry-run a monitor spec and return counterfactual fires | object |
200: any |
GET |
/api/v1/data-trust/overview |
get_overview_api_v1_data_trust_overview_get |
Get group-based overview | — | 200: DataTrustOverview |
GET |
/api/v1/data-trust/quality-summary |
get_quality_summary_api_v1_data_trust_quality_summary_get |
Batch data-quality rollup for a workspace | — | 200: QualitySummary |
GET |
/api/v1/data-trust/runs-timeline |
runs_timeline_api_v1_data_trust_runs_timeline_get |
Action runs on a 24h strip | — | 200: any |
GET |
/api/v1/data-trust/score-history |
get_score_history_api_v1_data_trust_score_history_get |
Daily platform Trust Score for the last N days | — | 200: array of TrustScoreHistoryBucket |
GET |
/api/v1/data-trust/status |
get_status_api_v1_data_trust_status_get |
Get data trust status (flat) | — | 200: DataTrustStatus |
GET |
/api/v1/data-trust/status/{asset_id}/history |
get_asset_history_api_v1_data_trust_status__asset_id__history_get |
Get health history for an asset | — | 200: array of AssetHealthSnapshotOut |
GET |
/api/v1/data-trust/trust-score |
get_trust_score_api_v1_data_trust_trust_score_get |
Compute the canonical Trust Score for a given scope | — | 200: TrustScorePayload |
GET |
/api/v1/data-trust/watchlist |
get_watchlist_api_v1_data_trust_watchlist_get |
Return the current user's watchlist, enriched with latest health | — | 200: array of AssetStatusItem |
Data Trust Status Page#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/data-trust/status-page/domain/{domain_term_id} |
get_domain_status_page_api_v1_data_trust_status_page_domain__domain_term_id__get |
Trust Status Page for a business Domain | — | 200: StatusPagePayload |
GET |
/api/v1/data-trust/status-page/health-group/{group_id} |
get_health_group_status_page_api_v1_data_trust_status_page_health_group__group_id__get |
Trust Status Page for a Health Group | — | 200: StatusPagePayload |
GET |
/api/v1/data-trust/status-page/health-groups |
list_health_group_status_pages_api_v1_data_trust_status_page_health_groups_get |
List Health Group status pages with their current status | — | 200: array of StatusPageSubjectSummary |
Dataform External Sync#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/dataform/sync-external-runs/health |
sync_health_api_v1_dataform_sync_external_runs_health_get |
Health snapshot of the external-Dataform-invocation sync | — | 200: object |
Dataplex#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/dataplex/health |
get_health_api_v1_dataplex_health_get |
Get Health | — | 200: DataplexHealthResponse |
GET |
/api/v1/dataplex/rules/by-node/{node_id} |
get_node_bundle_api_v1_dataplex_rules_by_node__node_id__get |
Get Node Bundle | — | 200: DataplexNodeBundleResponse |
Deployments#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/deployments/bindings |
list_bindings_api_v1_deployments_bindings_get |
List Bindings | — | 200: array of TerraformStateBindingResponse |
POST |
/api/v1/deployments/bindings |
create_binding_api_v1_deployments_bindings_post |
Create Binding | TerraformStateBindingCreate | 201: TerraformStateBindingResponse |
GET |
/api/v1/deployments/bindings/{binding_id} |
get_binding_api_v1_deployments_bindings__binding_id__get |
Get Binding | — | 200: TerraformStateBindingResponse |
PUT |
/api/v1/deployments/bindings/{binding_id} |
update_binding_api_v1_deployments_bindings__binding_id__put |
Update Binding | TerraformStateBindingUpdate | 200: TerraformStateBindingResponse |
DELETE |
/api/v1/deployments/bindings/{binding_id} |
delete_binding_api_v1_deployments_bindings__binding_id__delete |
Delete Binding | — | 204 |
GET |
/api/v1/deployments/nodes/{node_id}/sources |
get_node_sources_api_v1_deployments_nodes__node_id__sources_get |
Get Node Sources | — | 200: NodeDeploymentSourcesOut |
GET |
/api/v1/deployments/records |
list_deployment_records_api_v1_deployments_records_get |
List Deployment Records | — | 200: array of DeploymentRecordOut |
POST |
/api/v1/deployments/reports |
post_deployment_report_api_v1_deployments_reports_post |
Post Deployment Report | — | 200: DeploymentReportResponse |
GET |
/api/v1/deployments/reports/latest |
list_latest_reports_api_v1_deployments_reports_latest_get |
List Latest Reports | — | 200: array of LatestReportOut |
GET |
/api/v1/deployments/repos |
list_deployment_repos_api_v1_deployments_repos_get |
List Deployment Repos | — | 200: array of DeploymentRepoOut |
GET |
/api/v1/deployments/repos/config |
get_repo_config_api_v1_deployments_repos_config_get |
Get Repo Config | — | 200: RepoAsCodeOut |
GET |
/api/v1/deployments/repos/detail |
get_deployment_repo_api_v1_deployments_repos_detail_get |
Get Deployment Repo | — | 200: DeploymentRepoOut |
GET |
/api/v1/deployments/repos/history |
get_repo_history_api_v1_deployments_repos_history_get |
Get Repo History | — | 200: array of RepoHistoryItemOut |
GET |
/api/v1/deployments/repos/report-resources |
list_repo_report_resources_api_v1_deployments_repos_report_resources_get |
List Repo Report Resources | — | 200: RepoReportResourcesPage |
GET |
/api/v1/deployments/repos/resources |
list_repo_resources_api_v1_deployments_repos_resources_get |
List Repo Resources | — | 200: RepoResourcesPage |
GET |
/api/v1/deployments/source-repos |
list_source_repos_api_v1_deployments_source_repos_get |
List Source Repos | — | 200: any |
Edge Runners#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
PUT |
/api/v1/runner/connections/{connection_id}/runner |
set_connection_runner_api_v1_runner_connections__connection_id__runner_put |
Name the edge runner a connection's runs are handed to (null: this deployment runs them) | ConnectionRunner | 200: object |
POST |
/api/v1/runner/leases |
claim_leases_api_v1_runner_leases_post |
Claim dispatched runs of this runner's executor types (runner-authenticated) | LeaseClaimRequest | 200: array of object |
POST |
/api/v1/runner/leases/{lease_id}/complete |
complete_lease_api_v1_runner_leases__lease_id__complete_post |
Report a leased run's outcome (runner-authenticated; refused once the lease is completed) | LeaseCompletion | 200: object |
POST |
/api/v1/runner/leases/{lease_id}/heartbeat |
heartbeat_lease_api_v1_runner_leases__lease_id__heartbeat_post |
Extend a live lease by 60 s (runner-authenticated) | — | 200: object |
GET |
/api/v1/runner/runners |
list_runners_api_v1_runner_runners_get |
List the edge runners | — | 200: array of RunnerOut |
POST |
/api/v1/runner/runners |
register_runner_api_v1_runner_runners_post |
Register an edge runner (its public key and executor types) | RunnerRegistration | 201: RunnerOut |
POST |
/api/v1/runner/runners/{runner_id}/revoke |
revoke_runner_api_v1_runner_runners__runner_id__revoke_post |
Revoke an edge runner: its assertions are refused from now on | — | 200: RunnerOut |
Execution Topology#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/execution-topology/activity/history |
get_activity_history_api_v1_execution_topology_activity_history_get |
Recent BQ query-activity buckets (read/write split) | — | 200: array of ActivityBucketOut |
POST |
/api/v1/execution-topology/internal/activity-broadcast |
activity_broadcast_api_v1_execution_topology_internal_activity_broadcast_post |
Persist + broadcast BQ activity buckets (scheduler -> backend) | ActivityBroadcastRequest | 202: object |
POST |
/api/v1/execution-topology/internal/slot-broadcast |
slot_broadcast_api_v1_execution_topology_internal_slot_broadcast_post |
Persist + broadcast slot snapshots (scheduler -> backend) | SlotBroadcastRequest | 202: object |
GET |
/api/v1/execution-topology/slot/history |
get_slot_history_api_v1_execution_topology_slot_history_get |
Recent BQ slot snapshots | — | 200: array of SlotSnapshotOut |
Extension Tokens#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/auth/extension-tokens/exchange |
exchange_extension_token_api_v1_auth_extension_tokens_exchange_post |
Exchange a one-time code for the extension JWT | ExtensionTokenExchangeRequest | 200: ExtensionTokenResponse |
POST |
/api/v1/auth/extension-tokens/redeem |
redeem_extension_token_api_v1_auth_extension_tokens_redeem_post |
Issue a one-time exchange code for the IAP-authenticated user | — | 200: ExtensionTokenRedeemResponse |
Favorites#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/favorites |
list_my_favorites_api_v1_favorites_get |
List favorites | — | 200: array of NodeFavoriteResponse |
POST |
/api/v1/favorites |
favorite_node_api_v1_favorites_post |
Favorite a node | NodeFavoriteCreate | 201: NodeFavoriteResponse |
GET |
/api/v1/favorites/check/{node_id} |
check_favorite_api_v1_favorites_check__node_id__get |
Check if I have favorited a node | — | 200: NodeFavoriteCheck |
DELETE |
/api/v1/favorites/{node_id} |
unfavorite_node_api_v1_favorites__node_id__delete |
Unfavorite a node | — | 204 |
Flow Timing#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/flow-timing/breaches/{node_id} |
list_freshness_breaches_api_v1_flow_timing_breaches__node_id__get |
List freshness SLA breach observations for a node | — | 200: object |
GET |
/api/v1/flow-timing/history/{root_node_id} |
get_flow_history_api_v1_flow_timing_history__root_node_id__get |
30-day wall-clock history for a flow (lazy-loaded by the FE) | — | 200: object |
POST |
/api/v1/flow-timing/rollup/edge_wait_history |
trigger_edge_wait_rollup_api_v1_flow_timing_rollup_edge_wait_history_post |
Trigger edge-wait-history rollup for a specific day (admin/debug) | — | 200: object |
GET |
/api/v1/flow-timing/upstream-breaches/{node_id} |
list_upstream_freshness_breaches_api_v1_flow_timing_upstream_breaches__node_id__get |
Open freshness breaches on a node's direct upstream assets | — | 200: object |
GET |
/api/v1/flow-timing/{root_node_id} |
get_flow_timing_api_v1_flow_timing__root_node_id__get |
Get flow timing (E2E latency, critical path, bottleneck) for a node | — | 200: object |
GitOps#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/gitops/connections |
list_connections_api_v1_gitops_connections_get |
List Connections | — | 200: array of GitOpsConnectionResponse |
POST |
/api/v1/gitops/connections |
create_connection_api_v1_gitops_connections_post |
Create Connection | GitOpsConnectionCreate | 201: GitOpsConnectionResponse |
GET |
/api/v1/gitops/connections/{connection_id} |
get_connection_api_v1_gitops_connections__connection_id__get |
Get Connection | — | 200: GitOpsConnectionResponse |
PUT |
/api/v1/gitops/connections/{connection_id} |
update_connection_api_v1_gitops_connections__connection_id__put |
Update Connection | GitOpsConnectionUpdate | 200: GitOpsConnectionResponse |
DELETE |
/api/v1/gitops/connections/{connection_id} |
delete_connection_api_v1_gitops_connections__connection_id__delete |
Delete Connection | — | 204 |
GET |
/api/v1/gitops/connections/{connection_id}/history |
list_sync_history_api_v1_gitops_connections__connection_id__history_get |
List Sync History | — | 200: array of GitOpsSyncEventResponse |
POST |
/api/v1/gitops/connections/{connection_id}/sync-now |
trigger_sync_now_api_v1_gitops_connections__connection_id__sync_now_post |
Trigger Sync Now | — | 202: any |
POST |
/api/v1/gitops/connections/{connection_id}/test |
probe_connection_api_v1_gitops_connections__connection_id__test_post |
Probe Connection | — | 200: GitOpsConnectionTestResponse |
GET |
/api/v1/gitops/features |
gitops_features_api_v1_gitops_features_get |
Gitops Features | — | 200: GitOpsFeaturesResponse |
POST |
/api/v1/gitops/sync-events |
report_sync_event_api_v1_gitops_sync_events_post |
Report Sync Event | GitOpsSyncEventCreate | 201: GitOpsSyncEventResponse |
GET |
/api/v1/gitops/sync-events/latest |
latest_sync_events_api_v1_gitops_sync_events_latest_get |
Latest Sync Events | — | 200: LatestSyncEventsResponse |
GitOps MR Preview#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/gitops/mr-preview |
mr_preview_api_v1_gitops_mr_preview_post |
Dry-run the MR impact analysis against a real MR without posting | MRPreviewRequest | 200: MRPreviewResponse |
Google Workspace#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/workspace-events/internal/renew-subscriptions |
renew_subscriptions_api_v1_workspace_events_internal_renew_subscriptions_post |
Create / renew Workspace Events subscriptions (Cloud Scheduler → backend) | — | 202: object |
GET |
/api/v1/workspace-events/status |
workspace_status_api_v1_workspace_events_status_get |
Google Workspace ingestion configuration status | — | 200: object |
Graph Deltas#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/graph-deltas/ |
create_graph_delta_api_v1_graph_deltas__post |
Append a graph delta | GraphDeltaCreate | 200: GraphDeltaCreated |
Impact Analysis#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/dashboard/impact-summary |
get_dashboard_impact_summary_api_v1_dashboard_impact_summary_get |
Aggregated impact metrics for the operations dashboard | — | 200: DashboardImpactSummary |
GET |
/api/v1/nodes/{node_id}/impact |
get_node_impact_api_v1_nodes__node_id__impact_get |
Analyze downstream node impact | — | 200: ImpactAnalysisResponse |
GET |
/api/v1/rules/{rule_id}/impact |
get_rule_impact_api_v1_rules__rule_id__impact_get |
Analyze blast radius for a scheduling rule | — | 200: RuleImpactAnalysisResponse |
Incident Suppression Rules#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/incident-suppression-rules/ |
list_rules_api_v1_incident_suppression_rules__get |
List suppression rules | — | 200: array of IncidentSuppressionRule |
POST |
/api/v1/incident-suppression-rules/ |
create_rule_api_v1_incident_suppression_rules__post |
Create or reactivate a suppression rule | IncidentSuppressionRuleCreate | 201: IncidentSuppressionRule |
GET |
/api/v1/incident-suppression-rules/{rule_id} |
get_rule_api_v1_incident_suppression_rules__rule_id__get |
Get suppression rule | — | 200: IncidentSuppressionRule |
PUT |
/api/v1/incident-suppression-rules/{rule_id} |
update_rule_api_v1_incident_suppression_rules__rule_id__put |
Update suppression rule reason | IncidentSuppressionRuleUpdate | 200: IncidentSuppressionRule |
DELETE |
/api/v1/incident-suppression-rules/{rule_id} |
delete_rule_api_v1_incident_suppression_rules__rule_id__delete |
Delete suppression rule (admin only) | — | 204 |
POST |
/api/v1/incident-suppression-rules/{rule_id}/deactivate |
deactivate_rule_api_v1_incident_suppression_rules__rule_id__deactivate_post |
Deactivate suppression rule | — | 200: IncidentSuppressionRule |
POST |
/api/v1/incident-suppression-rules/{rule_id}/reactivate |
reactivate_rule_api_v1_incident_suppression_rules__rule_id__reactivate_post |
Reactivate suppression rule | — | 200: IncidentSuppressionRule |
Integration Status#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/integrations/status |
get_integration_status_api_v1_integrations_status_get |
External integrations that are currently degraded or down | — | 200: IntegrationStatusResponse |
Maintenance Windows#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/maintenance_windows/ |
list_windows_api_v1_maintenance_windows__get |
List maintenance windows | — | 200: array of MaintenanceWindowResponse |
POST |
/api/v1/maintenance_windows/ |
create_window_api_v1_maintenance_windows__post |
Create a maintenance window | MaintenanceWindowCreate | 201: MaintenanceWindowResponse |
GET |
/api/v1/maintenance_windows/check |
check_window_api_v1_maintenance_windows_check_get |
Gate check: is there an active maintenance window for this rule/node? | — | 200: any |
GET |
/api/v1/maintenance_windows/{window_id} |
get_window_api_v1_maintenance_windows__window_id__get |
Get a maintenance window | — | 200: MaintenanceWindowResponse |
PUT |
/api/v1/maintenance_windows/{window_id} |
update_window_api_v1_maintenance_windows__window_id__put |
Update a maintenance window | MaintenanceWindowUpdate | 200: MaintenanceWindowResponse |
DELETE |
/api/v1/maintenance_windows/{window_id} |
cancel_window_api_v1_maintenance_windows__window_id__delete |
Cancel a maintenance window | — | 200: any |
GET |
/api/v1/maintenance_windows/{window_id}/affected |
get_affected_api_v1_maintenance_windows__window_id__affected_get |
Preview rules affected by this window | — | 200: any |
MicroStrategy External Runs#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/microstrategy/poll-external-runs/health |
poll_health_api_v1_microstrategy_poll_external_runs_health_get |
Snapshot of recently-observed external MicroStrategy runs | — | 200: object |
MSTR Activity#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/mstr-activity/history |
get_mstr_activity_history_api_v1_mstr_activity_history_get |
Recent MSTR activity snapshots | — | 200: array of MstrActivityOut |
POST |
/api/v1/mstr-activity/internal/mstr-activity-broadcast |
mstr_activity_broadcast_api_v1_mstr_activity_internal_mstr_activity_broadcast_post |
Persist + broadcast MSTR activity snapshots (scheduler -> backend) | MstrActivityBroadcastRequest | 202: object |
MSTR Dossier#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/mstr-dossier/composition/{node_id} |
get_dossier_composition_api_v1_mstr_dossier_composition__node_id__get |
MicroStrategy dossier composition (request-scoped) | — | 200: DossierComposition |
GET |
/api/v1/mstr-dossier/cubes/{node_id}/dq-targets |
get_cube_dq_targets_api_v1_mstr_dossier_cubes__node_id__dq_targets_get |
MicroStrategy cube Data-Quality targets (request-scoped) | — | 200: CubeDqTargets |
GET |
/api/v1/mstr-dossier/dashboards/{node_id}/dq-targets |
get_dashboard_dq_targets_api_v1_mstr_dossier_dashboards__node_id__dq_targets_get |
MicroStrategy dashboard Data-Quality targets (request-scoped) | — | 200: DashboardDqTargets |
MSTR PA Reads#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/microstrategy/read-capture-gap |
get_read_capture_gap_api_v1_microstrategy_read_capture_gap_get |
Reconcile PA-derived read counts against monitor-derived reads | — | 200: ReadCaptureGapResponse |
MSTR Sessions#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/mstr-sessions/budget |
get_mstr_session_budget_api_v1_mstr_sessions_budget_get |
Fleet-wide MicroStrategy session budget | — | 200: SessionBudgetOut |
MSTR Usage#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/mstr-usage/usage/by-user/{principal}/objects |
get_mstr_usage_user_objects_api_v1_mstr_usage_usage_by_user__principal__objects_get |
MSTR objects one principal reads (their read history) | — | 200: MstrUserReadObjectsResponse |
GET |
/api/v1/mstr-usage/usage/objects |
get_mstr_usage_objects_api_v1_mstr_usage_usage_objects_get |
Catalog-spine MSTR object usage listing | — | 200: MstrUsageObjectsResponse |
GET |
/api/v1/mstr-usage/usage/ranking |
get_mstr_usage_ranking_api_v1_mstr_usage_usage_ranking_get |
MSTR usage leaderboard | — | 200: MstrUsageRankingResponse |
GET |
/api/v1/mstr-usage/usage/summary |
get_mstr_usage_summary_api_v1_mstr_usage_usage_summary_get |
Estate-wide MSTR usage summary | — | 200: MstrUsageSummaryResponse |
GET |
/api/v1/mstr-usage/usage/timeseries |
get_mstr_usage_timeseries_api_v1_mstr_usage_usage_timeseries_get |
MSTR usage trend (reads / viewers / refreshes per bucket) | — | 200: MstrUsageTimeseriesResponse |
GET |
/api/v1/mstr-usage/usage/{node_id} |
get_mstr_usage_for_node_api_v1_mstr_usage_usage__node_id__get |
Latest usage for one MSTR node | — | 200: MstrUsageNodeResponse |
POST |
/api/v1/mstr-usage/usage/{node_id}/load-history |
load_mstr_usage_history_api_v1_mstr_usage_usage__node_id__load_history_post |
Load PA usage history for one node (human-triggered) | — | 200: MstrUsageNodeResponse |
GET |
/api/v1/mstr-usage/usage/{node_id}/readers |
get_mstr_usage_readers_api_v1_mstr_usage_usage__node_id__readers_get |
Top readers of one MSTR object (who reads it) | — | 200: MstrUsageReadersResponse |
Namespaces#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/namespaces/ |
list_namespaces_api_v1_namespaces__get |
List namespaces | — | 200: array of NamespaceResponse |
POST |
/api/v1/namespaces/ |
create_namespace_api_v1_namespaces__post |
Create namespace (gone: use /teams) | — | — |
GET |
/api/v1/namespaces/{namespace_id} |
get_namespace_api_v1_namespaces__namespace_id__get |
Get namespace | — | 200: NamespaceResponse |
DELETE |
/api/v1/namespaces/{namespace_id} |
deactivate_namespace_api_v1_namespaces__namespace_id__delete |
Deactivate namespace (gone: use /teams) | — | — |
PATCH |
/api/v1/namespaces/{namespace_id} |
update_namespace_api_v1_namespaces__namespace_id__patch |
Update namespace (gone: use /teams) | — | — |
GET |
/api/v1/namespaces/{namespace_id}/members |
list_members_api_v1_namespaces__namespace_id__members_get |
List namespace members | — | 200: array of NamespaceMemberResponse |
POST |
/api/v1/namespaces/{namespace_id}/members |
add_member_api_v1_namespaces__namespace_id__members_post |
Add namespace member (gone: use /teams) | — | — |
DELETE |
/api/v1/namespaces/{namespace_id}/members/{email} |
remove_member_api_v1_namespaces__namespace_id__members__email__delete |
Remove namespace member (gone: use /teams) | — | — |
PATCH |
/api/v1/namespaces/{namespace_id}/members/{email} |
update_member_role_api_v1_namespaces__namespace_id__members__email__patch |
Update member role (gone: use /teams) | — | — |
Node Notes#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/nodes/{node_id}/notes |
list_node_notes_api_v1_nodes__node_id__notes_get |
List notes visible to me for a node | — | 200: array of NodeNoteResponse |
POST |
/api/v1/nodes/{node_id}/notes |
create_node_note_api_v1_nodes__node_id__notes_post |
Create a note (optionally a reminder) on a node | NodeNoteCreate | 201: NodeNoteResponse |
GET |
/api/v1/notes/mine |
list_my_notes_api_v1_notes_mine_get |
All notes visible to me across nodes | — | 200: array of MyNoteResponse |
DELETE |
/api/v1/notes/{note_id} |
delete_node_note_api_v1_notes__note_id__delete |
Delete a note (author only) | — | 204 |
PATCH |
/api/v1/notes/{note_id} |
update_node_note_api_v1_notes__note_id__patch |
Update a note (author only) | NodeNoteUpdate | 200: NodeNoteResponse |
POST |
/api/v1/notes/{note_id}/acknowledge |
acknowledge_reminder_api_v1_notes__note_id__acknowledge_post |
Acknowledge a reminder for the current cycle | — | 200: AcknowledgeResponse |
POST |
/api/v1/notes/{note_id}/boost |
boost_note_to_ai_api_v1_notes__note_id__boost_post |
Hand this note's recurring check to the AI assistant (author only) | NodeNoteBoostRequest | 200: NodeNoteResponse |
DELETE |
/api/v1/notes/{note_id}/boost |
unboost_note_from_ai_api_v1_notes__note_id__boost_delete |
Stop the AI from running this note's check (author only) | — | 200: NodeNoteResponse |
GET |
/api/v1/notes/{note_id}/checks |
list_note_checks_api_v1_notes__note_id__checks_get |
This note's check history — human checks and AI runs, newest first | — | 200: array of NoteCheckEntry |
POST |
/api/v1/notes/{note_id}/snooze |
snooze_reminder_api_v1_notes__note_id__snooze_post |
Snooze a reminder for a fixed delay (default 1h) | SnoozeRequest or null |
200: SnoozeResponse |
GET |
/api/v1/reminders/due |
list_due_reminders_api_v1_reminders_due_get |
My reminders that are currently due | — | 200: array of DueReminderResponse |
GET |
/api/v1/reminders/due/count |
get_due_reminder_count_api_v1_reminders_due_count_get |
Count of my reminders that are currently due | — | 200: DueReminderCountResponse |
GET |
/api/v1/reminders/mine |
list_my_reminders_api_v1_reminders_mine_get |
Reminders I authored or am assigned to | — | 200: array of NodeNoteResponse |
Notifications#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/notifications/feed |
get_feed_api_v1_notifications_feed_get |
Personal 'what changed' activity feed | — | 200: FeedPage |
GET |
/api/v1/notifications/feed/preferences |
get_feed_preferences_api_v1_notifications_feed_preferences_get |
My personal-digest preference | — | 200: FeedPreference |
PUT |
/api/v1/notifications/feed/preferences |
update_feed_preferences_api_v1_notifications_feed_preferences_put |
Update my personal-digest preference | FeedPreferenceUpdate | 200: FeedPreference |
POST |
/api/v1/notifications/feed/seen |
mark_feed_seen_api_v1_notifications_feed_seen_post |
Mark the feed seen up to now (clears the unread badge and reads the inbox pings it covered) | — | 200: FeedSeenResponse |
GET |
/api/v1/notifications/feed/summary |
get_feed_summary_api_v1_notifications_feed_summary_get |
Feed counts for the nav badge (since you were away) | — | 200: FeedSummary |
ODCS#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/odcs/by-node/{node_id} |
contracts_by_node_api_v1_odcs_by_node__node_id__get |
Contracts By Node | — | 200: array of OdcsByNodeItem |
GET |
/api/v1/odcs/contracts |
list_contracts_api_v1_odcs_contracts_get |
List Contracts | — | 200: array of OdcsContractListItem |
POST |
/api/v1/odcs/contracts/sync |
sync_contracts_api_v1_odcs_contracts_sync_post |
Sync Contracts | OdcsSyncRequest | 200: OdcsSyncResult |
GET |
/api/v1/odcs/contracts/{contract_id} |
get_contract_api_v1_odcs_contracts__contract_id__get |
Get Contract | — | 200: OdcsContractDetail |
DELETE |
/api/v1/odcs/contracts/{contract_id} |
delete_contract_api_v1_odcs_contracts__contract_id__delete |
Delete Contract | — | 204 |
GET |
/api/v1/odcs/contracts/{contract_id}/drift |
contract_drift_api_v1_odcs_contracts__contract_id__drift_get |
Contract Drift | — | 200: OdcsDriftResponse |
GET |
/api/v1/odcs/health |
get_health_api_v1_odcs_health_get |
Get Health | — | 200: OdcsHealthResponse |
POST |
/api/v1/odcs/import |
import_yaml_api_v1_odcs_import_post |
Import Yaml | OdcsImportRequest | 200: OdcsImportResponse |
GET |
/api/v1/odcs/node/{node_id}/export |
export_node_api_v1_odcs_node__node_id__export_get |
Export Node | — | 200: any |
POST |
/api/v1/odcs/sync |
sync_from_git_api_v1_odcs_sync_post |
Sync From Git | — | 200: OdcsSyncResponse |
POST |
/api/v1/odcs/validate |
validate_yaml_api_v1_odcs_validate_post |
Validate Yaml | OdcsValidateRequest | 200: OdcsValidateResponse |
Passport#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/nodes/{node_id}/passport |
get_passport_api_v1_nodes__node_id__passport_get |
Resource Passport (fused trust view) | — | 200: object |
Platform Jobs#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/platform-jobs/{job}/run |
run_platform_job_api_v1_platform_jobs__job__run_post |
Run a platform job (scheduler only) | RunRequest | 202: object |
Plugins#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/plugins |
list_marketplace_api_v1_plugins_get |
List every Nistor plugin (installed and available) for the Marketplace page | — | 200: MarketplaceResponse |
POST |
/api/v1/plugins/{plugin_id}/activate |
activate_plugin_api_v1_plugins__plugin_id__activate_post |
Activate a catalog plugin by seeding + enabling its capabilities | — | 200: MarketplacePlugin |
POST |
/api/v1/plugins/{plugin_id}/deactivate |
deactivate_plugin_api_v1_plugins__plugin_id__deactivate_post |
Deactivate a catalog plugin by disabling its capabilities | — | 200: MarketplacePlugin |
Resource Inspector#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/resource-inspector/{provider}/{resource_type} |
inspect_resource_api_v1_resource_inspector__provider___resource_type__get |
Inspect a resource | — | 200: any |
Row Trace#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/lineage/provenance_coverage |
get_provenance_coverage_api_v1_lineage_provenance_coverage_get |
Get Provenance Coverage | — | 200: any |
GET |
/api/v1/lineage/row_journey |
get_row_journey_api_v1_lineage_row_journey_get |
Get Row Journey | — | 200: RowJourneyResponse |
GET |
/api/v1/lineage/row_preview |
get_row_preview_api_v1_lineage_row_preview_get |
Get Row Preview | — | 200: RowPreviewResponse |
GET |
/api/v1/lineage/row_trace |
get_row_trace_api_v1_lineage_row_trace_get |
Get Row Trace | — | 200: RowTraceResponse |
Rule Requests#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/rule_requests/ |
list_rule_requests_api_v1_rule_requests__get |
List rule requests | — | 200: array of RuleRequestRead |
POST |
/api/v1/rule_requests/ |
create_rule_request_api_v1_rule_requests__post |
Submit a rule request | RuleRequestCreate | 201: RuleRequestRead |
GET |
/api/v1/rule_requests/{request_id} |
get_rule_request_api_v1_rule_requests__request_id__get |
Get a rule request | — | 200: RuleRequestRead |
PATCH |
/api/v1/rule_requests/{request_id} |
update_rule_request_api_v1_rule_requests__request_id__patch |
Edit a rule request | RuleRequestUpdate | 200: RuleRequestRead |
POST |
/api/v1/rule_requests/{request_id}/approve |
approve_rule_request_api_v1_rule_requests__request_id__approve_post |
Approve → open an MR | RuleRequestApprove | 200: RuleRequestRead |
POST |
/api/v1/rule_requests/{request_id}/reject |
reject_rule_request_api_v1_rule_requests__request_id__reject_post |
Reject a request | RuleRequestReject | 200: RuleRequestRead |
POST |
/api/v1/rule_requests/{request_id}/request-changes |
request_changes_rule_request_api_v1_rule_requests__request_id__request_changes_post |
Ask the requester for changes | RuleRequestReject | 200: RuleRequestRead |
POST |
/api/v1/rule_requests/{request_id}/withdraw |
withdraw_rule_request_api_v1_rule_requests__request_id__withdraw_post |
Withdraw your request | — | 200: RuleRequestRead |
Runtime Instances#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/runtime_instances/draining |
mark_runtime_instance_draining_api_v1_runtime_instances_draining_post |
Mark a runtime instance draining | RuntimeInstanceDrainingRequest | 200: RuntimeInstanceDrainingResponse |
POST |
/api/v1/runtime_instances/heartbeat |
record_runtime_instance_heartbeat_api_v1_runtime_instances_heartbeat_post |
Record a runtime instance heartbeat | RuntimeInstanceHeartbeat | 200: RuntimeInstanceRead |
GET |
/api/v1/runtime_instances/live |
list_live_runtime_instances_api_v1_runtime_instances_live_get |
List live runtime instances | — | 200: array of RuntimeInstanceRead |
Scheduler#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/scheduler/dedup_check |
dedup_check_api_v1_scheduler_dedup_check_post |
Check for duplicate scheduler events | DedupCheckRequest | 200: DedupCheckResponse |
POST |
/api/v1/scheduler/event_receipt |
event_receipt_record_api_v1_scheduler_event_receipt_post |
Record a processed event | EventReceiptRequest | 200: EventReceiptResponse |
POST |
/api/v1/scheduler/event_receipt/check |
event_receipt_check_api_v1_scheduler_event_receipt_check_post |
Was this event processed? | EventReceiptCheckRequest | 200: EventReceiptCheckResponse |
Search#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/search |
cross_entity_search_api_v1_search_get |
Cross-entity full-text search | — | 200: CrossEntitySearchResponse |
Sifflet#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/sifflet/admin/backfill-run-archive-duplicates |
backfill_run_archive_duplicates_api_v1_sifflet_admin_backfill_run_archive_duplicates_post |
Remove doubled Sifflet run rows from the run archive; defaults to dry_run=true (reports only) | — | 200: SiffletRunArchiveDedupeResponse |
GET |
/api/v1/sifflet/asset-health/by-node/{node_id} |
get_asset_health_api_v1_sifflet_asset_health_by_node__node_id__get |
Get Asset Health | — | 200: SiffletAssetHealthResponse |
GET |
/api/v1/sifflet/cost-estimate |
get_cost_estimate_api_v1_sifflet_cost_estimate_get |
Get Cost Estimate | — | 200: SiffletCostEstimateResponse |
GET |
/api/v1/sifflet/health |
get_health_api_v1_sifflet_health_get |
Get Health | — | 200: SiffletHealthResponse |
GET |
/api/v1/sifflet/overview |
get_overview_api_v1_sifflet_overview_get |
Get Overview | — | 200: SiffletOverviewResponse |
POST |
/api/v1/sifflet/reconcile-runs |
reconcile_runs_api_v1_sifflet_reconcile_runs_post |
Reconcile Runs | — | 200: SiffletReconcileRunsResponse |
GET |
/api/v1/sifflet/rules |
list_rules_api_v1_sifflet_rules_get |
List Rules | — | 200: SiffletRulesPageResponse |
GET |
/api/v1/sifflet/rules/by-node/{node_id} |
get_node_bundle_api_v1_sifflet_rules_by_node__node_id__get |
Get Node Bundle | — | 200: SiffletNodeBundleResponse |
POST |
/api/v1/sifflet/rules/{rule_id}/bq-recompute-auto |
set_rule_bq_recompute_auto_api_v1_sifflet_rules__rule_id__bq_recompute_auto_post |
Set Rule Bq Recompute Auto | SiffletBqRecomputeToggleRequest | 200: SiffletBqRecomputeToggleResponse |
POST |
/api/v1/sifflet/rules/{rule_id}/compute-metric-values |
compute_rule_metric_values_endpoint_api_v1_sifflet_rules__rule_id__compute_metric_values_post |
Compute Rule Metric Values Endpoint | SiffletBqRecomputeOverride or null |
200: SiffletBqRecomputeResponse |
GET |
/api/v1/sifflet/rules/{rule_id}/cost |
get_rule_cost_api_v1_sifflet_rules__rule_id__cost_get |
Get Rule Cost | — | 200: SiffletRuleCostResponse |
GET |
/api/v1/sifflet/rules/{rule_id}/date-columns |
get_rule_date_columns_api_v1_sifflet_rules__rule_id__date_columns_get |
Get Rule Date Columns | — | 200: SiffletDateColumnsResponse |
POST |
/api/v1/sifflet/rules/{rule_id}/refresh-debug-sql |
refresh_rule_debug_sql_api_v1_sifflet_rules__rule_id__refresh_debug_sql_post |
Refresh Rule Debug Sql | — | 200: SiffletDebugSqlRefreshResponse |
GET |
/api/v1/sifflet/rules/{rule_id}/runs |
list_rule_runs_api_v1_sifflet_rules__rule_id__runs_get |
List Rule Runs | — | 200: array of SiffletRuleRunResponse |
POST |
/api/v1/sifflet/rules/{rule_id}/sync-mirror |
sync_rule_mirror_api_v1_sifflet_rules__rule_id__sync_mirror_post |
Sync Rule Mirror | — | 200: SiffletMirrorSyncResponse |
SQL Workbench#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/sql-workbench/estimate-cost |
estimate_query_cost_api_v1_sql_workbench_estimate_cost_post |
Dry-run cost estimate | QueryCostEstimateRequest | 200: QueryCostEstimateResponse |
POST |
/api/v1/sql-workbench/execute |
execute_query_api_v1_sql_workbench_execute_post |
Execute a read-only BigQuery query | QueryExecuteRequest | 200: QueryExecuteResponse |
GET |
/api/v1/sql-workbench/explorations |
list_explorations_api_v1_sql_workbench_explorations_get |
List saved explorations for a node | — | 200: array of SavedExplorationResponse |
POST |
/api/v1/sql-workbench/explorations |
create_exploration_api_v1_sql_workbench_explorations_post |
Save an exploration | SavedExplorationCreate | 201: SavedExplorationResponse |
PUT |
/api/v1/sql-workbench/explorations/{exploration_id} |
update_exploration_api_v1_sql_workbench_explorations__exploration_id__put |
Update a saved exploration | SavedExplorationUpdate | 200: SavedExplorationResponse |
DELETE |
/api/v1/sql-workbench/explorations/{exploration_id} |
delete_exploration_api_v1_sql_workbench_explorations__exploration_id__delete |
Delete a saved exploration | — | 204 |
GET |
/api/v1/sql-workbench/explorations/{exploration_id}/versions |
list_exploration_versions_api_v1_sql_workbench_explorations__exploration_id__versions_get |
List version history for a saved exploration | — | 200: array of SavedExplorationVersionResponse |
GET |
/api/v1/sql-workbench/explorations/{exploration_id}/versions/{version_id} |
get_exploration_version_api_v1_sql_workbench_explorations__exploration_id__versions__version_id__get |
Get a specific version of a saved exploration | — | 200: SavedExplorationVersionResponse |
GET |
/api/v1/sql-workbench/history |
list_query_history_api_v1_sql_workbench_history_get |
List query history for the current user | — | 200: array of QueryHistoryResponse |
DELETE |
/api/v1/sql-workbench/history/{entry_id} |
delete_query_history_entry_api_v1_sql_workbench_history__entry_id__delete |
Delete a query history entry | — | 204 |
GET |
/api/v1/sql-workbench/history/{entry_id}/plan |
get_query_history_plan_api_v1_sql_workbench_history__entry_id__plan_get |
Get the explain plan for a query history entry | — | 200: any |
GET |
/api/v1/sql-workbench/schema |
get_table_schema_api_v1_sql_workbench_schema_get |
Full table schema | — | 200: TableSchemaResponse |
Subscriptions#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/notifications |
list_notifications_api_v1_notifications_get |
My notification inbox | — | 200: array of UserNotificationResponse |
POST |
/api/v1/notifications/mark-all-read |
mark_all_notifications_read_api_v1_notifications_mark_all_read_post |
Mark all notifications as read | — | 200: object |
GET |
/api/v1/notifications/unread-count |
unread_count_api_v1_notifications_unread_count_get |
Get unread notification count | — | 200: UnreadCountResponse |
PATCH |
/api/v1/notifications/{notification_id}/read |
mark_notification_read_api_v1_notifications__notification_id__read_patch |
Mark a notification as read | — | 204 |
GET |
/api/v1/subscriptions |
list_my_subscriptions_api_v1_subscriptions_get |
List my subscriptions | — | 200: array of NodeSubscriptionResponse |
POST |
/api/v1/subscriptions |
subscribe_to_node_api_v1_subscriptions_post |
Subscribe to a node | NodeSubscriptionCreate | 201: NodeSubscriptionResponse |
GET |
/api/v1/subscriptions/check/{node_id} |
check_subscription_api_v1_subscriptions_check__node_id__get |
Check if I am subscribed to a node | — | 200: NodeSubscriptionCheck |
DELETE |
/api/v1/subscriptions/{node_id} |
unsubscribe_from_node_api_v1_subscriptions__node_id__delete |
Unsubscribe from a node | — | 204 |
System Schedule#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/system-schedule |
get_system_schedule_api_v1_system_schedule_get |
Get System Schedule | — | 200: object |
GET |
/api/v1/system-schedule/local |
get_local_system_schedule_api_v1_system_schedule_local_get |
Get Local System Schedule | — | 200: object |
Teams#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/teams/ |
list_teams_api_v1_teams__get |
List teams | — | 200: array of TeamSummary |
POST |
/api/v1/teams/ |
create_team_api_v1_teams__post |
Create team | TeamCreate | 201: TeamDetail |
GET |
/api/v1/teams/containers |
list_containers_api_v1_teams_containers_get |
Projects, datasets and folders with owners | — | 200: ContainersResponse |
GET |
/api/v1/teams/ownership |
node_ownership_api_v1_teams_ownership_get |
Owning team of each node | — | 200: object of NodeOwnership |
GET |
/api/v1/teams/ownership/selector-kinds |
list_selector_kinds_api_v1_teams_ownership_selector_kinds_get |
Selector kinds plugins contribute, with the values they state | — | 200: array of SelectorKindOption |
GET |
/api/v1/teams/roles |
list_team_roles_api_v1_teams_roles_get |
Roles a team member can hold | — | 200: array of TeamRoleOption |
GET |
/api/v1/teams/selector-preview |
selector_preview_api_v1_teams_selector_preview_get |
What a selector would claim | — | 200: SelectorPreview |
GET |
/api/v1/teams/{slug} |
get_team_api_v1_teams__slug__get |
Get team | — | 200: TeamDetail |
DELETE |
/api/v1/teams/{slug} |
deactivate_team_api_v1_teams__slug__delete |
Deactivate team | — | 204 |
PATCH |
/api/v1/teams/{slug} |
update_team_api_v1_teams__slug__patch |
Update team settings | TeamUpdate | 200: TeamDetail |
GET |
/api/v1/teams/{slug}/access-grants |
list_access_grants_api_v1_teams__slug__access_grants_get |
Teams granted access | — | 200: array of TeamAccessGrantOut |
POST |
/api/v1/teams/{slug}/access-grants |
add_access_grant_api_v1_teams__slug__access_grants_post |
Grant another team access | TeamAccessGrantCreate | 201: TeamAccessGrantOut |
DELETE |
/api/v1/teams/{slug}/access-grants/{grant_id} |
remove_access_grant_api_v1_teams__slug__access_grants__grant_id__delete |
Remove a team's access | — | 204 |
PATCH |
/api/v1/teams/{slug}/access-grants/{grant_id} |
update_access_grant_api_v1_teams__slug__access_grants__grant_id__patch |
Change a grant's role | TeamAccessGrantUpdate | 200: TeamAccessGrantOut |
GET |
/api/v1/teams/{slug}/audit |
team_audit_api_v1_teams__slug__audit_get |
This team's change history | — | 200: TeamAuditPage |
GET |
/api/v1/teams/{slug}/members |
list_members_api_v1_teams__slug__members_get |
List team members | — | 200: array of TeamMember |
POST |
/api/v1/teams/{slug}/members |
add_member_api_v1_teams__slug__members_post |
Add team member | TeamMemberCreate | 201: TeamMember |
DELETE |
/api/v1/teams/{slug}/members/{email} |
remove_member_api_v1_teams__slug__members__email__delete |
Remove team member | — | 204 |
PATCH |
/api/v1/teams/{slug}/members/{email} |
update_member_api_v1_teams__slug__members__email__patch |
Change a member's team role | TeamMemberUpdate | 200: TeamMember |
POST |
/api/v1/teams/{slug}/reactivate |
reactivate_team_api_v1_teams__slug__reactivate_post |
Reactivate a deactivated team | — | 200: TeamDetail |
GET |
/api/v1/teams/{slug}/resources |
list_resources_api_v1_teams__slug__resources_get |
Assets this team owns | — | 200: ResourcesPage |
GET |
/api/v1/teams/{slug}/selectors |
list_selectors_api_v1_teams__slug__selectors_get |
What this team claims | — | 200: array of SelectorOut |
POST |
/api/v1/teams/{slug}/selectors |
add_selector_api_v1_teams__slug__selectors_post |
Claim assets | SelectorCreate | 201: SelectorOut |
DELETE |
/api/v1/teams/{slug}/selectors/{selector_id} |
remove_selector_api_v1_teams__slug__selectors__selector_id__delete |
Drop a claim | — | 204 |
Tool Capacity#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/tool-capacity/budget |
get_tool_capacity_budget_api_v1_tool_capacity_budget_get |
Per-process tool connection limits and fleet usage | — | 200: BudgetOut |
GET |
/api/v1/tool-capacity/history |
get_tool_capacity_history_api_v1_tool_capacity_history_get |
One tool's hourly connection-limit history | — | 200: HistoryOut |
POST |
/api/v1/tool-capacity/reports |
post_tool_capacity_report_api_v1_tool_capacity_reports_post |
Ingest one process's tool capacity heartbeat | ReportIn | 204 |
UI Manifest#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
GET |
/api/v1/ui/manifest |
get_manifest_api_v1_ui_manifest_get |
The installed, active UI remotes and their digest | — | 200: object |
GET |
/api/v1/ui/manifest/stream |
manifest_stream_api_v1_ui_manifest_stream_get |
SSE: the manifest digest, again whenever it changes | — | 200: any |
GET |
/plugins/{ui_id}/{version}/{path} |
plugin_file_plugins__ui_id___version___path__get |
A built file of an active UI remote | — | 200: any |
Wiki#
| Method | Path | Operation | Summary | Request | Response |
|---|---|---|---|---|---|
POST |
/api/v1/wiki/admin/articles/{slug}/review |
mark_wiki_article_reviewed_api_v1_wiki_admin_articles__slug__review_post |
Admin: mark a wiki article as reviewed (now) | — | 200: WikiReviewResponse |
POST |
/api/v1/wiki/admin/staleness |
get_wiki_staleness_api_v1_wiki_admin_staleness_post |
Admin: per-slug staleness ranking inputs | WikiStalenessRequest | 200: WikiStalenessResponse |
POST |
/api/v1/wiki/admin/usage |
get_wiki_usage_api_v1_wiki_admin_usage_post |
Admin: per-article reads + unique readers + trend sparkline | WikiUsageRequest | 200: WikiUsageResponse |
GET |
/api/v1/wiki/articles |
list_wiki_articles_api_v1_wiki_articles_get |
List wiki articles (no body) | — | 200: array of WikiArticleSummary |
GET |
/api/v1/wiki/articles/{slug} |
get_wiki_article_api_v1_wiki_articles__slug__get |
Get a single wiki article including body | — | 200: WikiArticleDetail |
GET |
/api/v1/wiki/bookmarks |
list_my_wiki_bookmarks_api_v1_wiki_bookmarks_get |
List my wiki bookmarks | — | 200: array of WikiBookmarkResponse |
POST |
/api/v1/wiki/bookmarks |
add_wiki_bookmark_api_v1_wiki_bookmarks_post |
Bookmark a wiki article | WikiBookmarkCreate | 201: WikiBookmarkResponse |
DELETE |
/api/v1/wiki/bookmarks/{slug} |
remove_wiki_bookmark_api_v1_wiki_bookmarks__slug__delete |
Remove a wiki bookmark | — | 204 |
GET |
/api/v1/wiki/votes/{slug} |
get_wiki_vote_api_v1_wiki_votes__slug__get |
Get my vote and aggregate counts for an article | — | 200: WikiVoteResponse |
PUT |
/api/v1/wiki/votes/{slug} |
set_wiki_vote_api_v1_wiki_votes__slug__put |
Set / flip my vote (same value untoggles) | WikiVoteCreate | 200: WikiVoteResponse |
DELETE |
/api/v1/wiki/votes/{slug} |
clear_wiki_vote_api_v1_wiki_votes__slug__delete |
Clear my vote on an article | — | 200: WikiVoteResponse |
Schemas#
The request and response bodies the operations above name, A–Z.
A#
AccessReferenceResponse#
The whole permission catalog, the presets, and the viewer's own access.
| Field | Type | Required | Description |
|---|---|---|---|
permissions |
array of PermissionResponse | — | Every permission in the catalog |
roles |
array of AccessReferenceRole | — | Every permission preset |
baseline_codes |
array of string |
— | Codes every authenticated user implicitly holds. Returned separately because they are already merged into the viewer's permission list, so there is otherwise no way to tell an implicit grant from an explicit one. |
viewer |
AccessReferenceViewer | yes | The requesting user's own access |
AccessReferenceRole#
A permission preset, projected for the public reference page.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Preset name (e.g. 'data-engineer') |
description |
string or null |
— | What the preset is for |
permission_codes |
array of string |
— | Permission codes the preset grants |
is_default |
boolean |
— | Whether new users are bound to this preset by default |
is_system |
boolean |
— | True for seeded presets reconciled on every boot (source='system'), false for UI-created ones |
AccessReferenceViewer#
The requesting user's own access, for the "what do I hold" panel.
| Field | Type | Required | Description |
|---|---|---|---|
permission_codes |
array of string |
— | Codes the viewer holds. Already includes the baseline codes. |
is_admin |
boolean |
— | Admins hold every permission by bypass, whatever their preset |
role_name |
string or null |
— | Preset the viewer is bound to, or null when unbound (Custom) |
AcknowledgeResponse#
Type: object.
Action-Input#
A single action — executor type plus its parameters.
| Field | Type | Required | Description |
|---|---|---|---|
type |
string |
yes | Executor action type (e.g. 'microstrategy_refresh', 'dataform_run') |
parameters |
ActionParameters or null |
— | — |
Action-Output#
A single action — executor type plus its parameters.
| Field | Type | Required | Description |
|---|---|---|---|
type |
string |
yes | Executor action type (e.g. 'microstrategy_refresh', 'dataform_run') |
parameters |
ActionParameters or null |
— | — |
ActionChainDefinitionCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Unique chain name |
description |
string or null |
— | — |
chain_spec |
ChainSpec | yes | Chain step definitions |
team |
string or null |
— | Slug of the owning team. Omitted or null: Unassigned, as before. Never a column: the route resolves it and stamps namespace_id. |
ActionChainDefinitionResponse#
Type: object.
ActionChainDefinitionUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
description |
string or null |
— | — |
status |
string or null |
— | active, inactive, archived |
chain_spec |
ChainSpec or null |
— | — |
team |
string or null |
— | Slug of the team to move the row to. Omitted: unchanged; null: Unassigned. Never a column: the route resolves it and stamps namespace_id. |
ActionParameters#
Executor parameters. Allows arbitrary extra fields for executor-specific configs.
| Field | Type | Required | Description |
|---|---|---|---|
release |
string or null |
— | — |
retry_number |
integer or null |
— | — |
retry |
RetryPolicySchema or null |
— | Full retry policy; overrides retry_number |
exclude_descendents_from_type |
array of string or null |
— | — |
exclude_descendents_node |
array of string or null |
— | — |
maximum_depth |
integer or null |
— | — |
ActionPolicy#
One of: "defer", "skip".
ActionRun#
Type: object.
ActionRunConsolidationHealthResponse#
| Field | Type | Required | Description |
|---|---|---|---|
status |
string |
yes | — |
latest_15min_bucket |
string (date-time) or null |
— | — |
latest_daily_bucket |
string (date-time) or null |
— | — |
total_15min_rollups |
integer |
— | — |
total_daily_rollups |
integer |
— | — |
ActionRunCountsBatchRequest#
Request body for POST /counts/batch — the rule-id list travels in the body so the URL stays short (the comma-joined ?rule\_ids= query overflowed the proxy limit and 414'd with many rules).
| Field | Type | Required | Description |
|---|---|---|---|
rule_ids |
array of string (uuid) |
yes | Rule UUIDs to count (max 100) |
start_datetime |
string or null |
— | Filter by start datetime (based on trigger_datetime) - ISO datetime string |
end_datetime |
string or null |
— | Filter by end datetime (based on trigger_datetime) - ISO datetime string |
ActionRunCreate#
| Field | Type | Required | Description |
|---|---|---|---|
action |
string |
yes | Action name |
trigger_id |
string |
yes | Trigger identifier |
node_id |
string or null |
— | Content node ID (e.g. downstream refresh target) |
trigger_datetime |
string (date-time) or null |
— | When the trigger occurred |
start_datetime |
string (date-time) or null |
— | When the action started |
end_datetime |
string (date-time) or null |
— | When the action ended |
system_url |
string or null |
— | System URL |
ui_url |
string or null |
— | UI URL |
is_test |
boolean or null |
— | Whether this is a test run |
is_shadow |
boolean or null |
— | Whether this is a shadow mode run (real execution, suppressed side effects) |
state |
string or null |
— | Current state |
failure_reason |
string or null |
— | Reason for failure if applicable |
triggered_nodes |
array of string or null |
— | List of node IDs triggered by this action (includes all nodes) |
rule_id |
string (uuid) or null |
— | ID of the rule that triggered this action |
retry_number |
integer |
— | Number of retry attempts on this action |
executor_type |
string or null |
— | Executor type from rule (e.g., 'dataform', 'bigquery', etc.) |
total_cost_usd |
number or null |
— | Total cost in USD for this action run |
total_billed_bytes |
integer or null |
— | Total bytes billed by BigQuery for this action run |
cost_basis |
string or null |
— | How this run's cost is known: measured | reconstructed | estimated | unsupported | unknown. 'unsupported' and 'unknown' carry NO amount, which is what lets the UI tell a real measured $0.00 apart from an unpriced run. NULL means the row predates the vocabulary. |
total_queries |
integer or null |
— | Total number of queries executed in this action run |
estimated_cost_usd |
number or null |
— | Pre-flight dry-run cost estimate in USD |
estimated_billed_bytes |
integer or null |
— | Pre-flight dry-run estimated bytes |
execution_details |
object or null |
— | Detailed execution metadata (trigger info, API responses, lock info, retry history, errors) |
parent_action_run_id |
string (uuid) or null |
— | Parent action run ID for child runs (e.g. downstream refreshes of an event trigger) |
triggered_by |
string or null |
— | Trigger provenance: manual_ui, scheduled, pubsub_event, child_run, etc. |
triggered_by_user |
string or null |
— | Email of the user who triggered the run (manual_ui), or inherited from parent (child_run) |
origin |
string or null |
— | Originating system. 'jarvis' (default) for runs created by the Nistor scheduler; 'dataform_external' for Dataform workflow invocations ingested from outside Nistor by the external-sync cron. |
idempotency_key |
string or null |
— | One run per dispatch attempt; the launch carries this key to the tool |
trigger_key |
string or null |
— | What fired the run, in words (manual:<key>, event:<key>, ...) |
fire_slot |
string (date-time) or null |
— | The schedule slot the run fired for, when it has one |
executor_plugin_id |
string or null |
— | Id of the ExecutorPlugin that dispatched the run |
ActionRunDispatchRequest#
POST /action\_runs/dispatch: an ActionRunCreate plus the key and the caller's lease.
| Field | Type | Required | Description |
|---|---|---|---|
action |
string |
yes | Action name |
trigger_id |
string |
yes | Trigger identifier |
node_id |
string or null |
— | Content node ID (e.g. downstream refresh target) |
trigger_datetime |
string (date-time) or null |
— | When the trigger occurred |
start_datetime |
string (date-time) or null |
— | When the action started |
end_datetime |
string (date-time) or null |
— | When the action ended |
system_url |
string or null |
— | System URL |
ui_url |
string or null |
— | UI URL |
is_test |
boolean or null |
— | Whether this is a test run |
is_shadow |
boolean or null |
— | Whether this is a shadow mode run (real execution, suppressed side effects) |
state |
string or null |
— | Current state |
failure_reason |
string or null |
— | Reason for failure if applicable |
triggered_nodes |
array of string or null |
— | List of node IDs triggered by this action (includes all nodes) |
rule_id |
string (uuid) or null |
— | ID of the rule that triggered this action |
retry_number |
integer |
— | Number of retry attempts on this action |
executor_type |
string or null |
— | Executor type from rule (e.g., 'dataform', 'bigquery', etc.) |
total_cost_usd |
number or null |
— | Total cost in USD for this action run |
total_billed_bytes |
integer or null |
— | Total bytes billed by BigQuery for this action run |
cost_basis |
string or null |
— | How this run's cost is known: measured | reconstructed | estimated | unsupported | unknown. 'unsupported' and 'unknown' carry NO amount, which is what lets the UI tell a real measured $0.00 apart from an unpriced run. NULL means the row predates the vocabulary. |
total_queries |
integer or null |
— | Total number of queries executed in this action run |
estimated_cost_usd |
number or null |
— | Pre-flight dry-run cost estimate in USD |
estimated_billed_bytes |
integer or null |
— | Pre-flight dry-run estimated bytes |
execution_details |
object or null |
— | Detailed execution metadata (trigger info, API responses, lock info, retry history, errors) |
parent_action_run_id |
string (uuid) or null |
— | Parent action run ID for child runs (e.g. downstream refreshes of an event trigger) |
triggered_by |
string or null |
— | Trigger provenance: manual_ui, scheduled, pubsub_event, child_run, etc. |
triggered_by_user |
string or null |
— | Email of the user who triggered the run (manual_ui), or inherited from parent (child_run) |
origin |
string or null |
— | Originating system. 'jarvis' (default) for runs created by the Nistor scheduler; 'dataform_external' for Dataform workflow invocations ingested from outside Nistor by the external-sync cron. |
idempotency_key |
string |
yes | One run per dispatch attempt |
trigger_key |
string or null |
— | What fired the run, in words (manual:<key>, event:<key>, ...) |
fire_slot |
string (date-time) or null |
— | The schedule slot the run fired for, when it has one |
executor_plugin_id |
string or null |
— | Id of the ExecutorPlugin that dispatched the run |
dispatch_owner |
string |
yes | The caller's owner token |
lease_seconds |
integer |
— | How long the caller's lease lasts |
launch |
boolean |
— | True when the caller launches right after, which counts one attempt. False reserves the key only (the manual-run endpoint reserves; its worker thread launches). |
dispatch_context |
object |
— | What the reclaimer needs to drive the dispatch again; stored as execution_details.dispatch |
ActionRunDispatchResponse#
| Field | Type | Required | Description |
|---|---|---|---|
outcome |
string (enum) |
yes | — |
previous_attempts |
integer |
— | Launches made under this key before this call |
run |
ActionRun | yes | — |
ActionRunFinalizeDispatch#
POST /action\_runs/{id}/finalize-dispatch: the run's real fields, sent by its lease owner.
| Field | Type | Required | Description |
|---|---|---|---|
action |
string or null |
— | Action name |
trigger_id |
string or null |
— | Trigger identifier |
trigger_datetime |
string (date-time) or null |
— | When the trigger occurred |
start_datetime |
string (date-time) or null |
— | When the action started |
end_datetime |
string (date-time) or null |
— | When the action ended |
system_url |
string or null |
— | System URL |
ui_url |
string or null |
— | UI URL |
is_test |
boolean or null |
— | Whether this is a test run |
is_shadow |
boolean or null |
— | Whether this is a shadow mode run |
state |
string or null |
— | Current state |
failure_reason |
string or null |
— | Reason for failure if applicable |
triggered_nodes |
array of string or null |
— | List of node IDs triggered by this action (includes all nodes) |
rule_id |
string (uuid) or null |
— | ID of the rule that triggered this action |
retry_number |
integer or null |
— | Number of retry attempts on this action |
executor_type |
string or null |
— | Executor type from rule (e.g., 'dataform', 'bigquery', etc.) |
total_cost_usd |
number or null |
— | Total cost in USD for this action run |
total_billed_bytes |
integer or null |
— | Total bytes billed by BigQuery for this action run |
cost_basis |
string or null |
— | How this run's cost is known: measured | reconstructed | estimated | unsupported | unknown. Must travel with any cost amount written here — an amount without a basis is the defect the vocabulary exists to prevent. |
total_queries |
integer or null |
— | Total number of queries executed in this action run |
estimated_cost_usd |
number or null |
— | Pre-flight dry-run cost estimate in USD |
estimated_billed_bytes |
integer or null |
— | Pre-flight dry-run estimated bytes |
execution_details |
object or null |
— | Detailed execution metadata (trigger info, API responses, lock info, retry history, errors) |
triggered_by |
string or null |
— | Trigger provenance: manual_ui, scheduled, pubsub_event, child_run, etc. |
triggered_by_user |
string or null |
— | Email of the user who triggered the run, or inherited from parent for child runs |
dispatch_owner |
string |
yes | — |
ActionRunLock#
Type: object.
ActionRunLockBulkRequest#
Schema for bulk lock operations
| Field | Type | Required | Description |
|---|---|---|---|
node_ids |
array of string |
yes | List of node IDs to lock |
locked_by |
string |
yes | Identifier of who/what is locking the nodes |
expires_at |
string (date-time) or null |
— | When the locks expire (null for permanent locks) |
lock_reason |
string or null |
— | Reason for the locks |
ActionRunLockBulkResponse#
Schema for bulk lock operation responses
| Field | Type | Required | Description |
|---|---|---|---|
success |
array of string |
— | Node IDs that were successfully locked |
failed |
array of string |
— | Node IDs that failed to be locked |
already_locked |
array of string |
— | Node IDs that were already locked |
ActionRunLockCreate#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | Node ID to lock |
locked_by |
string |
yes | Identifier of who/what locked the node |
expires_at |
string (date-time) or null |
— | When the lock expires (null for permanent locks) |
lock_reason |
string or null |
— | Reason for the lock |
ActionRunLockHistory#
Type: object.
ActionRunLockUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
locked_by |
string or null |
— | Identifier of who/what locked the node |
expires_at |
string (date-time) or null |
— | When the lock expires |
is_active |
boolean or null |
— | Whether the lock is active |
lock_reason |
string or null |
— | Reason for the lock |
ActionRunResolveRequest#
| Field | Type | Required | Description |
|---|---|---|---|
state |
string (enum) |
yes | Terminal outcome to record |
ended_at |
string (date-time) |
yes | When the run actually ended (timezone-aware) |
reason |
string |
yes | Why the record is being corrected (3–500 chars) |
ActionRunResumeInfo#
Type: object.
ActionRunRollup15MinResponse#
| Field | Type | Required | Description |
|---|---|---|---|
bucket_start |
string (date-time) |
yes | — |
bucket_end |
string (date-time) |
yes | — |
executor_type |
string or null |
— | — |
state |
string or null |
— | — |
run_count |
integer |
— | — |
success_count |
integer |
— | — |
failure_count |
integer |
— | — |
total_cost_usd |
number |
— | — |
total_billed_bytes |
integer |
— | — |
id |
string (uuid) |
yes | — |
created_at |
string (date-time) |
yes | — |
last_consolidated_at |
string (date-time) |
yes | — |
ActionRunRollupDailyResponse#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date-time) |
yes | — |
executor_type |
string or null |
— | — |
state |
string or null |
— | — |
run_count |
integer |
— | — |
success_count |
integer |
— | — |
failure_count |
integer |
— | — |
total_cost_usd |
number |
— | — |
total_billed_bytes |
integer |
— | — |
id |
string (uuid) |
yes | — |
created_at |
string (date-time) |
yes | — |
last_consolidated_at |
string (date-time) |
yes | — |
ActionRunUnlockBulkRequest#
Schema for bulk unlock operations
| Field | Type | Required | Description |
|---|---|---|---|
node_ids |
array of string |
yes | List of node IDs to unlock |
locked_by |
string or null |
— | Only unlock if locked by this identifier (optional) |
ActionRunUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
action |
string or null |
— | Action name |
trigger_id |
string or null |
— | Trigger identifier |
trigger_datetime |
string (date-time) or null |
— | When the trigger occurred |
start_datetime |
string (date-time) or null |
— | When the action started |
end_datetime |
string (date-time) or null |
— | When the action ended |
system_url |
string or null |
— | System URL |
ui_url |
string or null |
— | UI URL |
is_test |
boolean or null |
— | Whether this is a test run |
is_shadow |
boolean or null |
— | Whether this is a shadow mode run |
state |
string or null |
— | Current state |
failure_reason |
string or null |
— | Reason for failure if applicable |
triggered_nodes |
array of string or null |
— | List of node IDs triggered by this action (includes all nodes) |
rule_id |
string (uuid) or null |
— | ID of the rule that triggered this action |
retry_number |
integer or null |
— | Number of retry attempts on this action |
executor_type |
string or null |
— | Executor type from rule (e.g., 'dataform', 'bigquery', etc.) |
total_cost_usd |
number or null |
— | Total cost in USD for this action run |
total_billed_bytes |
integer or null |
— | Total bytes billed by BigQuery for this action run |
cost_basis |
string or null |
— | How this run's cost is known: measured | reconstructed | estimated | unsupported | unknown. Must travel with any cost amount written here — an amount without a basis is the defect the vocabulary exists to prevent. |
total_queries |
integer or null |
— | Total number of queries executed in this action run |
estimated_cost_usd |
number or null |
— | Pre-flight dry-run cost estimate in USD |
estimated_billed_bytes |
integer or null |
— | Pre-flight dry-run estimated bytes |
execution_details |
object or null |
— | Detailed execution metadata (trigger info, API responses, lock info, retry history, errors) |
triggered_by |
string or null |
— | Trigger provenance: manual_ui, scheduled, pubsub_event, child_run, etc. |
triggered_by_user |
string or null |
— | Email of the user who triggered the run, or inherited from parent for child runs |
ActionStats#
Stats for user actions (manual runs, etc.).
| Field | Type | Required | Description |
|---|---|---|---|
action_type |
string |
yes | — |
count |
integer |
yes | — |
unique_users |
integer |
yes | — |
ActivityBroadcastRequest#
| Field | Type | Required | Description |
|---|---|---|---|
buckets |
array of ActivityBucketIn | yes | — |
ActivityBucketIn#
One read-or-write bucket for one (env, project, minute).
| Field | Type | Required | Description |
|---|---|---|---|
bucket_minute |
string (date-time) |
yes | — |
environment |
string |
yes | dev | test | prod |
project_id |
string |
yes | — |
statement_class |
string |
yes | 'read' | 'write' |
job_count |
integer |
yes | — |
total_bytes_processed |
integer |
yes | — |
total_bytes_billed |
integer |
yes | — |
total_slot_ms |
integer |
yes | — |
ActivityBucketOut#
| Field | Type | Required | Description |
|---|---|---|---|
bucket_minute |
string (date-time) |
yes | — |
environment |
string |
yes | — |
project_id |
string |
yes | — |
statement_class |
string |
yes | — |
job_count |
integer |
yes | — |
total_bytes_processed |
integer |
yes | — |
total_bytes_billed |
integer |
yes | — |
total_slot_ms |
integer |
yes | — |
ActivityBulkRequest#
Request payload: a list of node_ids to enrich.
| Field | Type | Required | Description |
|---|---|---|---|
node_ids |
array of string |
yes | Node IDs to enrich with activity data. |
as_of |
string (date-time) or null |
— | Optional point-in-time. When set, last\_run / last\_change reflect the run/write that was current *at or before* this instant (the Data Trust group chain's historical replay) rather than now. Forward-looking fields (next\_fire) are omitted for a past view. |
ActivityBulkResponse#
Response payload — entries keyed by node_id.
| Field | Type | Required | Description |
|---|---|---|---|
entries |
object of nistor_backend__schemas__activity_bulk__ActivityEntry | — | — |
ActivityFeedResponse#
Type: object.
ActivityKind#
The kind of event a timeline entry represents.
One of: "state_change", "alert_sent", "incident_opened", "incident_resolved", "workspace_created", "workspace_updated", "workspace_deleted", "asset_added", "asset_removed", "policy_added", "policy_removed".
ActivityPoint#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
write_count |
integer |
yes | — |
read_count |
integer |
yes | — |
write_billed_bytes |
integer |
yes | — |
read_billed_bytes |
integer |
yes | — |
ActivitySeverity#
One of: "info", "warning", "critical".
ActualFire#
| Field | Type | Required | Description |
|---|---|---|---|
at |
string (date-time) |
yes | — |
action_run_id |
string (uuid) |
yes | — |
state |
string or null |
— | — |
AddFailureRequest#
Request model for adding a failure to an incident
| Field | Type | Required | Description |
|---|---|---|---|
failure_datetime |
string |
yes | ISO datetime string of the failure |
new_nodes |
array of string or null |
— | Optional nodes to append to affected_nodes (used by per-rule dedup so the incident grows its node coverage instead of spawning a peer). |
AffectedIncidentOut#
| Field | Type | Required | Description |
|---|---|---|---|
incident_id |
string |
yes | — |
status |
string |
yes | — |
rule_id |
string or null |
— | — |
action |
string or null |
— | — |
affected_nodes |
array of string |
— | — |
last_failure_datetime |
string or null |
— | — |
AffectedNodeOut#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
source_kind |
string |
yes | — |
matched_path |
string or null |
— | — |
change_kind |
string or null |
— | — |
note |
string or null |
— | — |
AffectedRuleOut#
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string |
yes | — |
rule_name |
string or null |
— | — |
action_type |
string or null |
— | — |
matched_nodes |
array of string |
— | — |
AgentRegistrationCreate#
Register a new agent. owner\_email defaults to the caller server-side.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
description |
string or null |
— | — |
allowed_tools |
array of string or null |
— | Permitted tool names. NULL/empty = all tools allowed. |
rate_limit_per_minute |
integer or null |
— | Per-agent rate cap. NULL = inherit global default. |
daily_cost_budget_units |
integer or null |
— | Per-agent daily budget. NULL = inherit global default. |
enforcement_override |
string or null |
— | Per-agent override of the global enforce flag. NULL = follow global. |
owner_email |
string (email) or null |
— | Who owns the agent. Defaults to the authenticated caller when omitted. |
AgentRegistrationCreated#
Registration response that *additionally* carries the one-time raw token.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
owner_email |
string |
yes | — |
audience |
string |
yes | — |
token_prefix |
string or null |
— | — |
issued_at |
string (date-time) |
yes | — |
expires_at |
string (date-time) |
yes | — |
enabled |
boolean |
yes | — |
revoked_at |
string (date-time) or null |
— | — |
revoked_by |
string or null |
— | — |
allowed_tools |
array of string or null |
— | — |
rate_limit_per_minute |
integer or null |
— | — |
daily_cost_budget_units |
integer or null |
— | — |
enforcement_override |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
token |
string |
yes | The raw agent JWT. Shown once — store it now. |
system_owned |
boolean |
yes | — |
AgentRegistrationOut#
An agent registration as shown in the console — never carries the raw token.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
owner_email |
string |
yes | — |
audience |
string |
yes | — |
token_prefix |
string or null |
— | — |
issued_at |
string (date-time) |
yes | — |
expires_at |
string (date-time) |
yes | — |
enabled |
boolean |
yes | — |
revoked_at |
string (date-time) or null |
— | — |
revoked_by |
string or null |
— | — |
allowed_tools |
array of string or null |
— | — |
rate_limit_per_minute |
integer or null |
— | — |
daily_cost_budget_units |
integer or null |
— | — |
enforcement_override |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
system_owned |
boolean |
yes | — |
AgentRegistrationUpdate#
Patch an existing agent. All fields optional; unset fields are untouched.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
description |
string or null |
— | — |
allowed_tools |
array of string or null |
— | — |
rate_limit_per_minute |
integer or null |
— | — |
daily_cost_budget_units |
integer or null |
— | — |
enforcement_override |
string or null |
— | — |
enabled |
boolean or null |
— | — |
AggregatedSchedulerActions#
Scheduler actions counted per fixed time window ("Nistor activity").
| Field | Type | Required | Description |
|---|---|---|---|
window_minutes |
integer |
yes | Aggregation window size in minutes |
total_windows |
integer |
yes | Number of non-empty windows returned |
items |
array of SchedulerActionWindow | — | — |
AlertChannel#
Type: object.
AlertChannelCreate#
| Field | Type | Required | Description |
|---|---|---|---|
source |
string or null |
— | 'code' for code-managed, null for UI-created |
code_id |
string or null |
— | Stable identity for code-managed sync |
content_hash |
string or null |
— | SHA-256 of resolved content; drives the no-op skip |
locked |
boolean |
— | Code-managed rows are locked against UI edits |
version |
integer |
— | Bumped on each update |
source_repo |
string or null |
— | GitLab repo URL (deep-link source) |
source_branch |
string or null |
— | Git branch (deep-link source) |
source_file |
string or null |
— | File path in repo (deep-link source) |
source_line |
integer or null |
— | Line in source file (deep-link source) |
name |
string |
yes | Display name for the channel |
description |
string or null |
— | Channel description |
channel_type |
string |
— | Channel type: gchat, gchat_dm, gchat_space, slack, teams, email, webhook, in_app |
webhook_url |
string or null |
— | Webhook URL for the channel (required for gchat, slack, teams and webhook channels) |
is_active |
boolean |
— | Whether the channel is active |
environment |
string or null |
— | Environment filter: prod, test, dev, or null=all |
channel_metadata |
object or null |
— | Additional metadata (team, tags, etc.). For email channels: {"recipients": ["a@b.com"]}; for gchat_dm: {"target_email": "u@b.com"}; for gchat_space (app-posted, interactive buttons): {"space_name": "spaces/…"} (a space id or Chat URL is normalised). Optional "audience": "business" | "technical" selects the card rendering (default technical). Optional "timezone": an IANA name (e.g. "Europe/Paris") renders alert times for this channel in that zone (default: the global ALERT_DISPLAY_TIMEZONE). Optional "recipients_from": "node_owners" (email / in_app) adds the catalog owners of the alert's nodes to the recipients; the static list becomes optional and is the fallback. |
team |
string or null |
— | Slug of the owning team. Omitted or null: Unassigned, as before. Never a column: the route resolves it and stamps namespace_id. |
AlertChannelDeliveries#
| Field | Type | Required | Description |
|---|---|---|---|
by_status |
object of integer |
yes | sent/failed/queued/pending/retrying counts inside the window |
by_event_type |
object of object of integer |
yes | event_type -> status -> count, non-zero only |
last_sent_at |
string (date-time) or null |
— | Latest successful delivery, not windowed |
oldest_queued_at |
string (date-time) or null |
— | Oldest still-queued row, not windowed |
queued_backlog |
integer |
— | Every still-queued row on the channel, not windowed |
queued_overdue |
integer |
— | Queued rows older than their expected hold (the policy's batch window, 900 s by default; 7 days for digests) plus a 30-minute grace, not windowed. Non-zero means the batch drain is not taking them. |
AlertChannelSubscriptionNode#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
notify_on |
array of string |
yes | Distinct notify_on values across the node's active subscribers, sorted |
subscriber_count |
integer |
yes | — |
AlertChannelSubscriptions#
Node subscriptions pushing to the channel (node_subscription.channel_id).
| Field | Type | Required | Description |
|---|---|---|---|
active_count |
integer |
yes | — |
inactive_count |
integer |
yes | — |
subscriber_count |
integer |
yes | Distinct active subscribers |
subscribers |
array of string |
yes | Their emails, sorted |
triggers |
object of integer |
yes | run_complete / dq_pass -> active subscriptions firing on it; a 'both' subscription counts in each |
node_count |
integer |
yes | Distinct nodes with an active subscription, uncapped |
nodes |
array of AlertChannelSubscriptionNode | yes | Per-node detail, the first 100 by node_id |
AlertChannelSummaryEntry#
| Field | Type | Required | Description |
|---|---|---|---|
policies |
array of AlertChannelSummaryPolicy | yes | — |
deliveries |
AlertChannelDeliveries | yes | — |
subscriptions |
AlertChannelSubscriptions | yes | — |
AlertChannelSummaryPolicy#
The routing-relevant slice of a policy targeting a channel.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
is_active |
boolean |
yes | — |
scope_type |
string |
yes | — |
scope_id |
string or null |
— | — |
event_types |
array of string |
— | — |
min_severity |
string or null |
— | — |
conditions |
object or null |
— | — |
delivery_mode |
string |
— | — |
alert_on_recovery |
boolean |
— | — |
quiet_hours |
object or null |
— | — |
cooldown_seconds |
integer |
— | — |
source |
string or null |
— | — |
locked |
boolean |
— | — |
AlertChannelSummaryResponse#
| Field | Type | Required | Description |
|---|---|---|---|
window_days |
integer |
yes | — |
channels |
object of AlertChannelSummaryEntry | yes | Keyed by channel id |
AlertChannelUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
source |
string or null |
— | — |
code_id |
string or null |
— | — |
content_hash |
string or null |
— | — |
locked |
boolean or null |
— | — |
version |
integer or null |
— | — |
source_repo |
string or null |
— | — |
source_branch |
string or null |
— | — |
source_file |
string or null |
— | — |
source_line |
integer or null |
— | — |
team |
string or null |
— | Slug of the team to move the row to. Omitted: unchanged; null: Unassigned. Never a column: the route resolves it and stamps namespace_id. |
name |
string or null |
— | Display name for the channel |
description |
string or null |
— | Channel description |
channel_type |
string or null |
— | Channel type: gchat, gchat_dm, gchat_space, slack, teams, email, webhook, in_app |
webhook_url |
string or null |
— | Webhook URL for the channel (required for gchat, slack, teams and webhook channels) |
is_active |
boolean or null |
— | Whether the channel is active |
environment |
string or null |
— | Environment filter |
channel_metadata |
object or null |
— | Additional metadata. For gchat_space: {"space_name": "spaces/…"}. Optional "audience": "business" | "technical". Optional "timezone": an IANA name (e.g. "Europe/Paris"). Optional "minor_delivery": "batched" | "daily_9am" | "daily_18pm" | "weekly_monday_9am". Optional "recipients_from": "node_owners" (email / in_app) adds the catalog owners of the alert's nodes to the recipients; the static list becomes optional and is the fallback. |
AlertHistory#
Type: object.
AlertHistoryChannel#
Lightweight channel info embedded in alert history responses.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
channel_type |
string |
yes | — |
channel_metadata |
object or null |
— | — |
AlertPolicy#
Type: object.
AlertPolicyCreate#
| Field | Type | Required | Description |
|---|---|---|---|
source |
string or null |
— | 'code' for code-managed, null for UI-created |
code_id |
string or null |
— | Stable identity for code-managed sync |
content_hash |
string or null |
— | SHA-256 of resolved content; drives the no-op skip |
locked |
boolean |
— | Code-managed rows are locked against UI edits |
version |
integer |
— | Bumped on each update |
source_repo |
string or null |
— | GitLab repo URL (deep-link source) |
source_branch |
string or null |
— | Git branch (deep-link source) |
source_file |
string or null |
— | File path in repo (deep-link source) |
source_line |
integer or null |
— | Line in source file (deep-link source) |
name |
string |
yes | Policy name |
description |
string or null |
— | Policy description |
is_active |
boolean |
— | Whether the policy is active |
scope_type |
string |
— | Scope type: global, compiler, rule, node |
scope_id |
string or null |
— | Scope entity ID (null for global) |
event_types |
array of string |
— | Event types that trigger this policy |
min_severity |
string or null |
— | Minimum severity to trigger: critical, high, medium, low |
conditions |
object or null |
— | Additional filter conditions. Supported keys: 'environment' (str|list), 'executor_type' (str|list), 'node_types' (list of node-type family prefixes such as ['Microstrategy', 'Bigquery']) to restrict the policy to events involving those resource types, and 'incident_type' (str|list) to restrict incident_* events to given incident kinds (e.g. ['loss_of_signal']). |
channel_ids |
array of string (uuid) |
yes | Every channel the policy delivers to (fan-out: each gets the same alert). |
cooldown_seconds |
integer |
— | Deduplication cooldown window in seconds |
incident_dedup_seconds |
integer or null |
— | Suppress re-alerts while an incident is open. null=use system default (3600s/1h), 0=disabled, 86400=once/day. |
delivery_mode |
string |
— | Delivery mode: immediate, batched, digest |
batch_window_seconds |
integer or null |
— | Batch accumulation window in seconds |
digest_cron |
string or null |
— | Digest schedule: daily_9am, daily_18pm, weekly_monday_9am |
minor_delivery |
string or null |
— | Where the medium/low alerts of an immediate policy go: 'batched' (5-minute batches), 'daily_9am', 'daily_18pm' or 'weekly_monday_9am' (one report card per slot). null = inherit the channel's channel_metadata.minor_delivery, then the platform default. |
alert_on_recovery |
boolean |
— | Whether to send alerts for recovery events (action_success, incident_resolved). Disabled by default to reduce noise from flapping jobs. |
quiet_hours |
object or null |
— | Suppress non-CRITICAL alerts during off-hours. Format: {"start_hour": 22, "end_hour": 7, "tz_offset": 1} where tz_offset is hours from UTC and start_hour > end_hour means crosses midnight. |
team |
string or null |
— | Slug of the owning team. Omitted or null: Unassigned, as before. Never a column: the route resolves it and stamps namespace_id. |
AlertPolicyUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
source |
string or null |
— | — |
code_id |
string or null |
— | — |
content_hash |
string or null |
— | — |
locked |
boolean or null |
— | — |
version |
integer or null |
— | — |
source_repo |
string or null |
— | — |
source_branch |
string or null |
— | — |
source_file |
string or null |
— | — |
source_line |
integer or null |
— | — |
team |
string or null |
— | Slug of the team to move the row to. Omitted: unchanged; null: Unassigned. Never a column: the route resolves it and stamps namespace_id. |
name |
string or null |
— | Policy name |
description |
string or null |
— | Policy description |
is_active |
boolean or null |
— | Whether the policy is active |
scope_type |
string or null |
— | Scope type |
scope_id |
string or null |
— | Scope entity ID |
event_types |
array of string or null |
— | Event types |
min_severity |
string or null |
— | Minimum severity |
conditions |
object or null |
— | Additional filter conditions. Supported keys: 'environment' (str|list), 'executor_type' (str|list), 'node_types' (list of node-type family prefixes such as ['Microstrategy', 'Bigquery']) to restrict the policy to events involving those resource types, and 'incident_type' (str|list) to restrict incident_* events to given incident kinds (e.g. ['loss_of_signal']). |
channel_ids |
array of string (uuid) or null |
— | Replace the channel set (omit to keep it) |
cooldown_seconds |
integer or null |
— | Deduplication cooldown |
incident_dedup_seconds |
integer or null |
— | Suppress re-alerts while an incident is open. null=use system default (3600s/1h), 0=disabled, 86400=once/day. |
delivery_mode |
string or null |
— | Delivery mode: immediate, batched, digest |
batch_window_seconds |
integer or null |
— | Batch accumulation window in seconds |
digest_cron |
string or null |
— | Digest schedule |
minor_delivery |
string or null |
— | Medium/low delivery: batched, daily_9am, daily_18pm, weekly_monday_9am, or null to inherit |
alert_on_recovery |
boolean or null |
— | Send alerts for recovery events |
quiet_hours |
object or null |
— | Quiet hours config |
AncestorBarrierEntry#
Type: object.
AppliesTo#
Which nodes this rule applies to.
| Field | Type | Required | Description |
|---|---|---|---|
node_type |
string or null |
— | Type of nodes to match (e.g. 'MicrostrategyCube', 'BigqueryTable') |
node_ids |
array of string or null |
— | Node ID patterns (fnmatch globs) |
display_names |
array of string or null |
— | Display-name patterns (glob/regex) — useful for MicroStrategy where names are friendlier than IDs |
tags |
array of string or null |
— | Tags — matches nodes carrying ANY of these |
exclude_node_ids |
array of string or null |
— | Patterns to exclude from matching |
pause_node_ids |
array of string or null |
— | Pause this rule for specific nodes |
require_match_approval |
boolean or null |
— | When true, a node that newly matches stays pending until a human approves it (UI, API, CLI or the rule's match_decisions in Git); only approved nodes fire. |
AssetDqBreakdown#
Data-quality breakdown folded into an asset's Trust Score.
| Field | Type | Required | Description |
|---|---|---|---|
checks_total |
integer |
— | — |
checks_passing |
integer |
— | — |
checks_failing |
integer |
— | — |
dq_penalty |
number |
— | — |
dimensions |
array of AssetQualityDimension | — | — |
AssetGraphDirection#
One of: "ancestors", "descendants", "both".
AssetGraphNode#
A single node in the asset graph payload.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
node_type |
string or null |
— | — |
extra |
object |
— | Other lineage fields |
monitored |
boolean |
— | — |
asset_id |
string (uuid) or null |
— | — |
asset_name |
string or null |
— | — |
status |
HealthStatus or null |
— | — |
is_fresh |
boolean or null |
— | — |
recent_success_rate |
number or null |
— | — |
last_refresh_time |
string (date-time) or null |
— | — |
AssetGraphPayload#
Type: object.
AssetHealthSnapshotOut#
Type: object.
AssetOut#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
urn |
string |
yes | — |
tool_id |
string |
yes | — |
node_type |
string |
yes | — |
environment |
string or null |
— | — |
first_seen_at |
string (date-time) or null |
— | — |
last_seen_at |
string (date-time) or null |
— | — |
AssetPage#
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of AssetOut | yes | — |
total |
integer |
yes | Total matching the same filters, ignoring pagination |
limit |
integer |
yes | — |
offset |
integer |
yes | — |
AssetQualityBreach#
One failing DQ check on an asset, with its metric value vs. threshold.
| Field | Type | Required | Description |
|---|---|---|---|
check_id |
string (uuid) |
yes | — |
check_name |
string or null |
— | — |
check_type |
string or null |
— | — |
quality_dimension |
string |
yes | — |
status |
string |
yes | — |
metric_value |
number or null |
— | — |
expected_range |
object or null |
— | — |
last_run_at |
string (date-time) or null |
— | — |
error_message |
string or null |
— | — |
AssetQualityDimension#
Per-quality-dimension rollup (Collibra-style) for one asset.
| Field | Type | Required | Description |
|---|---|---|---|
dimension |
string |
yes | — |
score |
number or null |
— | — |
total_checks |
integer |
— | — |
passing |
integer |
— | — |
failing |
integer |
— | — |
breaches |
array of AssetQualityBreach | — | — |
AssetScopeUpdate#
Payload for PUT /groups/{id}/assets/{id}/scope.
| Field | Type | Required | Description |
|---|---|---|---|
monitoring_scope |
MonitoringScope | — | — |
scope_depth |
integer or null |
— | Lineage walk depth; NULL = unlimited |
AssetSearchResult#
A catalog asset (table/dashboard/cube) — the documented thing itself, matched on its id, description/readme, or owner email.
| Field | Type | Required | Description |
|---|---|---|---|
entity_type |
string |
— | — |
node_id |
string |
yes | — |
description |
string or null |
— | — |
owner_email |
string or null |
— | — |
asset_type |
string or null |
— | — |
certification_status |
string or null |
— | — |
rank |
number |
yes | — |
AssetSloBudget#
Type: object.
AssetSloBudgetWindow#
One multi-window burn alert, evaluated against its firing threshold.
| Field | Type | Required | Description |
|---|---|---|---|
window_hours |
integer |
yes | — |
severity |
string |
yes | — |
burn_rate |
number |
yes | — |
firing_burn_rate |
number |
yes | — |
fired |
boolean |
yes | — |
AssetSLOConfig-Input#
Per-asset SLO configuration. Stored on monitored\_asset.slo\_config.
| Field | Type | Required | Description |
|---|---|---|---|
freshness |
FreshnessSLO-Input or null |
— | — |
AssetSLOConfig-Output#
Per-asset SLO configuration. Stored on monitored\_asset.slo\_config.
| Field | Type | Required | Description |
|---|---|---|---|
freshness |
FreshnessSLO-Output or null |
— | — |
AssetSLOResponse#
What the GET /assets/{id}/slo endpoint returns.
| Field | Type | Required | Description |
|---|---|---|---|
asset_id |
string (uuid) |
yes | — |
overridden |
boolean |
yes | — |
config |
AssetSLOConfig-Output | yes | — |
paused |
boolean |
— | — |
paused_reason |
string or null |
— | — |
AssetStatusItem#
Type: object.
AssetTrustDetail#
Type: object.
AssetType#
Legacy MicroStrategy asset types — kept for backwards compatibility.
One of: "cube", "report", "irr", "dashboard".
AuditChainBreak#
A single detected discontinuity in the audit hash chain.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string or null |
— | — |
index |
integer |
yes | — |
reason |
string |
yes | — |
expected |
string or null |
— | — |
stored |
string or null |
— | — |
expected_prev_hash |
string or null |
— | — |
stored_prev_hash |
string or null |
— | — |
AuditChainIntegrityResponse#
Result of recomputing and verifying the audit-log tamper-evidence chain.
| Field | Type | Required | Description |
|---|---|---|---|
checked |
integer |
yes | Number of chained rows verified |
ok |
boolean |
yes | True when no breaks were detected |
breaks |
array of AuditChainBreak | — | — |
first_checked_id |
string or null |
— | — |
last_checked_id |
string or null |
— | — |
AuditLogResponse#
Generic response for audit log entries.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
performed_by |
string |
yes | — |
action_category |
string |
yes | — |
action_type |
string |
yes | — |
resource_type |
string or null |
— | — |
resource_id |
string or null |
— | — |
details |
object or null |
— | — |
status |
string or null |
— | — |
error_message |
string or null |
— | — |
environment |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
AutoCloseRequest#
Request model for auto-closing an incident
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) or null |
— | Rule ID — None for externally-ingested runs (microstrategy/datafusion external runs) |
affected_nodes |
array of string |
yes | List of affected nodes |
action |
string |
yes | Action name |
success_datetime |
string |
yes | ISO datetime string when action succeeded |
B#
BackfillClassificationResponse#
Result of the write-once incident-classification backfill.
| Field | Type | Required | Description |
|---|---|---|---|
updated |
integer |
yes | Number of incident rows classified by this run |
BackfillRequest#
| Field | Type | Required | Description |
|---|---|---|---|
start_date |
string (date-time) |
yes | Backfill window start (inclusive) |
end_date |
string (date-time) |
yes | Backfill window end (inclusive) |
dry_run |
boolean |
— | If true, return the plan without executing |
fail_strategy |
string (enum) |
— | abort: stop everything on first failure. continue_independent: skip dependent branches, continue independent ones. |
BackfillResponse#
Outcome of a click on the 'Backfill from BigQuery' button.
| Field | Type | Required | Description |
|---|---|---|---|
metrics |
BqTableMetricsResponse | yes | — |
days_backfilled |
integer |
— | — |
bytes_scanned |
integer |
— | — |
slot_millis |
integer |
— | — |
error |
string or null |
— | — |
BackfillRunDetailResponse#
Type: object.
BackfillRunResponse#
Type: object.
BackfillRunStepResponse#
Type: object.
BackingOffOut#
| Field | Type | Required | Description |
|---|---|---|---|
count |
integer |
yes | Fresh processes currently backing off from MSTR logins |
earliest_retry |
string (date-time) or null |
— | Soonest moment any backing-off process will retry, or null when none is backing off |
BarrierStateSummary#
Type: object.
BlastRadiusNode#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
display_name |
string |
yes | — |
node_type |
string |
yes | — |
verdict |
string |
yes | — |
competing |
array of object |
— | — |
competing_total |
integer |
— | — |
cost_window_usd |
number or null |
— | — |
cost_is_measured |
boolean |
— | — |
recent_event_count |
integer or null |
— | — |
BlastRadiusRequest#
Resolve an unsaved rule against the live node graph.
| Field | Type | Required | Description |
|---|---|---|---|
rule |
object |
yes | A rule in the canonical shape (applies_to / when / if / then). |
limit |
integer |
— | Maximum node rows returned; the total is reported regardless. |
cost_days |
integer |
— | Window for the per-node cost and event counts. |
BlastRadiusResponse#
| Field | Type | Required | Description |
|---|---|---|---|
matched |
array of BlastRadiusNode | yes | — |
total_matched |
integer |
yes | How many nodes the rule's applies_to selector REACHES — every node it matches, including the ones where it loses the priority contest to an incumbent. This is the blast radius in the safety sense ('what am I touching?'), so it is deliberately NOT the same number as /validate's matched_node_count, which counts only the nodes the rule would actually WIN and therefore run on. Label the two differently in the UI (e.g. 'reaches N nodes' vs 'would run on N nodes'); presenting either as 'matched nodes' makes them look like a contradiction. Reported in full even when matched is truncated by limit. |
truncated |
boolean |
yes | — |
resolved_env |
string or null |
— | — |
notes |
array of string |
— | — |
BoundObject#
A metric/attribute referenced by a visualization or a selector.
| Field | Type | Required | Description |
|---|---|---|---|
object_id |
string or null |
— | — |
name |
string or null |
— | — |
object_type |
string or null |
— | — |
node_id |
string or null |
— | — |
acl_gated |
boolean |
— | — |
BqTableMetricsResponse#
All five time series for one BigQuery table over the requested period.
| Field | Type | Required | Description |
|---|---|---|---|
storage |
array of StoragePoint | — | — |
activity |
array of ActivityPoint | — | — |
rows |
array of RowMovementPoint | — | — |
cost |
array of CostPoint | — | — |
enrichment |
array of EnrichmentPoint | — | — |
latest_live |
StoragePoint or null |
— | Populated only by POST /refresh — one fresh INFORMATION_SCHEMA-derived point. |
BudgetOut#
| Field | Type | Required | Description |
|---|---|---|---|
as_of |
string (date-time) |
yes | — |
window_seconds |
integer |
yes | — |
tools |
array of ToolOut | yes | — |
BulkReplayRequest#
| Field | Type | Required | Description |
|---|---|---|---|
action_run_ids |
array of string (uuid) |
yes | — |
BulkReplayResponse#
| Field | Type | Required | Description |
|---|---|---|---|
batch_id |
string |
yes | — |
accepted |
integer |
yes | — |
BurnAlertSeverity#
One of: "warning", "critical".
BurnAlertWindow#
One alert rule on a rolling burn window.
| Field | Type | Required | Description |
|---|---|---|---|
window_hours |
integer |
yes | — |
budget_consumed_threshold |
number |
yes | — |
severity |
BurnAlertSeverity | — | — |
BusinessCalendarCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Unique human-readable name |
country_code |
string |
yes | ISO country code supported by the business-calendar provider (e.g. 'BE', 'US', 'FR') |
subdivision_code |
string or null |
— | Optional subdivision for countries with regional calendars (e.g. 'US-NY') |
description |
string or null |
— | — |
extra_holidays |
array of ExtraDay or null |
— | Dates that should be treated as non-working in addition to the country calendar |
extra_working_days |
array of ExtraDay or null |
— | Dates that should be treated as working days even if the country calendar marks them as holidays |
BusinessCalendarRead#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Unique human-readable name |
country_code |
string |
yes | ISO country code supported by the business-calendar provider (e.g. 'BE', 'US', 'FR') |
subdivision_code |
string or null |
— | Optional subdivision for countries with regional calendars (e.g. 'US-NY') |
description |
string or null |
— | — |
extra_holidays |
array of ExtraDay or null |
— | Dates that should be treated as non-working in addition to the country calendar |
extra_working_days |
array of ExtraDay or null |
— | Dates that should be treated as working days even if the country calendar marks them as holidays |
id |
string (uuid) |
yes | — |
status |
string |
yes | — |
created_by |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
BusinessCalendarUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
country_code |
string or null |
— | — |
subdivision_code |
string or null |
— | — |
description |
string or null |
— | — |
extra_holidays |
array of ExtraDay or null |
— | — |
extra_working_days |
array of ExtraDay or null |
— | — |
status |
string or null |
— | — |
C#
CancelMicrostrategyJobsRequest#
The cancel-jobs body: the jobs (job\_ids, or the legacy alias encoded\_job\_ids; bare "143242" or encoded "143242:<node>") and, optionally, the failed run whose lock conflict named them.
| Field | Type | Required | Description |
|---|---|---|---|
job_ids |
array of string or integer or null |
— | — |
encoded_job_ids |
array of string or integer or null |
— | — |
action_run_id |
string (uuid) or null |
— | The failed run whose lock conflict named the jobs |
CapabilityOut#
Capability + activation state as seen by the frontend.
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
name |
string |
yes | — |
description |
string |
— | — |
required_tools |
array of string |
— | — |
enabled |
boolean |
yes | — |
scope |
string |
— | — |
updated_by |
string or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
toggleable |
boolean |
— | — |
CapabilityRef#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
name |
string |
yes | — |
enabled |
boolean |
yes | True if enabled in DB or absent (default-enabled) |
seeded |
boolean |
yes | True if a row exists in the capabilities table |
CapabilityToggle#
Body for PATCH /api/v1/capabilities/{key}.
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
yes | — |
scope |
string or null |
— | — |
CatalogNodeSearchResult#
A single node returned by the full-text search endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
display_name |
string or null |
— | — |
node_type |
string or null |
— | — |
display_type |
string or null |
— | — |
environment |
string or null |
— | — |
hierarchy |
object or null |
— | — |
ancestors_count |
integer |
— | — |
descendants_count |
integer |
— | — |
rank |
number |
— | ts_rank relevance score |
popularity_score |
number |
— | — |
popularity_stars |
integer |
— | — |
popularity_views |
integer |
— | — |
popularity_unique_users |
integer |
— | — |
popularity_reads |
integer |
— | — |
popularity_readers |
integer |
— | — |
last_read_at |
string or null |
— | — |
deployment_sources |
array of DeploymentSourceSummary | — | — |
description_source |
string or null |
— | — |
owner_email |
string or null |
— | — |
last_synced_at |
string or null |
— | — |
CatalogSearchResponse#
Response envelope for the FTS search endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
nodes |
array of CatalogNodeSearchResult | yes | — |
count |
integer |
yes | Number of nodes in this response page |
total_count |
integer |
yes | Total nodes matching the query |
limit_reached |
boolean |
yes | True if more results exist beyond this page |
ChainExecuteRequest#
| Field | Type | Required | Description |
|---|---|---|---|
trigger_node_id |
string or null |
— | Node that triggered the chain |
fail_strategy |
string (enum) |
— | Chain-level failure strategy override |
ChainRunDetailResponse#
Type: object.
ChainRunResponse#
Type: object.
ChainRunStepResponse#
Type: object.
ChainSpec#
Schema for the chain_spec JSONB stored in ActionChainDefinition.
| Field | Type | Required | Description |
|---|---|---|---|
steps |
array of ChainStepSpec | yes | Ordered list of chain steps |
ChainStep-Input#
One step in a multi-step action chain.
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
type |
string |
yes | — |
parameters |
ActionParameters or null |
— | — |
after |
array of string or null |
— | — |
on_failure |
string (enum) |
— | — |
node_ids |
array of string or null |
— | Per-step target node(s) the step's action runs on. A step maps to a single action_run, so the first entry is used; when unset the step runs against the chain's trigger node. Lets one chain refresh several distinct nodes in sequence (e.g. successive MicroStrategy incremental-refresh reports). |
ChainStep-Output#
One step in a multi-step action chain.
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
type |
string |
yes | — |
parameters |
ActionParameters or null |
— | — |
after |
array of string or null |
— | — |
on_failure |
string (enum) |
— | — |
node_ids |
array of string or null |
— | Per-step target node(s) the step's action runs on. A step maps to a single action_run, so the first entry is used; when unset the step runs against the chain's trigger node. Lets one chain refresh several distinct nodes in sequence (e.g. successive MicroStrategy incremental-refresh reports). |
ChainStepAttemptResponse#
Type: object.
ChainStepRetryPolicy#
| Field | Type | Required | Description |
|---|---|---|---|
max_retries |
integer |
— | Maximum retry attempts for this step |
backoff_seconds |
integer |
— | Seconds to wait between retries |
ChainStepRetryRequest#
step re-runs only that step; resume re-drives it and everything after.
| Field | Type | Required | Description |
|---|---|---|---|
mode |
string (enum) |
— | — |
ChainStepRollback#
| Field | Type | Required | Description |
|---|---|---|---|
executor_type |
string |
yes | Executor plugin id for rollback action |
action |
string |
yes | Action string for rollback |
parameters |
object or null |
— | Executor-specific parameters |
ChainStepSpec#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | Unique step key within the chain |
executor_type |
string |
yes | Executor plugin id (e.g., 'dataform', 'microstrategy') |
action |
string |
yes | Action string to execute |
parameters |
object or null |
— | Executor-specific parameters |
predecessors |
array of string or null |
— | List of step keys that must complete before this step |
condition |
string or null |
— | Jinja2 expression evaluated against previous step outputs |
retry |
ChainStepRetryPolicy or null |
— | Per-step retry policy |
on_failure |
string (enum) |
— | Behavior on step failure: abort chain, continue independent branches, or rollback |
rollback |
ChainStepRollback or null |
— | Rollback action to execute if this step fails and on_failure is 'rollback' |
ChangeEventRead#
A single normalised change event surfaced to the UI.
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
yes | — |
node_id |
string or null |
— | — |
occurred_at |
string (date-time) |
yes | — |
summary |
object |
yes | — |
source_id |
string |
yes | — |
commit_sha |
string or null |
— | — |
author |
string or null |
— | — |
repo |
string or null |
— | — |
branch |
string or null |
— | — |
file |
string or null |
— | — |
line |
integer or null |
— | — |
url |
string or null |
— | — |
ChapterInfo#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string or null |
— | — |
name |
string or null |
— | — |
pages |
array of PageInfo | — | — |
ClaimedWatch#
One leased watch, with everything a probe needs to run.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
node_id |
string |
yes | — |
node_type |
string |
yes | — |
probe_id |
string |
yes | — |
probe_config |
object |
— | — |
freshness_facts |
boolean |
— | — |
interval_seconds |
integer |
yes | — |
last_seen_modified |
string (date-time) or null |
— | — |
consecutive_failures |
integer |
— | — |
probe_due |
boolean |
— | — |
last_error_kind |
string or null |
— | — |
fallback_times |
array of string |
— | — |
fallback_time_zone |
string |
— | — |
last_fallback_at |
string (date-time) or null |
— | — |
last_seen_fingerprint |
string or null |
— | — |
pending_fingerprint |
string or null |
— | — |
pending_observed_at |
string (date-time) or null |
— | — |
last_exact_read_at |
string (date-time) or null |
— | — |
last_exact_bytes |
integer or null |
— | — |
connection_id |
string or null |
— | — |
ClaimRequest#
| Field | Type | Required | Description |
|---|---|---|---|
limit |
integer |
— | Maximum watches to lease in this tick |
lease_seconds |
integer |
— | How long the lease is held |
node_ids |
array of string or null |
— | — |
ClaimResponse#
| Field | Type | Required | Description |
|---|---|---|---|
watches |
array of ClaimedWatch | — | — |
CloudSqlInstanceHistoryPoint#
| Field | Type | Required | Description |
|---|---|---|---|
captured_at |
string (date-time) |
yes | — |
total_bytes |
integer |
yes | — |
table_count |
integer |
yes | — |
CloudSqlInstanceHistoryResponse#
| Field | Type | Required | Description |
|---|---|---|---|
instance_node_id |
string |
yes | — |
points |
array of CloudSqlInstanceHistoryPoint | — | — |
CloudSqlInstanceTablesResponse#
| Field | Type | Required | Description |
|---|---|---|---|
instance_node_id |
string |
yes | — |
project_id |
string |
yes | — |
instance_name |
string |
yes | — |
captured_at |
string (date-time) or null |
— | — |
total_bytes |
integer |
— | — |
table_count |
integer |
— | — |
tables |
array of CloudSqlTableCurrent | — | — |
CloudSqlSnapshotIngestRequest#
| Field | Type | Required | Description |
|---|---|---|---|
instance_node_id |
string |
yes | — |
project_id |
string |
yes | — |
instance_name |
string |
yes | — |
captured_at |
string (date-time) |
yes | — |
rows |
array of CloudSqlSnapshotRow | yes | — |
CloudSqlSnapshotIngestResponse#
| Field | Type | Required | Description |
|---|---|---|---|
instance_node_id |
string |
yes | — |
captured_at |
string (date-time) |
yes | — |
inserted |
integer |
yes | — |
CloudSqlSnapshotRow#
| Field | Type | Required | Description |
|---|---|---|---|
database_name |
string |
yes | — |
schema_name |
string |
yes | — |
table_name |
string |
yes | — |
total_bytes |
integer |
yes | — |
heap_bytes |
integer |
yes | — |
index_bytes |
integer |
yes | — |
toast_bytes |
integer |
yes | — |
n_live_tup |
integer or null |
— | — |
n_dead_tup |
integer or null |
— | — |
last_vacuum |
string (date-time) or null |
— | — |
last_autovacuum |
string (date-time) or null |
— | — |
last_analyze |
string (date-time) or null |
— | — |
last_autoanalyze |
string (date-time) or null |
— | — |
CloudSqlTableCurrent#
Current per-table size for an instance (latest captured_at per table).
| Field | Type | Required | Description |
|---|---|---|---|
database_name |
string |
yes | — |
schema_name |
string |
yes | — |
table_name |
string |
yes | — |
captured_at |
string (date-time) |
yes | — |
total_bytes |
integer |
yes | — |
heap_bytes |
integer |
yes | — |
index_bytes |
integer |
yes | — |
toast_bytes |
integer |
yes | — |
n_live_tup |
integer or null |
— | — |
n_dead_tup |
integer or null |
— | — |
last_vacuum |
string (date-time) or null |
— | — |
last_autovacuum |
string (date-time) or null |
— | — |
last_analyze |
string (date-time) or null |
— | — |
last_autoanalyze |
string (date-time) or null |
— | — |
total_bytes_delta_30d |
integer or null |
— | — |
CloudSqlTableHistoryPoint#
| Field | Type | Required | Description |
|---|---|---|---|
captured_at |
string (date-time) |
yes | — |
total_bytes |
integer |
yes | — |
heap_bytes |
integer |
yes | — |
index_bytes |
integer |
yes | — |
toast_bytes |
integer |
yes | — |
n_live_tup |
integer or null |
— | — |
CloudSqlTableHistoryResponse#
| Field | Type | Required | Description |
|---|---|---|---|
instance_node_id |
string |
yes | — |
database_name |
string |
yes | — |
schema_name |
string |
yes | — |
table_name |
string |
yes | — |
points |
array of CloudSqlTableHistoryPoint | — | — |
CollabCommentCreate#
Create a comment or a reply on an entity.
| Field | Type | Required | Description |
|---|---|---|---|
body |
string |
yes | Comment body. @user@domain mentions are auto-extracted. |
parent_comment_id |
string (uuid) or null |
— | Top-level comment id to reply to; omit for a new thread. |
comment_type |
string |
— | discussion | resolution | status_change |
environment |
string or null |
— | Env scope for env-scoped entities (e.g. catalog nodes). |
CollabCommentResponse#
A single comment as returned by the API.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
entity_type |
string |
yes | — |
entity_id |
string |
yes | — |
environment |
string or null |
— | — |
author_email |
string |
yes | — |
body |
string |
yes | — |
parent_comment_id |
string (uuid) or null |
— | — |
comment_type |
string |
yes | — |
mentioned_emails |
array of string |
— | — |
is_edited |
boolean |
yes | — |
is_deleted |
boolean |
yes | — |
is_resolved |
boolean |
— | — |
resolved_by |
string or null |
— | — |
resolved_at |
string (date-time) or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
CollabCommentUpdate#
Edit the body of an existing comment.
| Field | Type | Required | Description |
|---|---|---|---|
body |
string |
yes | — |
ColumnDerivation#
| Field | Type | Required | Description |
|---|---|---|---|
column_name |
string |
yes | — |
derivation_summary |
string or null |
— | — |
source_columns |
array of SourceColumn | — | — |
has_lineage |
boolean |
— | — |
ColumnDerivationsResponse#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
node_display_name |
string or null |
— | — |
columns |
array of ColumnDerivation | — | — |
total_columns |
integer |
— | — |
columns_with_lineage |
integer |
— | — |
ColumnFieldGroupResponse#
The same-field group for one (node\_id, column\_name) origin.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
column_name |
string |
yes | — |
group |
array of SameFieldColumn | — | — |
group_size |
integer |
— | — |
truncated |
boolean |
— | — |
ColumnMeta#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
type |
string |
yes | — |
mode |
string or null |
— | — |
description |
string or null |
— | — |
ColumnReadCount#
Column read count for a specific column
| Field | Type | Required | Description |
|---|---|---|---|
column_name |
string |
yes | — |
read_count |
integer |
yes | — |
ColumnReaderEntry#
One reader (writer principal) of a single column over the look-back window.
| Field | Type | Required | Description |
|---|---|---|---|
principal |
string |
yes | — |
principal_type |
string |
yes | — |
read_count |
integer |
yes | — |
last_read_at |
string (date-time) or null |
— | — |
bytes_processed |
integer or null |
— | — |
is_nistor_user |
boolean |
— | — |
display_name |
string or null |
— | — |
is_admin |
boolean |
— | — |
ColumnReadStatsResponse#
Response model for column read statistics
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
days |
integer |
yes | — |
aggregation_type |
string |
yes | — |
columns |
array of ColumnReadCount | yes | — |
total_reads |
integer |
— | — |
ColumnSearchResult#
| Field | Type | Required | Description |
|---|---|---|---|
entity_type |
string |
— | — |
node_id |
string |
yes | — |
column_name |
string |
yes | — |
description |
string or null |
— | — |
data_type |
string or null |
— | — |
source |
string or null |
— | — |
rank |
number |
yes | — |
ColumnUsageResponse#
Usage of a single column, aggregated live from input\_logs BIGQUERY\_READ rows whose log\_metadata.fields\_read array references the column (JSONB containment) — Nistor's own ingested audit logs, no live GCP call.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
column_name |
string |
yes | — |
window_days |
integer |
— | — |
read_count |
integer |
— | — |
rank |
integer or null |
— | — |
total_columns_read |
integer |
— | — |
total_billed_bytes |
integer or null |
— | — |
total_processed_bytes |
integer or null |
— | — |
last_read_at |
string (date-time) or null |
— | — |
total_distinct_readers |
integer |
— | — |
readers |
array of ColumnReaderEntry | — | — |
CommitImpactRead#
Forward blast-radius of a deploy commit: what it touched + what broke.
| Field | Type | Required | Description |
|---|---|---|---|
commit_sha |
string |
yes | — |
deploy_time |
string (date-time) or null |
— | — |
window_days |
integer |
yes | — |
deployed_nodes |
array of string |
yes | — |
deployed_node_count |
integer |
yes | — |
downstream_node_count |
integer |
yes | — |
impacted_incidents |
array of ImpactedIncidentRead | yes | — |
est_cost_usd |
number or null |
— | — |
CompatibleSystemRef#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | External system, e.g. 'BigQuery' |
detail |
string |
yes | What the integration extracts or acts on there |
icon |
string or null |
— | Presentational icon slug, e.g. 'bigquery' |
CompilationCreate#
| Field | Type | Required | Description |
|---|---|---|---|
gcs_url |
string |
yes | GCS URL of the compilation |
start_of_compilation |
string (date-time) |
yes | Start datetime of the compilation |
end_of_compilation |
string (date-time) |
yes | End datetime of the compilation |
config |
object or null |
— | Configuration JSON |
extraction_statuses |
array of ExtractionStatus or null |
— | Status of each extraction operation |
environment |
string or null |
— | Environment (dev, test, prod) |
CompilationResponse#
| Field | Type | Required | Description |
|---|---|---|---|
gcs_url |
string |
yes | GCS URL of the compilation |
start_of_compilation |
string (date-time) |
yes | Start datetime of the compilation |
end_of_compilation |
string (date-time) |
yes | End datetime of the compilation |
config |
object or null |
— | Configuration JSON |
extraction_statuses |
array of ExtractionStatus or null |
— | Status of each extraction operation |
environment |
string or null |
— | Environment (dev, test, prod) |
id |
string (uuid) |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
CompilationTriggerCompatResponse#
Backward-compatible response for GET /compilations/triggers.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
triggered_by |
string |
yes | — |
environment |
string |
yes | — |
trigger_type |
string |
yes | — |
status |
string |
yes | — |
config |
object or null |
— | — |
created_at |
string (date-time) |
yes | — |
message |
string |
yes | — |
CompilationTriggerRequest#
Request schema for triggering a compilation.
| Field | Type | Required | Description |
|---|---|---|---|
tools |
array of object or null |
— | Partial compilation config. None = full compilation using stored config. |
CompilationUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
gcs_url |
string or null |
— | — |
start_of_compilation |
string (date-time) or null |
— | — |
end_of_compilation |
string (date-time) or null |
— | — |
config |
object or null |
— | — |
extraction_statuses |
array of ExtractionStatus or null |
— | — |
environment |
string or null |
— | — |
CompilerConfigCreate#
Schema for creating compiler configuration records.
| Field | Type | Required | Description |
|---|---|---|---|
environment |
string |
yes | Environment name (dev, test, prod) |
tools |
array of ToolConfig or null |
— | — |
config |
CompilerConfigData or null |
— | — |
CompilerConfigData#
Raw compiler configuration payload.
| Field | Type | Required | Description |
|---|---|---|---|
tools |
array of ToolConfig | — | — |
CompilerConfigList#
List wrapper for compiler configurations.
| Field | Type | Required | Description |
|---|---|---|---|
configs |
array of CompilerConfigResponse | yes | — |
total |
integer |
yes | — |
CompilerConfigResponse#
Response schema combining raw compiler config fields.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string or null |
— | — |
environment |
string |
yes | — |
config |
CompilerConfigData | yes | — |
tools |
array of ToolConfig | — | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
ConnectionCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
tool_type |
string |
yes | — |
description |
string or null |
— | — |
is_default |
boolean |
— | — |
config |
object |
— | — |
secrets |
object of string (password) |
— | — |
cadence_minutes |
integer |
— | — |
ConnectionCredentialsResponse#
Returned to services only. Contains plaintext secret values.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
tool_type |
string |
yes | — |
config |
object |
— | — |
secrets |
object of string |
— | — |
is_default |
boolean |
— | — |
ConnectionInfoOut#
Read-only connection info for the 'Connect a client' flow: the hosted gateway URL + environment so the UI can pre-fill each client's config. No token here — the raw token is spliced in client-side from the one-time reveal.
| Field | Type | Required | Description |
|---|---|---|---|
remote_mcp_url |
string |
yes | — |
environment |
string |
yes | — |
ConnectionResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
tool_type |
string |
yes | — |
description |
string or null |
— | — |
status |
string |
yes | — |
is_default |
boolean |
yes | — |
config_json |
object |
— | — |
secret_keys |
array of string |
— | — |
secret_age_days |
object of integer |
— | — |
created_by |
string or null |
— | — |
updated_by |
string or null |
— | — |
last_tested_at |
string (date-time) or null |
— | — |
last_test_status |
string or null |
— | — |
last_test_error |
string or null |
— | — |
cadence_minutes |
integer |
— | — |
next_test_due_at |
string (date-time) or null |
— | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
ConnectionRunner#
| Field | Type | Required | Description |
|---|---|---|---|
runner_id |
string (uuid) or null |
— | The runner the connection's runs go to; null: this deployment |
ConnectionSecretRotateRequest#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
new_value |
string (password) |
yes | — |
name_confirmation |
string |
yes | — |
ConnectionSecretRotateResponse#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
rotated_at |
string |
yes | — |
previous_disabled |
boolean |
yes | — |
ConnectionTestHistoryEntry#
| Field | Type | Required | Description |
|---|---|---|---|
tested_at |
string (date-time) |
yes | — |
ok |
boolean |
yes | — |
latency_ms |
integer or null |
— | — |
error_text |
string or null |
— | — |
triggered_by |
string |
yes | — |
status |
string or null |
— | — |
vendor_version |
string or null |
— | — |
ConnectionTestResponse#
| Field | Type | Required | Description |
|---|---|---|---|
ok |
boolean |
yes | — |
message |
string or null |
— | — |
status |
string or null |
— | — |
ConnectionUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
description |
string or null |
— | — |
status |
string or null |
— | — |
is_default |
boolean or null |
— | — |
config |
object or null |
— | — |
secrets |
object of string (password) or null |
— | — |
cadence_minutes |
integer or null |
— | — |
ConnectionUsageEntry#
One row of the per-connection usage rollup (Phase 2).
| Field | Type | Required | Description |
|---|---|---|---|
executor_type |
string |
yes | — |
run_count |
integer |
yes | — |
last_used_at |
string (date-time) |
yes | — |
ContainerOut#
| Field | Type | Required | Description |
|---|---|---|---|
container |
object of string |
yes | — |
label |
string |
yes | — |
depth |
integer |
yes | — |
node_count |
integer |
yes | — |
unassigned_count |
integer |
yes | — |
owner |
OwnerRef or null |
— | — |
ContainersResponse#
| Field | Type | Required | Description |
|---|---|---|---|
total_nodes |
integer |
yes | — |
unassigned_nodes |
integer |
yes | — |
items |
array of ContainerOut | yes | — |
ContractComplianceOut#
GET /{id}/compliance — mirrors ContractAssessment.to\_dict().
| Field | Type | Required | Description |
|---|---|---|---|
contract_id |
string |
yes | — |
compliance |
number or null |
— | — |
compliance_pct |
number or null |
— | — |
measured_pairs |
integer |
— | — |
total_pairs |
integer |
— | — |
compliant_pairs |
integer |
— | — |
by_dimension |
object |
— | — |
ContractDimension#
Which dimension a DimensionSLO governs.
One of: "freshness", "volume", "schema", "quality".
ContractStatus#
Contract lifecycle. Only active contracts are evaluated.
One of: "draft", "active", "deprecated".
ContractVersionsOut#
GET /{id}/versions — current version plus the prior-spec timeline.
| Field | Type | Required | Description |
|---|---|---|---|
contract_id |
string (uuid) |
yes | — |
current_version |
integer |
yes | — |
history |
array of SpecHistoryEntry | — | — |
CostEstimate#
| Field | Type | Required | Description |
|---|---|---|---|
tables |
integer |
yes | — |
bytes_per_table |
integer |
yes | — |
reads_per_day |
number |
yes | — |
reads_per_day_is_upper_bound |
boolean |
yes | — |
monthly_usd |
number |
yes | — |
price_per_tib |
number |
yes | — |
CostFigure#
One amount of money and how it is known.
| Field | Type | Required | Description |
|---|---|---|---|
amount_usd |
string or null |
— | — |
basis |
string (enum) |
yes | — |
detail |
string or null |
— | — |
sku |
string or null |
— | — |
rate_ref |
string or null |
— | — |
currency |
"USD" |
— | — |
approximate |
boolean |
yes | Whether the renderer draws a ~. Derived from *basis*, always. |
CostLimit#
| Field | Type | Required | Description |
|---|---|---|---|
max_cost_usd |
number |
yes | — |
period |
CostLimitPeriod | yes | — |
CostLimitPeriod#
One of: "minute", "hour", "day", "week", "month", "year".
CostOfFailureDailyPoint#
Type: object.
CostOfFailureOffender#
Type: object.
CostPoint#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
total_cost_usd |
string |
yes | — |
CostPointRead#
One daily cost rollup point on a node timeline.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date-time) or string (date) |
yes | — |
total_cost_usd |
number |
yes | — |
CountryOption#
A single entry returned from GET /business_calendars/countries.
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | — |
label |
string |
yes | — |
CrossEntitySearchResponse#
| Field | Type | Required | Description |
|---|---|---|---|
nodes |
array of NodeSearchResult | yes | — |
nodes_total |
integer |
yes | — |
incidents |
array of IncidentSearchResult | yes | — |
incidents_total |
integer |
yes | — |
rules |
array of RuleSearchResult | yes | — |
rules_total |
integer |
yes | — |
columns |
array of ColumnSearchResult | — | — |
columns_total |
integer |
— | — |
assets |
array of AssetSearchResult | — | — |
assets_total |
integer |
— | — |
terms |
array of TermSearchResult | — | — |
terms_total |
integer |
— | — |
sifflet_rules |
array of SiffletRuleSearchResult | — | — |
sifflet_rules_total |
integer |
— | — |
query |
string |
yes | — |
CrossEnvCompilationHistoryResponse#
Compilation history per environment, fanned out from a single backend.
| Field | Type | Required | Description |
|---|---|---|---|
dev |
array of CompilationResponse | — | — |
test |
array of CompilationResponse | — | — |
prod |
array of CompilationResponse | — | — |
CrossEnvCompilationResponse#
Last compilation per environment, fanned out from a single backend.
| Field | Type | Required | Description |
|---|---|---|---|
dev |
CompilationResponse or null |
— | — |
test |
CompilationResponse or null |
— | — |
prod |
CompilationResponse or null |
— | — |
CubeDqTargets#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
acl_gated |
boolean |
— | — |
materialized |
boolean |
— | — |
last_update_time |
string or null |
— | — |
attributes |
array of DqTargetObject | — | — |
metrics |
array of DqTargetObject | — | — |
warnings |
array of string |
— | — |
CulpritRead#
A scored, ranked candidate change with its human explanation.
| Field | Type | Required | Description |
|---|---|---|---|
change_event |
ChangeEventRead | yes | — |
lineage_distance |
integer |
yes | — |
score |
number |
yes | — |
confidence |
string |
yes | — |
reason |
string |
yes | — |
score_breakdown |
object |
yes | — |
CurrentUserResponse#
Schema for current user response (/me endpoint).
| Field | Type | Required | Description |
|---|---|---|---|
email |
string |
yes | User email address |
is_admin |
boolean |
yes | Whether user has admin privileges |
is_active |
boolean |
yes | Whether user account is active |
permissions |
array of string |
yes | List of permission codes the user has |
display_name |
string or null |
— | User display name |
namespace_ids |
array of string |
— | Namespace IDs the user belongs to |
namespace_roles |
object of string |
— | Mapping of namespace ID to role |
demo_visitor |
string or null |
— | The demo visitor kind ("demo" or "enterprise") when the caller is a demo visitor |
CustomPythonJobCreate#
Body for POST /custom-python/jobs (scheduler -> backend).
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string or null |
— | — |
rule_id |
string (uuid) or null |
— | — |
action |
string or null |
— | — |
CustomPythonJobHeartbeat#
Answer of POST /custom-python/jobs/{id}/heartbeat: False once the job left running.
| Field | Type | Required | Description |
|---|---|---|---|
alive |
boolean |
yes | — |
CustomPythonJobRead#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
node_id |
string or null |
— | — |
rule_id |
string (uuid) or null |
— | — |
action |
string or null |
— | — |
state |
string |
yes | — |
result |
object or null |
— | — |
error_message |
string or null |
— | — |
started_at |
string (date-time) or null |
— | — |
finished_at |
string (date-time) or null |
— | — |
heartbeat_at |
string (date-time) or null |
— | — |
CustomPythonJobUpdate#
Body for PATCH /custom-python/jobs/{id} (scheduler -> backend).
| Field | Type | Required | Description |
|---|---|---|---|
state |
string |
yes | running | succeeded | failed |
result |
object or null |
— | — |
error_message |
string or null |
— | — |
CustomPythonScriptCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
description |
string or null |
— | — |
code |
string |
yes | The script source; must define the entrypoint. |
entrypoint |
string |
— | — |
is_active |
boolean |
— | — |
CustomPythonScriptRead#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
description |
string or null |
— | — |
code |
string |
yes | The script source; must define the entrypoint. |
entrypoint |
string |
— | — |
is_active |
boolean |
— | — |
id |
string (uuid) |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
created_by |
string or null |
— | — |
updated_by |
string or null |
— | — |
CustomPythonScriptResolve#
Lean shape the scheduler resolves a script by id into.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
code |
string |
yes | — |
entrypoint |
string |
yes | — |
is_active |
boolean |
yes | — |
CustomPythonScriptUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
description |
string or null |
— | — |
code |
string or null |
— | — |
entrypoint |
string or null |
— | — |
is_active |
boolean or null |
— | — |
D#
DashboardDqTargets#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
acl_gated |
boolean |
— | — |
visualizations |
array of DqTargetVisualization | — | — |
datasets |
array of DqTargetDataset | — | — |
warnings |
array of string |
— | — |
DashboardImpactSummary#
Aggregated impact metrics for the dashboard.
| Field | Type | Required | Description |
|---|---|---|---|
total_downstream_affected |
integer |
yes | Unique downstream nodes across all ongoing incidents |
incidents_by_impact_tier |
object of integer |
— | e.g. {"critical": 2, "high": 5, ...} |
incident_impacts |
array of IncidentImpactEntry | yes | — |
stale_nodes |
array of StaleNodeEntry | yes | — |
DashboardTaxonomyConfig#
The full taxonomy. Resolution order (frontend engine): field → rules → fallback.
| Field | Type | Required | Description |
|---|---|---|---|
field |
string or null |
— | Dot-path to a metadata value (e.g. 'labels.domain'); when present + non-empty it wins. |
rules |
array of TaxonomyRule | — | — |
fallback |
TaxonomyGroup | — | — |
order |
array of string |
— | — |
DataContractBreachOut#
Type: object.
DataContractCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Display name |
description |
string or null |
— | Free-form description |
owner |
string or null |
— | Owning team/person; routes alerts |
status |
ContractStatus | — | — |
dimensions |
array of DimensionSLO-Input | — | — |
asset_ids |
array of string (uuid) |
— | monitored_asset ids to attach on create |
DataContractOut#
Type: object.
DataContractUpdate#
Partial update. dimensions set => a new spec version is cut server-side.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
description |
string or null |
— | — |
owner |
string or null |
— | — |
status |
ContractStatus or null |
— | — |
dimensions |
array of DimensionSLO-Input or null |
— | — |
is_active |
boolean or null |
— | — |
asset_ids |
array of string (uuid) or null |
— | If set, replaces the contract's attached assets |
DataformNodeResult#
Per-node (per-action) result within a Dataform workflow invocation.
| Field | Type | Required | Description |
|---|---|---|---|
target_name |
string |
yes | BigQuery target as database.schema.name |
node_id |
string or null |
— | Graph node id (DataformAction_<target_name>) |
state |
string |
yes | SUCCEEDED, FAILED, CANCELLED, RUNNING, SKIPPED, ... |
invocation_timing |
object or null |
— | Per-action timing: {start_time, end_time} (ISO 8601) |
duration_seconds |
number or null |
— | Elapsed seconds for this action |
bigquery_job_id |
string or null |
— | Underlying BigQuery job id, if any |
failure_reason |
string or null |
— | BigQuery error message when state is FAILED |
DataformNodeResults#
Envelope for the per-node results of a Dataform action run.
| Field | Type | Required | Description |
|---|---|---|---|
action_run_id |
string (uuid) |
yes | Action run these results belong to |
source |
string |
yes | 'live' (queried now) or 'persisted' (stored at completion) |
state |
string or null |
— | Overall action run state |
total |
integer |
— | Total number of nodes |
succeeded |
integer |
— | Count of SUCCEEDED nodes |
failed |
integer |
— | Count of FAILED nodes |
running |
integer |
— | Count of RUNNING nodes |
other |
integer |
— | Count of nodes in any other state |
nodes |
array of DataformNodeResult | — | Per-node results, slowest first |
DataplexHealthResponse#
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
yes | — |
last_ingest_at |
string (date-time) or null |
— | — |
last_ingest_success |
boolean or null |
— | — |
last_ingest_duration_ms |
integer or null |
— | — |
last_ingest_error |
string or null |
— | — |
scans_total |
integer |
— | — |
rules_total |
integer |
— | — |
schedule_cron |
string or null |
— | — |
schedule_tz |
string or null |
— | — |
schedule_description |
string or null |
— | — |
DataplexNodeBundleResponse#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
rules |
array of DataplexRuleResponse | — | — |
DataplexRuleResponse#
One Dataplex rule with its parent-scan context, for the node bundle.
| Field | Type | Required | Description |
|---|---|---|---|
scan_id |
string |
yes | — |
scan_name |
string |
yes | — |
display_name |
string or null |
— | — |
node_id |
string or null |
— | — |
qualified_name |
string or null |
— | — |
rule_key |
string |
yes | — |
rule_name |
string or null |
— | — |
rule_type |
string or null |
— | — |
column_name |
string or null |
— | — |
dimension |
string or null |
— | — |
threshold |
number or null |
— | — |
last_run_status |
string or null |
— | — |
last_run_at |
string (date-time) or null |
— | — |
DatasetInfo#
| Field | Type | Required | Description |
|---|---|---|---|
dataset_id |
string or null |
— | — |
name |
string or null |
— | — |
node_id |
string or null |
— | — |
DataTrustOverview#
Type: object.
DataTrustStatus#
Type: object.
DecisionOut#
| Field | Type | Required | Description |
|---|---|---|---|
allowed |
boolean |
yes | — |
code |
string |
yes | — |
team |
TeamRef or null |
— | — |
via |
array of ViaOut | — | — |
missing |
MissingOut or null |
— | — |
reason |
string or null |
— | — |
DedupCheckRequest#
| Field | Type | Required | Description |
|---|---|---|---|
source_id |
string |
yes | — |
source_type |
string |
yes | — |
window_seconds |
integer |
— | — |
claimed_by |
string or null |
— | — |
DedupCheckResponse#
| Field | Type | Required | Description |
|---|---|---|---|
should_skip |
boolean |
yes | — |
reason |
string |
yes | — |
DegradedIntegration#
Type: object.
DeploymentRecord#
| Field | Type | Required | Description |
|---|---|---|---|
consumer_node_id |
string |
yes | — |
revision_name |
string |
yes | — |
digest |
string or null |
— | — |
image_node_id |
string |
yes | — |
deployed_at |
string (date-time) or null |
— | — |
traffic_percent |
integer or null |
— | — |
is_latest_ready |
boolean |
yes | — |
first_serving_date |
string (date) or null |
— | — |
last_serving_date |
string (date) or null |
— | — |
last_seen_date |
string (date) or null |
— | — |
observed_now |
boolean |
yes | — |
DeploymentRecordOut#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
provider |
string |
yes | — |
repo_key |
string |
yes | — |
repo_url |
string or null |
— | — |
ref |
string or null |
— | — |
commit |
string or null |
— | — |
pipeline_url |
string or null |
— | — |
deployed_by |
string or null |
— | — |
deployed_at |
string (date-time) or null |
— | — |
received_at |
string (date-time) |
yes | — |
resource_count |
integer |
yes | — |
matched_count |
integer |
yes | — |
unmatched_count |
integer |
yes | — |
unmatched_sample |
array of UnmatchedResourceOut | — | — |
DeploymentRepoOut#
| Field | Type | Required | Description |
|---|---|---|---|
repo_key |
string |
yes | — |
repo_url |
string or null |
— | — |
display_name |
string or null |
— | — |
gitops_connection_id |
string (uuid) or null |
— | — |
resources |
RepoResourcesOut | yes | — |
config |
RepoConfigOut | yes | — |
last_deployment |
RepoLastDeploymentOut or null |
— | — |
node_id |
string or null |
— | — |
known_from |
array of string |
— | — |
connection |
RepoConnectionOut or null |
— | — |
DeploymentReportResponse#
matched counts catalog nodes that got a source; unmatched counts report resources.
| Field | Type | Required | Description |
|---|---|---|---|
record_id |
string (uuid) |
yes | — |
created |
boolean |
yes | — |
matched |
integer |
yes | — |
unmatched |
integer |
yes | — |
unmatched_sample |
array of UnmatchedResourceOut | — | — |
DeploymentSourceOut#
One provenance entry of a resource: DeploymentSource.to\_dict() keys plus primary.
| Field | Type | Required | Description |
|---|---|---|---|
provider |
string |
yes | — |
origin |
string |
yes | — |
source_kind |
string |
yes | — |
repo_url |
string or null |
— | — |
repo_key |
string or null |
— | — |
ref |
string or null |
— | — |
commit |
string or null |
— | — |
path |
string or null |
— | — |
line |
integer or null |
— | — |
pipeline_url |
string or null |
— | — |
deployed_at |
string (date-time) or null |
— | — |
deployed_by |
string or null |
— | — |
extra |
object |
— | — |
gitlab_url |
string or null |
— | — |
primary |
boolean |
— | — |
DeploymentSourceSummary#
Compact provenance entry embedded in catalog search results, primary first.
| Field | Type | Required | Description |
|---|---|---|---|
provider |
string or null |
— | — |
origin |
string or null |
— | — |
repo_url |
string or null |
— | — |
repo_key |
string or null |
— | — |
ref |
string or null |
— | — |
commit |
string or null |
— | — |
path |
string or null |
— | — |
line |
integer or null |
— | — |
pipeline_url |
string or null |
— | — |
deployed_at |
string or null |
— | — |
deployed_by |
string or null |
— | — |
extra |
object |
— | — |
primary |
boolean |
— | — |
source_kind |
string |
yes | — |
source_repo |
string or null |
— | — |
source_branch |
string or null |
— | — |
source_commit |
string or null |
— | — |
source_file |
string or null |
— | — |
source_line |
integer or null |
— | — |
terraform_resource_type |
string or null |
— | — |
terraform_resource_name |
string or null |
— | — |
gitlab_url |
string or null |
— | — |
DimensionSLO-Input#
A single dimension's SLO inside a contract spec.
| Field | Type | Required | Description |
|---|---|---|---|
dimension |
ContractDimension | yes | — |
target |
number |
— | Desired fraction of compliant time |
compute_window_days |
integer |
— | Rolling SLO window in days |
alerts |
array of BurnAlertWindow | — | — |
sla_hours |
integer or null |
— | Max hours before data is stale (freshness) |
min_rows |
integer or null |
— | Minimum acceptable row count (volume) |
max_delta_pct |
number or null |
— | Max allowed row-count delta vs. the prior period, in percent (volume) |
expected_columns |
array of string or null |
— | Columns that must be present; missing ones breach (schema) |
allow_extra_columns |
boolean |
— | If False, columns beyond expected_columns also breach (schema) |
min_pass_rate |
number or null |
— | Minimum fraction of DQ checks that must pass (quality) |
DimensionSLO-Output#
A single dimension's SLO inside a contract spec.
| Field | Type | Required | Description |
|---|---|---|---|
dimension |
ContractDimension | yes | — |
target |
number |
— | Desired fraction of compliant time |
compute_window_days |
integer |
— | Rolling SLO window in days |
alerts |
array of BurnAlertWindow | — | — |
sla_hours |
integer or null |
— | Max hours before data is stale (freshness) |
min_rows |
integer or null |
— | Minimum acceptable row count (volume) |
max_delta_pct |
number or null |
— | Max allowed row-count delta vs. the prior period, in percent (volume) |
expected_columns |
array of string or null |
— | Columns that must be present; missing ones breach (schema) |
allow_extra_columns |
boolean |
— | If False, columns beyond expected_columns also breach (schema) |
min_pass_rate |
number or null |
— | Minimum fraction of DQ checks that must pass (quality) |
DiscussionThreadList#
A page of discussion-thread summaries.
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of DiscussionThreadSummary | yes | — |
total |
integer |
yes | — |
DiscussionThreadSummary#
A thread root the requested user is involved in (for the profile page).
| Field | Type | Required | Description |
|---|---|---|---|
thread_id |
string (uuid) |
yes | Root comment id (coalesce(parent_comment_id, id)). |
entity_type |
string |
yes | — |
entity_id |
string |
yes | — |
environment |
string or null |
— | — |
snippet |
string |
yes | Root body truncated ~160 chars ('' if the root is deleted). |
author_email |
string |
yes | Author of the thread root. |
reply_count |
integer |
yes | Non-deleted replies under the root. |
last_activity_at |
string (date-time) |
yes | Max created_at across the thread. |
is_resolved |
boolean |
yes | — |
resolved_by |
string or null |
— | — |
mentioned_emails |
array of string |
— | Mentions on the thread root. |
DispatchLeaseRequest#
| Field | Type | Required | Description |
|---|---|---|---|
dispatch_owner |
string |
yes | — |
lease_seconds |
integer |
yes | 0 lapses the lease now |
DispatchOwnersRequest#
| Field | Type | Required | Description |
|---|---|---|---|
owners |
array of string |
— | — |
grace_seconds |
integer |
— | — |
DoChain-Input#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
"chain" |
— | — |
steps |
array of ChainStep-Input | yes | — |
DoChain-Output#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
"chain" |
— | — |
steps |
array of ChainStep-Output | yes | — |
DoSingle-Input#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
"single" |
— | — |
action |
Action-Input | yes | — |
DoSingle-Output#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
"single" |
— | — |
action |
Action-Output | yes | — |
DossierComposition#
Typed view of a dossier's internal composition. Never persisted.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
node_type |
string |
yes | — |
object_id |
string or null |
— | — |
project_id |
string or null |
— | — |
name |
string or null |
— | — |
datasets |
array of DatasetInfo | — | — |
chapters |
array of ChapterInfo | — | — |
selectors |
array of SelectorInfo | — | — |
acl_gated |
boolean |
— | — |
partial |
boolean |
— | — |
warnings |
array of string |
— | — |
DownstreamImpactSummary#
Snapshot of downstream-impact metrics for a node.
| Field | Type | Required | Description |
|---|---|---|---|
count |
integer |
yes | — |
computed_at |
string (date-time) or null |
— | When the underlying descendants_count was last refreshed by the graph pipeline. |
DqTargetDataset#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string or null |
— | — |
name |
string or null |
— | — |
materialized |
boolean |
— | — |
last_update_time |
string or null |
— | — |
DqTargetObject#
A metric or attribute a check can address, by GUID.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
name |
string or null |
— | — |
DqTargetVisualization#
| Field | Type | Required | Description |
|---|---|---|---|
chapter_key |
string or null |
— | — |
visualization_key |
string or null |
— | — |
name |
string or null |
— | — |
is_grid |
boolean |
— | — |
metrics |
array of DqTargetObject | — | — |
attributes |
array of DqTargetObject | — | — |
DueReminderCountResponse#
Lightweight payload for the bell badge poll (mirrors notifications unread-count).
| Field | Type | Required | Description |
|---|---|---|---|
count |
integer |
yes | — |
DueReminderResponse#
Type: object.
E#
EmailSettingsUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
smtp_host |
string |
— | SMTP server hostname (e.g. smtp.sendgrid.net) |
smtp_port |
integer |
— | SMTP server port |
smtp_user |
string or null |
— | SMTP username |
smtp_password |
string or null |
— | SMTP password |
smtp_use_tls |
boolean |
— | Enable STARTTLS |
from_address |
string |
— | Sender email address |
from_name |
string |
— | Sender display name |
EnrichConfig#
Opt-in deep-enrichment for events that match this listener.
| Field | Type | Required | Description |
|---|---|---|---|
job_stats |
boolean |
— | Fetch the BigQuery job's stats via the REST get_job metadata API (query plan, partitions touched, recompute mode). Free, no slot cost. |
storage_delta |
boolean |
— | Inspect the destination table via INFORMATION_SCHEMA: returns the size delta (TABLE_STORAGE_TIMELINE_BY_PROJECT) AND the list of partitions touched by the job (PARTITIONS). Has slot cost (one merged INFORMATION_SCHEMA query scoped to the destination). Works on its own — it runs the free get_job lookup internally to scope the query window, so job_stats need not also be enabled. |
EnrichmentBackfillRunResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
node_id |
string |
yes | — |
start_date |
string (date-time) |
yes | — |
end_date |
string (date-time) |
yes | — |
source_type |
string or null |
— | — |
state |
string |
yes | — |
total_events |
integer |
yes | — |
completed_events |
integer |
yes | — |
failed_events |
integer |
yes | — |
skipped_events |
integer |
yes | — |
error_message |
string or null |
— | — |
triggered_by |
string or null |
— | — |
started_at |
string (date-time) |
yes | — |
finished_at |
string (date-time) or null |
— | — |
last_progress_at |
string (date-time) or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
percent |
integer |
yes | Progress 0-100: processed (completed + failed) over total. |
is_stalled |
boolean |
yes | True when a *running* job hasn't made progress recently. |
EnrichmentBackfillStart#
Body of POST /input\_logs/node/{node\_id}/enrichment-backfill.
| Field | Type | Required | Description |
|---|---|---|---|
start_date |
string (date-time) |
yes | Window start (inclusive), UTC. |
end_date |
string (date-time) |
yes | Window end (inclusive), UTC. |
source_type |
string or null |
— | One BigQuery write event type to backfill (e.g. 'BIGQUERY_MERGE'); null = all BQ_WRITE_TYPES. |
EnrichmentPoint#
One day's worth of enrichment-derived aggregates for this table.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
partitions_modified |
integer |
yes | — |
recompute_modes |
object of integer |
— | — |
EnvironmentDetectionTool#
Base class for environment-detection tools.
| Field | Type | Required | Description |
|---|---|---|---|
type |
string |
yes | Stable discriminator for this tool kind |
name |
string |
— | Human-readable label for this tool entry |
EnvironmentMappingConfig#
Complete environment mapping configuration.
| Field | Type | Required | Description |
|---|---|---|---|
tools |
array of EnvironmentDetectionTool | — | Ordered list of environment-detection tools |
environments |
array of string |
— | Canonical environment names |
protected_environments |
array of string |
— | Environments that cannot be used as BigQuery copy targets |
EnvironmentMappingTestRequest#
Schema for testing environment mapping patterns.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | Node ID to test pattern matching against |
EnvironmentMappingTestResponse#
Schema for environment mapping test response.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | Original node ID |
matched_pattern |
string or null |
— | Name of matched pattern |
detected_environment |
string or null |
— | Detected environment |
canonical_id |
string or null |
— | Canonical ID without environment |
variants |
object of string or null |
— | Generated variants |
ErdColumn#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
type |
string or null |
— | — |
is_primary_key |
boolean |
— | — |
is_pii |
boolean |
— | — |
has_lineage |
boolean |
— | — |
ErdColumnEdge#
| Field | Type | Required | Description |
|---|---|---|---|
source_node_id |
string |
yes | — |
source_column |
string |
yes | — |
target_node_id |
string |
yes | — |
target_column |
string |
yes | — |
transformation |
string or null |
— | — |
ErdResponse#
| Field | Type | Required | Description |
|---|---|---|---|
center_node_id |
string |
yes | — |
tables |
array of ErdTable | — | — |
table_edges |
array of ErdTableEdge | — | — |
column_edges |
array of ErdColumnEdge | — | — |
ErdTable#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
display_name |
string or null |
— | — |
node_type |
string or null |
— | — |
dataset |
string or null |
— | — |
direction |
string |
— | — |
columns |
array of ErdColumn | — | — |
total_column_count |
integer |
— | — |
ErdTableEdge#
| Field | Type | Required | Description |
|---|---|---|---|
source_node_id |
string |
yes | — |
target_node_id |
string |
yes | — |
ErrorResponse#
| Field | Type | Required | Description |
|---|---|---|---|
detail |
string |
yes | — |
error_code |
string or null |
— | — |
EstateCostOfFailureResponse#
Type: object.
EventListener#
One event listener — what events fire this rule.
| Field | Type | Required | Description |
|---|---|---|---|
origin |
EventOrigin | yes | Whose events — the matched node itself, or its ancestors/descendants |
types |
string or array of string |
yes | Event type(s) (e.g. 'BIGQUERY_INSERT') |
ancestor_depth |
string or null |
— | Traversal depth when origin=ancestors (e.g. 'direct', 'direct_materialized') |
include_node_ids |
array of string or null |
— | Only consider events from these nodes |
exclude_node_ids |
array of string or null |
— | Ignore events from these nodes |
exclude_node_types |
array of string or null |
— | Ignore events from nodes of these types (e.g. ['Dimension', 'Fact']) |
include_node_types |
array of string or null |
— | Only consider ancestor events from nodes of these types. For processing node types (e.g. 'DataformAction'), the listener resolves to the producing action(s) of each materialized ancestor — letting a rule listen on the action that builds its input, treating processing nodes as first-class ancestors. |
enrich |
EnrichConfig or null |
— | Opt-in deep enrichment (L2 job stats, L3 size delta) for matching events |
poll |
PollConfig or null |
— | Opt this listener's sources into scheduled last-modified polling, for sources with no audit-log sink. Requires include_node_ids. |
statuses |
array of string or null |
— | For completion listeners (types include DATAFORM_RUN_COMPLETED / ACTION_COMPLETED): which upstream terminal outcomes fire the rule. Omitted is treated as ['success'] by the scheduler. Allowed values: 'success', 'failed', 'cancelled', or 'any'. |
EventOrigin#
One of: "self", "ancestors", "descendants".
EventReceiptCheckRequest#
| Field | Type | Required | Description |
|---|---|---|---|
event_key |
string |
yes | — |
EventReceiptCheckResponse#
| Field | Type | Required | Description |
|---|---|---|---|
seen |
boolean |
yes | — |
EventReceiptRequest#
| Field | Type | Required | Description |
|---|---|---|---|
event_key |
string |
yes | — |
source_id |
string or null |
— | — |
window_seconds |
integer |
— | — |
EventReceiptResponse#
| Field | Type | Required | Description |
|---|---|---|---|
recorded |
boolean |
yes | — |
EventsOut#
| Field | Type | Required | Description |
|---|---|---|---|
waits |
integer |
yes | — |
timeouts |
integer |
yes | — |
overflows |
integer |
yes | — |
leaks |
integer |
yes | — |
ExtensionPointRef#
| Field | Type | Required | Description |
|---|---|---|---|
group |
string |
yes | Entry-point group, e.g. 'nistor.routers' |
name |
string |
yes | Entry-point name |
value |
string or null |
— | Target module:attribute string |
ExtensionTokenExchangeRequest#
Body for POST /exchange — the one-time code issued by /redeem.
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | The one-time code returned by POST /redeem. |
ExtensionTokenRedeemResponse#
Returned by POST /redeem — a one-time exchange code, never the raw JWT.
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | Single-use, short-lived code. Trade it at POST /exchange for the JWT. |
email |
string |
yes | Subject (verified user email). |
expires_at |
string (date-time) |
yes | UTC datetime at which the exchange code stops being redeemable. |
ExtensionTokenResponse#
| Field | Type | Required | Description |
|---|---|---|---|
token |
string |
yes | Nistor-signed JWT to send as Authorization: Bearer ... |
email |
string |
yes | Subject (verified user email). |
audience |
string |
yes | JWT aud claim — 'nistor-vscode' on new tokens. |
expires_at |
string (date-time) |
yes | UTC datetime at which the token stops being accepted. |
ExtractionStatus#
Status of a single data extraction operation
| Field | Type | Required | Description |
|---|---|---|---|
source_type |
string |
yes | Type of source (e.g., 'bigquery', 'dataform', 'microstrategy_cubes') |
source_id |
string |
yes | ID of the source (project_id, repository path, etc.) |
project_id |
string or null |
— | Resolved project identifier (if different from source_id) |
status |
string |
yes | Status: 'success', 'failure', or 'skipped' |
reason |
string or null |
— | Reason for failure or skip (e.g., '403 Unauthorized') |
items_extracted |
integer or null |
— | Number of items successfully extracted |
node_count |
integer or null |
— | Number of nodes materialized for this source |
error_message |
string or null |
— | Detailed error message if failed |
extraction_time_seconds |
number or null |
— | Time taken for extraction |
started_at |
string (date-time) or null |
— | Extraction start datetime |
finished_at |
string (date-time) or null |
— | Extraction completion datetime |
snapshot_path |
string or null |
— | GCS path of the partitioned output for this source |
run_id |
string or null |
— | Compilation run identifier |
errors |
array of object or null |
— | Partial extraction errors (per project/service) |
failed_count |
integer or null |
— | Number of partial failures if applicable |
carried_forward |
boolean or null |
— | Nodes reused from a previous compilation |
carried_forward_from_run_id |
string or null |
— | Run of the last REAL extraction (origin) |
carried_forward_since |
string or null |
— | First run that failed for this scope |
carried_forward_node_count |
integer or null |
— | How many nodes were reused |
carry_forward_expired |
boolean or null |
— | Origin older than the TTL: nodes dropped |
carry_forward_ttl_days |
integer or null |
— | The TTL that expired |
scope_lost |
boolean or null |
— | Previously-populated scope collapsed to 0 nodes |
previous_node_count |
integer or null |
— | Node count of the scope's last snapshot |
ExtraDay#
A calendar override (extra holiday or extra working day).
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | ISO date (YYYY-MM-DD) |
name |
string |
yes | — |
F#
Failsafe#
Safety belt — runs the rule if the event-based trigger failed to.
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
— | — |
deadline_cron |
string or array of string or null |
— | — |
deadline_after_seconds |
integer or null |
— | — |
time_zone |
string or null |
— | — |
run_lookup |
FailsafeRunLookup | — | — |
window |
FailsafeWindowType | — | — |
duplicate_policy |
FailsafeDuplicatePolicy | — | — |
cooldown_seconds |
integer or null |
— | — |
FailsafeDuplicatePolicy#
One of: "skip", "run_again", "skip_with_cooldown".
FailsafeRunLookup#
One of: "last_success", "last_attempt", "last_terminal".
FailsafeWindowType#
One of: "between_deadlines", "rolling".
FavoriteGroupAssign#
Assign a node to a group, or remove it from any group when group\_id is null.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
group_id |
string (uuid) or null |
— | null to ungroup the node |
FavoriteGroupCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Group display name |
color |
string |
— | Hex color |
display_order |
integer |
— | — |
visibility |
string |
— | private | team | general |
namespace_id |
string (uuid) or null |
— | Required when visibility=team |
FavoriteGroupMember#
One node that belongs to a (visible) group, enriched from the catalog.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
favorite_group_id |
string (uuid) |
yes | — |
display_name |
string or null |
— | — |
node_type |
string or null |
— | — |
display_type |
string or null |
— | — |
environment |
string or null |
— | — |
FavoriteGroupOut#
Type: object.
FavoriteGroupsState#
The full team-shared grouping state for one environment.
| Field | Type | Required | Description |
|---|---|---|---|
groups |
array of FavoriteGroupOut | — | — |
membership |
object of string (uuid) |
— | — |
members |
array of FavoriteGroupMember | — | — |
FavoriteGroupUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
color |
string or null |
— | — |
display_order |
integer or null |
— | — |
visibility |
string or null |
— | private | team | general |
namespace_id |
string (uuid) or null |
— | — |
FeedbackCategory#
Feedback categories.
One of: "bug", "feature_request", "improvement", "other".
FeedbackCommentCreate#
Schema for creating a feedback comment.
| Field | Type | Required | Description |
|---|---|---|---|
message |
string |
yes | Comment message |
FeedbackCommentResponse#
Schema for feedback comment response.
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer |
yes | — |
feedback_id |
integer |
yes | — |
author_email |
string |
yes | — |
message |
string |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
FeedbackCreate#
Schema for creating feedback.
| Field | Type | Required | Description |
|---|---|---|---|
category |
FeedbackCategory | yes | Feedback category |
message |
string |
yes | Feedback message |
page_url |
string or null |
— | Page URL where feedback was submitted |
environment |
string or null |
— | Environment: dev, test, prod |
FeedbackResponse#
Schema for feedback response.
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer |
yes | — |
user_email |
string |
yes | — |
category |
string |
yes | — |
message |
string |
yes | — |
page_url |
string or null |
yes | — |
environment |
string or null |
yes | — |
status |
string |
yes | — |
comment_count |
integer |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
FeedbackStatus#
Feedback statuses.
One of: "new", "read", "in_progress", "resolved".
FeedbackStatusUpdate#
Schema for updating feedback status.
| Field | Type | Required | Description |
|---|---|---|---|
status |
FeedbackStatus | yes | New status |
FeedItem#
Type: object.
FeedPage#
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of FeedItem | yes | — |
total |
integer |
yes | — |
skip |
integer |
yes | — |
limit |
integer |
yes | — |
unread_count |
integer |
yes | — |
last_seen_at |
string (date-time) or null |
— | — |
FeedPreference#
| Field | Type | Required | Description |
|---|---|---|---|
digest_frequency |
string |
— | off | daily | weekly |
digest_channel |
string or null |
— | email | gchat_dm |
last_seen_at |
string (date-time) or null |
— | — |
FeedPreferenceUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
digest_frequency |
string or null |
— | — |
digest_channel |
string or null |
— | — |
FeedSeenResponse#
| Field | Type | Required | Description |
|---|---|---|---|
last_seen_at |
string (date-time) |
yes | — |
subscriptions_marked_read |
integer |
— | — |
FeedSummary#
Counts for the nav badge + per-type breakdown ("since you were away").
| Field | Type | Required | Description |
|---|---|---|---|
total |
integer |
yes | — |
unread_count |
integer |
yes | — |
by_type |
object of integer |
yes | — |
unread_by_type |
object of integer |
— | — |
last_seen_at |
string (date-time) or null |
— | — |
FindOpenIncidentRequest#
Request model for finding an open incident.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) or null |
— | Rule ID — None for environment-scoped incidents (slot_saturation, finops_extraction_failure) |
affected_nodes |
array of string |
yes | List of affected nodes |
action |
string |
yes | Action name |
node_match |
string or null |
— | How to compare affected_nodes: exact (default), any, ignore |
description |
string or null |
— | Failure description — when provided alongside severity, signature lookup runs first |
severity |
string or null |
— | Candidate severity — gates signature merge (critical always uses strict path) |
error_signature |
string or null |
— | Explicit root-cause signature. When provided, the lookup matches on (rule_id, error_signature) directly and takes precedence over any description-derived signature — used by callers (cost-estimation pre-flight) that group by a parsed resource the description normalizer would collapse. |
external_run_recovery |
boolean or null |
— | Auto-close-on-success recovery mode. For an external-run action (…\_external\_run:{run\_id}), match the open incident by the stable external-run family prefix + node instead of the volatile per-run action, so a later successful run closes the incident an earlier failed run opened. No-op for normal actions. |
FleetOut#
| Field | Type | Required | Description |
|---|---|---|---|
in_use |
integer |
yes | Requests in flight, summed over fresh processes |
bounded_capacity |
integer |
yes | Sum of capacity over fresh processes that have a limit |
unbounded_processes |
integer |
yes | Fresh processes whose limit is 0 (unbounded) |
FreshnessBurnPayload#
Per-asset burn payload covering N rolling windows.
| Field | Type | Required | Description |
|---|---|---|---|
asset_id |
string (uuid) |
yes | — |
target |
number |
yes | — |
windows |
array of FreshnessBurnWindow | yes | — |
FreshnessBurnWindow#
Burn rate computed over a single rolling window.
| Field | Type | Required | Description |
|---|---|---|---|
window_hours |
integer |
yes | — |
target |
number |
yes | — |
total_snapshots |
integer |
yes | — |
unfresh_snapshots |
integer |
yes | — |
actual_unavailability |
number |
yes | — |
allowed_unavailability |
number |
yes | — |
burn_rate |
number |
yes | — |
budget_remaining |
number |
yes | 1 - (actual / allowed); negative when budget exhausted |
FreshnessExpectation#
Time by which a human expects this rule to have run.
| Field | Type | Required | Description |
|---|---|---|---|
days |
FreshnessExpectationDays or array of string |
yes | Either a named group ('everyday' | 'weekdays' | 'weekends') or a non-empty list of lowercase weekday names ('monday'..'sunday'). |
before |
string |
yes | Local wall-clock deadline in HH:MM (24-hour). Example: '09:00'. |
after |
string or null |
— | Optional local wall-clock start of the window in HH:MM (24-hour), earlier than before on the same day. Only a refresh at or after it counts, so a target refreshed twice a day can be judged on its second refresh. Without it the window starts at local midnight. |
time_zone |
string |
— | IANA time-zone name (e.g. 'Europe/Paris'). Defaults to UTC. |
incident_severity |
FreshnessExpectationSeverity | — | Severity of the incident raised when the deadline is missed. |
success_states |
array of string or null |
— | Which states of the rule's runs count as a refresh (default: completed, success, retried_success). Free-form on write; the evaluator honours the states core's run producer records and ignores the others with a warning. |
FreshnessExpectationDays#
One of: "everyday", "weekdays", "weekends".
FreshnessExpectationSeverity#
One of: "critical", "high", "medium", "low".
FreshnessForecastOut#
Type: object.
FreshnessForecastSummary#
The latest forecast per asset, with a predicted-breach rollup.
| Field | Type | Required | Description |
|---|---|---|---|
generated_at |
string (date-time) |
yes | — |
total |
integer |
— | — |
predicted_breaches |
integer |
— | — |
items |
array of FreshnessForecastOut | — | — |
FreshnessSLO-Input#
| Field | Type | Required | Description |
|---|---|---|---|
target |
number |
— | Desired fraction of fresh time |
compute_window_days |
integer |
— | Rolling SLO window in days |
alerts |
array of BurnAlertWindow | — | — |
delivery_deadline_local |
string or null |
— | Absolute daily freshness deadline as HH:MM (local clock); None = no deadline predicate |
deadline_grace_minutes |
integer |
— | Minutes past the deadline before a miss is declared |
FreshnessSLO-Output#
| Field | Type | Required | Description |
|---|---|---|---|
target |
number |
— | Desired fraction of fresh time |
compute_window_days |
integer |
— | Rolling SLO window in days |
alerts |
array of BurnAlertWindow | — | — |
delivery_deadline_local |
string or null |
— | Absolute daily freshness deadline as HH:MM (local clock); None = no deadline predicate |
deadline_grace_minutes |
integer |
— | Minutes past the deadline before a miss is declared |
G#
GitOpsConnectionCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
repo_url |
string |
yes | — |
repo_project_path |
string |
yes | — |
sync_mode |
string |
— | — |
branch_mapping |
object of string |
— | Maps repo branch names to Nistor environment names |
rules_directory |
string |
— | — |
gitlab_token_secret |
string or null |
— | GCP Secret Manager secret name for GitLab access token (pull mode) |
poll_interval_minutes |
integer |
— | — |
mr_impact_enabled |
boolean |
— | Opt-in: when True, MR webhooks for this repo run impact analysis and post a comment on each MR. Kill-switch for the bot. |
GitOpsConnectionResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
repo_url |
string |
yes | — |
repo_project_path |
string |
yes | — |
sync_mode |
string |
yes | — |
branch_mapping |
object of string |
yes | — |
rules_directory |
string |
yes | — |
gitlab_token_secret |
string or null |
— | — |
poll_interval_minutes |
integer |
yes | — |
status |
string |
yes | — |
mr_impact_enabled |
boolean |
— | — |
last_sync_at |
string (date-time) or null |
— | — |
last_sync_status |
string or null |
— | — |
last_sync_report |
object or null |
— | — |
last_sync_commit |
string or null |
— | — |
last_sync_branch |
string or null |
— | — |
created_by |
string or null |
— | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
last_sync_error |
string or null |
— | — |
GitOpsConnectionTestResponse#
| Field | Type | Required | Description |
|---|---|---|---|
ok |
boolean |
yes | — |
message |
string |
yes | — |
GitOpsConnectionUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
repo_url |
string or null |
— | — |
repo_project_path |
string or null |
— | — |
sync_mode |
string or null |
— | — |
branch_mapping |
object of string or null |
— | — |
rules_directory |
string or null |
— | — |
gitlab_token_secret |
string or null |
— | — |
poll_interval_minutes |
integer or null |
— | — |
status |
string or null |
— | — |
mr_impact_enabled |
boolean or null |
— | Toggle the MR impact-analysis bot on or off for this repo. |
GitOpsFeaturesResponse#
Which GitOps features this backend runs. The UI shows a feature's controls only when it is on.
| Field | Type | Required | Description |
|---|---|---|---|
pull_enabled |
boolean |
yes | — |
mr_bot_enabled |
boolean |
yes | — |
gitlab_tool_active |
boolean |
yes | — |
GitOpsSyncEventCreate#
Payload sent by CI or pull service after a sync run.
| Field | Type | Required | Description |
|---|---|---|---|
repo_project_path |
string |
yes | GitLab project path to match connection |
repo_url |
string or null |
— | Repository URL. When no connection exists for repo_project_path, the endpoint registers a ci_push connection from it — a repository that pushes rules from its CI is one. Omitted: an unknown repository is a 404, as before. |
branch |
string |
yes | — |
commit_sha |
string or null |
— | — |
environment |
string |
yes | — |
status |
string |
yes | — |
rules_created |
integer |
— | — |
rules_updated |
integer |
— | — |
rules_deleted |
integer |
— | — |
rules_unchanged |
integer |
— | — |
errors |
integer |
— | — |
report |
object or null |
— | — |
pipeline_url |
string or null |
— | — |
triggered_by |
string or null |
— | — |
GitOpsSyncEventResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
connection_id |
string (uuid) |
yes | — |
branch |
string |
yes | — |
commit_sha |
string or null |
— | — |
environment |
string |
yes | — |
status |
string |
yes | — |
rules_created |
integer |
yes | — |
rules_updated |
integer |
yes | — |
rules_deleted |
integer |
yes | — |
rules_unchanged |
integer |
yes | — |
errors |
integer |
yes | — |
report |
object or null |
— | — |
pipeline_url |
string or null |
— | — |
triggered_by |
string or null |
— | — |
created_at |
string (date-time) or null |
— | — |
GraphDeltaCreate#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
operation |
string |
yes | — |
payload |
object or null |
— | — |
environment |
string or null |
— | — |
resource_version |
string or null |
— | — |
reciprocal_edges |
object or null |
— | — |
idempotency_key |
string or null |
— | — |
GraphDeltaCreated#
| Field | Type | Required | Description |
|---|---|---|---|
seq |
integer |
yes | — |
node_id |
string |
yes | — |
operation |
string |
yes | — |
GroupActionResponse#
Result of a group-level action (snooze / mark-expected).
| Field | Type | Required | Description |
|---|---|---|---|
success |
array of string |
— | — |
skipped |
array of string |
— | — |
not_found |
array of string |
— | — |
rule_id |
string or null |
— | — |
H#
HealthGroupCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Group display name |
description |
string or null |
— | — |
color |
string |
— | Hex color |
icon |
string or null |
— | Icon identifier |
owner |
string or null |
— | — |
display_order |
integer |
— | — |
is_active |
boolean |
— | — |
alert_config |
object or null |
— | — |
is_public |
boolean |
— | Visible to all team members |
created_by_email |
string or null |
— | — |
asset_ids |
array of string (uuid) |
— | Assets to include |
HealthGroupOut#
Type: object.
HealthGroupStatusItem#
Type: object.
HealthGroupUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
description |
string or null |
— | — |
color |
string or null |
— | — |
icon |
string or null |
— | — |
owner |
string or null |
— | — |
display_order |
integer or null |
— | — |
is_active |
boolean or null |
— | — |
alert_config |
object or null |
— | — |
asset_ids |
array of string (uuid) or null |
— | — |
is_public |
boolean or null |
— | — |
HealthHeatmapCell#
One day on the 90-day platform health heatmap.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
health_ratio |
number |
yes | — |
total_assets |
integer |
— | — |
HealthMode#
One of: "auto", "mstr", "manual".
HealthStatus#
One of: "healthy", "warning", "critical", "unknown".
HealthTrendBucket#
One day of bucketed platform (or workspace) health counts.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
healthy |
integer |
— | — |
warning |
integer |
— | — |
critical |
integer |
— | — |
unknown |
integer |
— | — |
total |
integer |
— | — |
HeartbeatCheckResponse#
| Field | Type | Required | Description |
|---|---|---|---|
checked |
integer |
— | — |
touched |
integer |
— | — |
skipped |
string or null |
— | — |
dry_run |
boolean |
— | — |
would_open |
integer |
— | — |
verdicts |
array of object |
— | — |
failed_asset_ids |
array of string |
— | — |
HistoryBucketOut#
| Field | Type | Required | Description |
|---|---|---|---|
bucket_start |
string (date-time) |
yes | — |
max_process_peak |
integer |
yes | — |
max_process_utilisation_pct |
number or null |
yes | — |
waits |
integer or null |
yes | — |
timeouts |
integer or null |
yes | — |
overflows |
integer or null |
yes | — |
leaks |
integer or null |
yes | — |
HistoryOut#
| Field | Type | Required | Description |
|---|---|---|---|
tool |
string |
yes | — |
kind |
string (enum) |
yes | From the tool's declaration; limiter when undeclared |
hours |
integer |
yes | — |
as_of |
string (date-time) |
yes | — |
buckets |
array of HistoryBucketOut | yes | — |
HottestProcessOut#
| Field | Type | Required | Description |
|---|---|---|---|
service |
string |
yes | — |
instance_id |
string |
yes | — |
pid |
integer |
yes | — |
in_use |
integer |
yes | — |
capacity |
integer |
yes | — |
utilisation_pct |
number |
yes | — |
HTTPValidationError#
| Field | Type | Required | Description |
|---|---|---|---|
detail |
array of ValidationError | — | — |
I#
IfClause-Input#
Conditions that must hold for the rule to fire.
| Field | Type | Required | Description |
|---|---|---|---|
quiet_period_seconds |
integer or null |
— | Inactivity window required before firing |
quiet_period_max_extension_seconds |
integer or null |
— | All-ancestors barrier only. Let the quiet period slide when an ancestor writes again while the settle hold is already running, so a continuously-written source is not cut off mid-load. The hold never moves past this many seconds after the cycle's earliest fresh ancestor, so the run still happens. Requires quiet_period_seconds. |
max_runtime_seconds |
integer or null |
— | Kill the action after this many seconds |
trigger_liveness |
TriggerLiveness or null |
— | Tune or disable the trigger-liveness detector for this rule. Absent means enabled with cadence-derived thresholds. |
refresh_sla |
RefreshSla or null |
— | Opt-in: raise a delivery_slo incident when a target is not refreshed within within_seconds of a qualifying upstream write. Absent means the rule is not monitored. |
hold_while_upstream_stale |
boolean or null |
— | Opt-in: hold a firing while a direct upstream asset has an open freshness breach, re-checking every 5 min; a breach opened more than 2 h ago no longer holds. Absent or false: never held for this. Only upstream nodes that are monitored assets can hold (a freshness breach belongs to a monitored asset). |
run_limit |
RunLimit or null |
— | Cap firings per period |
cost_limit |
CostLimit or null |
— | Cap total cost per period |
max_estimated_cost_usd |
number or null |
— | Per-execution dry-run cost gate |
touched_partition_within |
TouchedPartitionWithin or null |
— | Only fire when a BigQuery partition touched by the triggering event falls in a relative calendar window (needs when.events[].enrich.storage_delta). |
IfClause-Output#
Conditions that must hold for the rule to fire.
| Field | Type | Required | Description |
|---|---|---|---|
quiet_period_seconds |
integer or null |
— | Inactivity window required before firing |
quiet_period_max_extension_seconds |
integer or null |
— | All-ancestors barrier only. Let the quiet period slide when an ancestor writes again while the settle hold is already running, so a continuously-written source is not cut off mid-load. The hold never moves past this many seconds after the cycle's earliest fresh ancestor, so the run still happens. Requires quiet_period_seconds. |
max_runtime_seconds |
integer or null |
— | Kill the action after this many seconds |
trigger_liveness |
TriggerLiveness or null |
— | Tune or disable the trigger-liveness detector for this rule. Absent means enabled with cadence-derived thresholds. |
refresh_sla |
RefreshSla or null |
— | Opt-in: raise a delivery_slo incident when a target is not refreshed within within_seconds of a qualifying upstream write. Absent means the rule is not monitored. |
hold_while_upstream_stale |
boolean or null |
— | Opt-in: hold a firing while a direct upstream asset has an open freshness breach, re-checking every 5 min; a breach opened more than 2 h ago no longer holds. Absent or false: never held for this. Only upstream nodes that are monitored assets can hold (a freshness breach belongs to a monitored asset). |
run_limit |
RunLimit or null |
— | Cap firings per period |
cost_limit |
CostLimit or null |
— | Cap total cost per period |
max_estimated_cost_usd |
number or null |
— | Per-execution dry-run cost gate |
touched_partition_within |
TouchedPartitionWithin or null |
— | Only fire when a BigQuery partition touched by the triggering event falls in a relative calendar window (needs when.events[].enrich.storage_delta). |
ImageConsumer#
| Field | Type | Required | Description |
|---|---|---|---|
consumer_node_id |
string |
yes | — |
consumer_type |
string |
yes | — |
display_name |
string |
yes | — |
configured_ref |
string or null |
— | — |
configured_image_node_id |
string or null |
— | — |
configured_digest |
string or null |
— | — |
serving |
array of ServingRevision | yes | — |
drift |
boolean |
yes | — |
last_observed_date |
string (date) or null |
— | — |
stale |
boolean |
yes | — |
in_graph |
boolean |
yes | — |
ImageDeploymentsResponse#
| Field | Type | Required | Description |
|---|---|---|---|
image_node_id |
string |
yes | — |
snapshot_date |
string (date) or null |
— | — |
deployments_observed_date |
string (date) or null |
— | — |
in_use_count |
integer or null |
— | — |
unused_count |
integer or null |
— | — |
unused_bytes_upper_bound |
integer or null |
— | — |
usage_by_digest |
object of array of VersionUsage | yes | — |
consumers |
array of ImageConsumer | yes | — |
deployments |
array of DeploymentRecord | yes | — |
deployments_truncated |
boolean |
yes | — |
ImageHistoryPoint#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
logical_size_bytes |
integer or null |
— | — |
version_count |
integer |
yes | — |
source |
string (enum) |
yes | "snapshot" = a captured day; "reconstructed" = inferred from the pushes still present |
ImageLatestVersion#
| Field | Type | Required | Description |
|---|---|---|---|
digest |
string |
yes | — |
tags |
array of string |
yes | — |
size_bytes |
integer or null |
— | — |
create_time |
string (date-time) or null |
— | — |
ImageStorageResponse#
| Field | Type | Required | Description |
|---|---|---|---|
image_node_id |
string |
yes | — |
repository_node_id |
string or null |
— | — |
snapshot_date |
string (date) or null |
— | — |
version_count |
integer or null |
— | — |
logical_size_bytes |
integer or null |
— | — |
latest_version |
ImageLatestVersion or null |
— | — |
share |
number or null |
— | — |
monthly_cost |
CostFigure or null |
— | Display-only share of the repository figure (logical bytes / all images' logical bytes, each image at its latest snapshot). Never written to rollups; null when the share or the repository figure is unknown. |
history |
array of ImageHistoryPoint | yes | — |
versions |
array of ImageVersion | yes | — |
versions_truncated |
boolean |
— | — |
ImageVersion#
| Field | Type | Required | Description |
|---|---|---|---|
digest |
string |
yes | — |
tags |
array of string |
yes | — |
size_bytes |
integer or null |
— | — |
create_time |
string (date-time) or null |
— | — |
update_time |
string (date-time) or null |
— | — |
ImpactAnalysisResponse#
Top-level response for the impact analysis endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
origin_node_id |
string |
yes | — |
depth |
integer |
yes | — |
affected_nodes |
array of ImpactNode | yes | — |
rules |
array of ImpactRule | yes | — |
dq_checks |
array of ImpactDQCheck | yes | — |
scheduled_actions |
array of ImpactScheduledAction | yes | — |
summary |
ImpactSummary | yes | — |
ledger |
ImpactLedgerInfo or null |
— | — |
ImpactDQCheck#
A data-quality check rule targeting affected nodes.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string |
yes | — |
rule_name |
string |
yes | — |
priority |
integer |
yes | — |
status |
string |
yes | — |
affected_node_ids |
array of string |
— | — |
ImpactedIncidentRead#
An incident plausibly impacted by a commit / appearing on a timeline.
| Field | Type | Required | Description |
|---|---|---|---|
incident_id |
string |
yes | — |
severity |
string or null |
— | — |
status |
string or null |
— | — |
start_date |
string (date-time) or null |
— | — |
affected_nodes |
array of string |
yes | — |
ImpactLedgerInfo#
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
yes | — |
since |
string (date-time) or null |
— | — |
ImpactNode#
Lite-serialized downstream node with depth from origin.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
display_name |
string or null |
— | — |
node_type |
string or null |
— | — |
ui_url |
string or null |
— | — |
depth |
integer |
yes | Distance from the origin node in the graph |
first_write_at |
string (date-time) or null |
— | — |
writes_since |
integer or null |
— | — |
rows_written |
integer or null |
— | — |
confirmed_from_origin |
boolean or null |
— | — |
ImpactNodeCost#
Estimated BQ cost for an affected node (from FinOps daily rollups).
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
avg_daily_cost_usd |
number |
— | — |
total_cost_30d_usd |
number |
— | — |
event_count_30d |
integer |
— | — |
ImpactRule#
A scheduling rule that targets one or more affected nodes.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string |
yes | — |
rule_name |
string |
yes | — |
executor_type |
string or null |
— | — |
priority |
integer |
yes | — |
status |
string |
yes | — |
affected_node_ids |
array of string |
— | Node IDs among the affected set that this rule targets |
ImpactScheduledAction#
A pending scheduled action for an affected node.
| Field | Type | Required | Description |
|---|---|---|---|
action_id |
string |
yes | — |
node_id |
string |
yes | — |
rule_id |
string or null |
— | — |
scheduled_datetime |
string |
yes | — |
source_id |
string |
yes | — |
ImpactSubscriber#
A subscriber on an affected node.
| Field | Type | Required | Description |
|---|---|---|---|
user_id |
integer |
yes | — |
user_email |
string or null |
— | — |
user_display_name |
string or null |
— | — |
node_id |
string |
yes | — |
notify_on |
string |
yes | — |
ImpactSummary#
Aggregate counts.
| Field | Type | Required | Description |
|---|---|---|---|
total_affected_nodes |
integer |
yes | — |
total_rules |
integer |
yes | — |
total_dq_checks |
integer |
yes | — |
total_scheduled_actions |
integer |
yes | — |
Incident#
Type: object.
IncidentAddReporter#
Request model for adding a reporter to an incident
| Field | Type | Required | Description |
|---|---|---|---|
reporter |
string |
yes | User to add as reporter |
IncidentAddWatcher#
Request model for adding a watcher to an incident
| Field | Type | Required | Description |
|---|---|---|---|
watcher |
string |
yes | User to add as watcher |
IncidentAssign#
Request model for assigning an incident to a user
| Field | Type | Required | Description |
|---|---|---|---|
assignee |
string |
yes | User to assign the incident to |
IncidentAttributionRead#
Ranked culprits for one incident.
| Field | Type | Required | Description |
|---|---|---|---|
incident_id |
string |
yes | — |
anchor_time |
string (date-time) or null |
— | — |
window_days |
integer |
yes | — |
status |
string |
yes | — |
candidate_node_count |
integer |
yes | — |
culprits |
array of CulpritRead | yes | — |
IncidentBulkActionResponse#
Type: object.
IncidentBulkMergeResponse#
Type: object.
IncidentBulkSimpleResponse#
Type: object.
IncidentCommentResponse#
Schema for incident comment response.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
incident_id |
string (uuid) |
yes | — |
author_email |
string |
yes | — |
message |
string |
yes | — |
comment_type |
string |
yes | — |
mentioned_emails |
array of string or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
IncidentCostOfFailureResponse#
Type: object.
IncidentCreate#
Schema for creating a new incident
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
yes | Incident title |
description |
string or null |
— | Detailed description of the incident |
severity |
string |
yes | Severity level: critical, high, medium, low |
status |
string |
yes | Incident status: open, acknowledged, resolved, closed |
incident_type |
string |
— | Type of incident: action_run, data_quality, etc. |
environment |
string or null |
— | Environment (dev, test, prod) - highest priority among affected_nodes |
affected_nodes |
array of string or null |
— | List of affected node IDs (includes all nodes) |
rule_id |
string (uuid) or null |
— | Rule ID (for action_run incidents) |
action |
string or null |
— | Action name (for action_run incidents) |
start_date |
string (date-time) |
yes | When the incident first started |
last_failure_datetime |
string (date-time) |
yes | When the most recent failure occurred |
assignee |
string or null |
— | User assigned to solve the incident |
reporters |
array of string or null |
— | List of users who will validate resolution |
watchers |
array of string or null |
— | List of users who want notifications |
incident_metadata |
object or null |
— | Type-specific metadata (trigger_id for action_run; check_id, metric_history for data_quality) |
error_signature |
string or null |
— | Stable hash of the normalized failure text — used for root-cause clustering |
source_project |
string or null |
— | Project extracted from the failure (e.g. BigQuery project) — pairs with error_signature |
incident_class |
string or null |
— | Incident class: platform | configuration | data_quality | expected | external (server-derived) |
response_tier |
string or null |
— | Response tier: page | ticket | log (server-derived) |
error_category |
string or null |
— | Persisted access-gap category: permission | authentication | api_disabled | timeout | ... |
stage |
string or null |
— | Triage lifecycle stage: triage | active | post | closed (server-derived) |
accepted_at |
string (date-time) or null |
— | When the incident was accepted (the MTTA/MTTR clock start, NOT created_at) |
accepted_by |
string or null |
— | Who accepted the incident |
declined_at |
string (date-time) or null |
— | When the incident was declined |
declined_reason |
string or null |
— | Why the incident was declined |
snoozed_until |
string (date-time) or null |
— | Hide the incident from the triage inbox until this timestamp |
regressed_count |
integer or null |
— | Times a resolved fingerprint recurred (auto-reopen / Regressed transitions) |
severity_basis |
object or null |
— | Matrix inputs the severity advisor used (env/blast_radius/criticality/condition/score) |
is_counting |
boolean or null |
— | False for maintenance/test severities → excluded from MTTA/MTTR / incident-count metrics |
dedup_fingerprint |
string or null |
— | Cross-rule stable fingerprint (hash of error_class+project+ancestor+action) |
upstream_ancestor |
string or null |
— | Nearest failing ancestor node id (lineage inhibition) |
root_incident_id |
string (uuid) or null |
— | Set when this incident is a downstream cascade of an already-open root incident |
snooze_mode |
string or null |
— | Smart-snooze mode: time | occurrences | forecast |
snooze_threshold |
integer or null |
— | N-more-occurrences target, or the stored baseline for the forecast band |
snoozed_by |
string or null |
— | Who snoozed the incident |
IncidentGroupOwned#
Type: object.
IncidentImpactEntry#
Per-incident downstream impact summary.
| Field | Type | Required | Description |
|---|---|---|---|
incident_id |
string |
yes | — |
downstream_node_count |
integer |
yes | — |
impact_tier |
string |
yes | Derived from downstream count: critical/high/medium/low |
top_downstream |
array of TopDownstreamNode | — | Top 3 most-impacted downstream consumers by type priority then depth |
IncidentKindEntry#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | The value written to incident.incident_type |
label |
string |
yes | — |
owner |
string |
yes | "core" or the id of the plugin that declares the kind |
IncidentOwned#
Type: object.
IncidentProvenanceResponse#
Type: object.
IncidentRegistryResponse#
| Field | Type | Required | Description |
|---|---|---|---|
kinds |
object of object |
yes | — |
sources |
array of IncidentSourceEntry | — | — |
categories |
array of string |
— | — |
IncidentRemoveReporter#
Request model for removing a reporter from an incident
| Field | Type | Required | Description |
|---|---|---|---|
reporter |
string |
yes | User to remove as reporter |
IncidentRemoveWatcher#
Request model for removing a watcher from an incident
| Field | Type | Required | Description |
|---|---|---|---|
watcher |
string |
yes | User to remove as watcher |
IncidentsByNodesRequest#
Batch lookup request for incidents whose affected\_nodes intersect the provided set.
| Field | Type | Required | Description |
|---|---|---|---|
node_ids |
array of string |
yes | Catalog node_ids to match |
status |
array of string or null |
— | Filter by incident status. Omit for any status. Common values: 'open', 'acknowledged', 'resolved', 'closed'. |
limit |
integer |
— | — |
include_snoozed |
boolean |
— | Include actively-snoozed (time-boxed known issue) incidents. Defaults to False — the same default as GET /incidents/node/{node_id}, so this batch route is a drop-in for the per-node calls it replaces. |
IncidentsByNodesResponse#
Deduplicated list of incidents that intersect the requested nodes.
| Field | Type | Required | Description |
|---|---|---|---|
incidents |
array of IncidentOwned | yes | — |
matched_node_count |
integer |
yes | Distinct REQUESTED node_ids that appear in at least one matching incident. Counted over the whole match set, not just the returned page, so it stays exact even when truncated is true. |
truncated |
boolean |
— | True when limit clipped a genuine match set — i.e. matching incidents exist beyond the ones returned. The list is ordered by last_failure_datetime DESC, so what is missing is always OLDER than everything present. False means the list is complete for the requested nodes and filters, which is what lets a caller tell 'no more matches' apart from 'the server stopped looking'. |
IncidentSearchResult#
| Field | Type | Required | Description |
|---|---|---|---|
entity_type |
string |
— | — |
id |
string |
yes | — |
title |
string |
yes | — |
description |
string or null |
— | — |
severity |
string |
yes | — |
status |
string |
yes | — |
incident_type |
string |
yes | — |
environment |
string or null |
— | — |
start_date |
string or null |
— | — |
rank |
number |
yes | — |
IncidentSourceEntry#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
yes | — |
source |
string |
yes | — |
display_name |
string |
yes | — |
short_name |
string |
yes | — |
category |
string |
yes | — |
icon |
string |
yes | — |
owner |
string |
yes | — |
alerts |
string |
yes | — |
IncidentStatusSummary#
Type: object.
IncidentSuppressionRule#
Type: object.
IncidentSuppressionRuleCreate#
Create / upsert a suppression rule.
| Field | Type | Required | Description |
|---|---|---|---|
source_type |
string |
yes | e.g. MicrostrategyReport, bigquery |
source_id |
string |
yes | Identifier of the source (project_id, report id, ...) |
scope_type |
string |
— | Scope this rule applies to |
fingerprint |
string or null |
— | Phase 3 generic suppression identity (dedup_fingerprint) for non-extraction classes |
reason |
string or null |
— | Why this source is considered expected |
expires_at |
string (date-time) or null |
— | Time-boxed known issue: rule is active only until this timestamp. NULL = permanent. |
marked_by |
string |
yes | — |
origin_incident_id |
string (uuid) or null |
— | The incident this rule was created from |
namespace_id |
string (uuid) or null |
— | — |
IncidentSuppressionRuleUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
reason |
string or null |
— | — |
IncidentTimelineResponse#
Response for the incident timeline endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
incident_id |
string (uuid) |
yes | — |
entries |
array of TimelineEntry | yes | — |
total_count |
integer |
yes | — |
IncidentUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
title |
string or null |
— | Incident title |
description |
string or null |
— | Detailed description of the incident |
severity |
string or null |
— | Severity level |
status |
string or null |
— | Incident status |
incident_type |
string or null |
— | Type of incident |
environment |
string or null |
— | Environment (dev, test, prod) |
affected_nodes |
array of string or null |
— | List of affected node IDs (includes all nodes) |
rule_id |
string (uuid) or null |
— | Rule ID (for action_run incidents) |
action |
string or null |
— | Action name (for action_run incidents) |
end_date |
string (date-time) or null |
— | When the incident was closed |
resolved_at |
string (date-time) or null |
— | When the incident was resolved |
resolved_by |
string or null |
— | Who resolved the incident |
resolution_notes |
string or null |
— | Resolution notes |
acknowledged_at |
string (date-time) or null |
— | When the incident was acknowledged |
acknowledged_by |
string or null |
— | Who acknowledged the incident |
last_failure_datetime |
string (date-time) or null |
— | When the most recent failure occurred |
failure_count |
integer or null |
— | Number of failures in this incident |
assignee |
string or null |
— | User assigned to solve the incident |
reporters |
array of string or null |
— | List of users who will validate resolution |
watchers |
array of string or null |
— | List of users who want notifications |
incident_metadata |
object or null |
— | Type-specific metadata |
incident_class |
string or null |
— | Override incident class (platform | configuration | data_quality | expected | external) |
response_tier |
string or null |
— | Override response tier (page | ticket | log) |
error_category |
string or null |
— | Override persisted error category |
stage |
string or null |
— | Override triage stage (triage | active | post | closed) |
is_counting |
boolean or null |
— | Override whether the incident counts towards MTTA/MTTR |
InputLogEnrichmentCreate#
Body of POST /input_logs/{id}/enrichment (called by input-logs service).
| Field | Type | Required | Description |
|---|---|---|---|
job_id |
string or null |
— | BQ job_id or equivalent provider job identifier |
kind |
string |
yes | Enrichment kind, e.g. 'bigquery_dml' |
enricher |
string |
yes | Enricher plugin name, e.g. 'gcp.bigquery_job' |
level |
string |
yes | 'L2' | 'L3' | 'L2+L3' |
payload |
object |
yes | EventEnrichment.to_payload() output |
InputLogEnrichmentResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
input_log_id |
string (uuid) |
yes | — |
job_id |
string or null |
— | — |
kind |
string |
yes | — |
enricher |
string |
yes | — |
level |
string |
yes | — |
payload |
object |
yes | — |
computed_at |
string (date-time) |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
InputLogReplayResponse#
Outcome of POST /api/v1/input\_logs/replay: the row was stored now, or already was.
| Field | Type | Required | Description |
|---|---|---|---|
status |
string (enum) |
yes | — |
id |
string (uuid) |
yes | — |
InputLogsAggregatedElement#
| Field | Type | Required | Description |
|---|---|---|---|
type |
string |
yes | — |
count |
integer |
yes | — |
InputLogsAggregatedItem#
| Field | Type | Required | Description |
|---|---|---|---|
start_datetime |
string (date-time) |
yes | — |
end_datetime |
string (date-time) |
yes | — |
elements |
array of InputLogsAggregatedElement | yes | — |
InputLogsAggregatedResponse#
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of InputLogsAggregatedItem | yes | — |
window_minutes |
integer |
yes | — |
total_windows |
integer |
yes | — |
InputLogsCreate#
| Field | Type | Required | Description |
|---|---|---|---|
trigger |
string |
yes | — |
node_ids |
array of string |
yes | — |
datetime |
string (date-time) |
yes | — |
type |
string |
yes | — |
writer |
string |
yes | — |
source_id |
string or null |
— | — |
project |
string or null |
— | — |
process_by_scheduler |
boolean |
— | — |
log_metadata |
object or null |
— | — |
provider |
string or null |
— | — |
correlation_id |
string or null |
— | — |
InputLogsListResponse#
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of InputLogsResponse | yes | — |
total |
integer |
yes | — |
page |
integer |
yes | — |
size |
integer |
yes | — |
pages |
integer |
yes | — |
InputLogsResponse#
| Field | Type | Required | Description |
|---|---|---|---|
slot_cost |
CostFigure or null |
— | — |
id |
string (uuid) |
yes | — |
trigger |
string |
yes | — |
node_ids |
array of string |
yes | — |
datetime |
string (date-time) |
yes | — |
type |
string |
yes | — |
writer |
string |
yes | — |
source_id |
string or null |
— | — |
project |
string or null |
— | — |
process_by_scheduler |
boolean |
— | — |
log_metadata |
object or null |
— | — |
provider |
string or null |
— | — |
correlation_id |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
cost |
CostFigure or null |
— | — |
direction |
string |
— | — |
sku |
string or null |
— | — |
InputLogsResumeInformation#
Resume information for a specific node_id
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
most_recent_unprocessed_datetime |
string (date-time) or null |
— | — |
most_recent_created_at |
string (date-time) or null |
— | — |
time_since_last_activity |
integer or null |
— | — |
InputLogsUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
trigger |
string or null |
— | — |
node_ids |
array of string or null |
— | — |
datetime |
string (date-time) or null |
— | — |
type |
string or null |
— | — |
writer |
string or null |
— | — |
source_id |
string or null |
— | — |
project |
string or null |
— | — |
process_by_scheduler |
boolean or null |
— | — |
log_metadata |
object or null |
— | — |
provider |
string or null |
— | — |
correlation_id |
string or null |
— | — |
InstalledDistribution#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Python distribution name, e.g. 'nistor-plugin-finops' |
version |
string |
yes | Distribution version resolved via importlib.metadata |
IntegrationStatusResponse#
Empty degraded list means every integration is healthy.
| Field | Type | Required | Description |
|---|---|---|---|
degraded |
array of DegradedIntegration | — | — |
K#
KPIPoint#
| Field | Type | Required | Description |
|---|---|---|---|
week |
string |
yes | — |
value |
number |
yes | — |
KPIResult#
| Field | Type | Required | Description |
|---|---|---|---|
current_value |
number |
yes | — |
unit |
string |
yes | — |
band |
string |
yes | — |
trend |
array of KPIPoint | yes | — |
trend_direction |
string |
yes | — |
L#
LastChangeSummary#
When the asset's data last changed.
| Field | Type | Required | Description |
|---|---|---|---|
datetime |
string (date-time) |
yes | — |
type |
string or null |
— | The input_logs event type, e.g. BIGQUERY_INSERT / BIGQUERY_MERGE. |
age_seconds |
integer or null |
— | Seconds since the change, for relative-time display. |
LastReadSummary#
When the asset was last read/queried (most recent BIGQUERY\_READ).
| Field | Type | Required | Description |
|---|---|---|---|
datetime |
string (date-time) |
yes | — |
age_seconds |
integer or null |
— | Seconds since the read, for relative-time display. |
LastRunSummary#
Compact representation of a node's most recent ActionRun.
| Field | Type | Required | Description |
|---|---|---|---|
run_id |
string (uuid) |
yes | — |
state |
string or null |
— | — |
action |
string or null |
— | — |
trigger_id |
string or null |
— | — |
started_at |
string (date-time) or null |
— | — |
ended_at |
string (date-time) or null |
— | — |
duration_seconds |
number or null |
— | — |
triggered_by |
string or null |
— | — |
rule_id |
string (uuid) or null |
— | — |
failure_reason |
string or null |
— | — |
origin |
string or null |
— | Originating system. 'jarvis' (default) when the Nistor scheduler created the row; 'dataform_external' when the Dataform external-sync cron ingested it. The frontend renders an 'External' badge for non-'jarvis' values. |
LatestReportOut#
The newest report of one (provider, repository) that keeps its resources (the compiler's gap fill).
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
provider |
string |
yes | — |
repo_key |
string |
yes | — |
repo_url |
string or null |
— | — |
ref |
string or null |
— | — |
commit |
string or null |
— | — |
deployed_at |
string (date-time) or null |
— | — |
received_at |
string (date-time) or null |
— | — |
resources |
array of LatestReportResourceOut or null |
— | — |
LatestReportResourceOut#
| Field | Type | Required | Description |
|---|---|---|---|
type |
string |
yes | — |
address |
string |
yes | — |
name |
string or null |
— | — |
attributes |
object |
— | — |
LatestSyncEventsResponse#
| Field | Type | Required | Description |
|---|---|---|---|
environment |
string |
yes | — |
events |
array of LatestSyncEventSummary | yes | — |
rules |
object of LatestSyncRuleEntry | yes | — |
LatestSyncEventSummary#
One connection's newest sync event, without the report body.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
connection_id |
string (uuid) |
yes | — |
connection_name |
string |
yes | — |
repo_project_path |
string |
yes | — |
created_at |
string (date-time) or null |
— | — |
status |
string |
yes | — |
branch |
string |
yes | — |
commit_sha |
string or null |
— | — |
pipeline_url |
string or null |
— | — |
triggered_by |
string or null |
— | — |
summary |
object of integer |
yes | — |
error |
string or null |
— | — |
LatestSyncRuleEntry#
| Field | Type | Required | Description |
|---|---|---|---|
event_id |
string (uuid) |
yes | — |
action |
string or null |
— | — |
error |
string or null |
— | — |
findings |
array of object |
— | — |
unchecked |
array of object |
— | — |
LeaseClaimRequest#
| Field | Type | Required | Description |
|---|---|---|---|
max |
integer |
— | The most runs to lease |
LeaseCompletion#
| Field | Type | Required | Description |
|---|---|---|---|
status |
string (enum) |
yes | — |
error |
string or null |
— | — |
external_id |
string or null |
— | The tool's id of the launch |
facts |
array of object or null |
— | Core facts: {kind, ...fields} |
LeasePurposeOut#
What the session was opened for. Every field is a best effort — the caller may not know the node or the run, and a call site that set no purpose gets its module name as kind with derived=True.
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
— | — |
object_ids |
array of string |
— | At most the first few MicroStrategy object ids |
object_count |
integer |
— | — |
node_id |
string or null |
— | — |
action_run_id |
string or null |
— | — |
rule_name |
string or null |
— | — |
derived |
boolean |
— | True when the kind is the caller's module name, not a declared purpose |
LinkActionRunRequest#
Request model for linking an action_run to an incident
| Field | Type | Required | Description |
|---|---|---|---|
action_run_id |
string (uuid) |
yes | Action run ID |
incident_id |
string (uuid) |
yes | Incident ID |
relationship_type |
string |
— | Type of relationship: failure or resolution |
LinkedWatchConfigIn#
| Field | Type | Required | Description |
|---|---|---|---|
free_interval_seconds |
integer |
— | — |
exact_time_enabled |
boolean |
— | — |
watermark_column |
string or null |
— | — |
exact_time_safety_net |
string (enum) |
— | — |
LinkedWatchOverview#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
member_count |
integer |
yes | — |
config |
LinkedWatchConfigIn | yes | — |
updated_by |
string or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
free_check |
object |
yes | — |
exact_estimate |
CostEstimate | yes | — |
exact_forced_by_rules |
array of string |
— | — |
rhythm |
object of integer or null |
— | — |
last_refresh_at |
string (date-time) or null |
— | — |
members |
array of object |
— | — |
LockActionType#
Enum for lock action types
One of: "lock", "unlock", "expired".
LostTo#
| Field | Type | Required | Description |
|---|---|---|---|
owner |
OwnerRef | yes | — |
count |
integer |
yes | — |
tie |
boolean |
yes | — |
M#
MaintenanceWindowCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
description |
string or null |
— | — |
start_at |
string (date-time) |
yes | — |
end_at |
string (date-time) |
yes | — |
rrule |
string or null |
— | — |
duration_s |
integer or null |
— | — |
timezone |
string |
— | — |
scope_type |
ScopeType | yes | — |
namespace_id |
string (uuid) or null |
— | — |
node_ids |
array of string or null |
— | — |
action_policy |
ActionPolicy | — | — |
alert_suppression |
boolean |
— | — |
created_by |
string or null |
— | — |
MaintenanceWindowResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
start_at |
string (date-time) |
yes | — |
end_at |
string (date-time) |
yes | — |
rrule |
string or null |
— | — |
duration_s |
integer or null |
— | — |
timezone |
string |
yes | — |
scope_type |
string |
yes | — |
namespace_id |
string (uuid) or null |
— | — |
node_ids |
array of string or null |
— | — |
action_policy |
string |
yes | — |
alert_suppression |
boolean |
yes | — |
status |
string |
yes | — |
created_by |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
MaintenanceWindowUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
description |
string or null |
— | — |
start_at |
string (date-time) or null |
— | — |
end_at |
string (date-time) or null |
— | — |
rrule |
string or null |
— | — |
duration_s |
integer or null |
— | — |
timezone |
string or null |
— | — |
scope_type |
ScopeType or null |
— | — |
namespace_id |
string (uuid) or null |
— | — |
node_ids |
array of string or null |
— | — |
action_policy |
ActionPolicy or null |
— | — |
alert_suppression |
boolean or null |
— | — |
status |
WindowStatus or null |
— | — |
ManualRuleRunRequest#
Request body for running a scheduling rule's action on demand.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string |
yes | ID of the scheduling rule to run |
node_id |
string |
yes | Node to run the rule's action against (the trigger node) |
ManualRuleRunResponse#
| Field | Type | Required | Description |
|---|---|---|---|
mode |
string |
yes | 'single' (one action) or 'chain' (multi-step action chain) |
rule_id |
string |
yes | — |
node_id |
string |
yes | — |
status |
string |
— | — |
chain_run_id |
string or null |
— | Set when mode == 'chain' — track via /chain_runs/{id} |
action_type |
string or null |
— | Set when mode == 'single' — the executor type run |
upstream |
object or null |
— | Raw scheduler response for the single-action case |
MarketplacePlugin#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
name |
string |
yes | — |
tagline |
string |
yes | — |
description |
string |
yes | — |
category |
string |
yes | — |
kind |
string (enum) |
— | Plugin family: a Nistor-native 'feature' or an external 'integration'. |
vendor |
string |
yes | — |
icon_slug |
string or null |
— | — |
docs_url |
string or null |
— | — |
homepage_url |
string or null |
— | — |
install_hint |
string or null |
— | — |
is_installed |
boolean |
yes | — |
is_third_party |
boolean |
— | True when discovered via entry points but absent from the catalog. |
status |
string (enum) |
yes | — |
status_reason |
string or null |
— | Why an official tool is not loaded (the core tool gate's reason: not installed, not active in this image, incompatible or invalid, failed to load); null for every other row. |
distributions |
array of InstalledDistribution | — | — |
extension_points |
array of ExtensionPointRef | — | — |
capabilities |
array of CapabilityRef | — | — |
documentation |
PluginDocumentation or null |
— | Rich docs contributed by the plugin package; present only for installed plugins. |
MarketplaceResponse#
| Field | Type | Required | Description |
|---|---|---|---|
plugins |
array of MarketplacePlugin | yes | — |
generated_at |
string (date-time) |
yes | — |
MatchDecisionRead#
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | — |
node_id |
string |
yes | — |
status |
string |
yes | — |
first_matched_at |
string (date-time) or null |
— | — |
decided_at |
string (date-time) or null |
— | — |
decided_by |
string or null |
— | — |
reason |
string or null |
— | — |
MatchDecisionResult#
| Field | Type | Required | Description |
|---|---|---|---|
changed |
integer |
yes | — |
not_matched |
array of string |
yes | — |
overridden |
integer or null |
— | — |
conflicts |
integer or null |
— | — |
MatchDecisionWrite#
| Field | Type | Required | Description |
|---|---|---|---|
node_ids |
array of string |
yes | — |
status |
string (enum) |
yes | — |
reason |
string or null |
— | — |
only_if_undecided |
boolean |
— | — |
from_git |
boolean |
— | — |
Message#
| Field | Type | Required | Description |
|---|---|---|---|
message |
string |
yes | — |
MissingOut#
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | — |
cheapest_preset |
string or null |
— | — |
team_admins |
array of PersonRef | — | — |
MonitoredAsset#
Type: object.
MonitoredAssetCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Display name |
node_id |
string or null |
— | Catalog node ID (e.g. BigqueryTable_project.dataset.table) |
node_type |
string or null |
— | Node type (e.g. BigqueryTable, MicrostrategyCube) |
resource_type |
string or null |
— | Generalized type: cube, table, action, service, etc. |
health_mode |
HealthMode | — | How health is evaluated: auto, mstr, manual |
mstr_object_id |
string or null |
— | MicroStrategy object ID |
mstr_object_type |
AssetType or null |
— | MicroStrategy object type |
project_id |
string or null |
— | MicroStrategy project ID |
freshness_sla_hours |
integer |
— | Max hours before data is stale |
expected_refresh_cron |
string or null |
— | Expected refresh schedule |
owner |
string or null |
— | Asset owner |
is_active |
boolean |
— | — |
is_favorite |
boolean |
— | On the user's Data Trust watchlist |
slo_config |
object or null |
— | Per-asset SLO config (JSONB); null = platform default |
delivery_deadline |
string or null |
— | Absolute daily freshness deadline as HH:MM local; null = none |
deadline_grace_minutes |
integer |
— | Minutes past the deadline before a miss is declared |
expected_termination |
boolean |
— | Asset intentionally paused/decommissioned — alerts suppressed |
expected_termination_reason |
string or null |
— | Why the asset is paused |
MonitoredAssetUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
freshness_sla_hours |
integer or null |
— | — |
expected_refresh_cron |
string or null |
— | — |
owner |
string or null |
— | — |
is_active |
boolean or null |
— | — |
health_mode |
HealthMode or null |
— | — |
is_favorite |
boolean or null |
— | — |
expected_termination |
boolean or null |
— | — |
expected_termination_reason |
string or null |
— | — |
MonitoringScope#
One of: "self", "ancestors".
MRImpactReportOut#
| Field | Type | Required | Description |
|---|---|---|---|
project_path |
string |
yes | — |
mr_iid |
integer |
yes | — |
source_branch |
string |
yes | — |
target_branch |
string |
yes | — |
last_commit_sha |
string |
yes | — |
affected_nodes |
array of AffectedNodeOut | yes | — |
blast_radius |
object of integer |
yes | — |
scheduling_rules |
array of AffectedRuleOut | yes | — |
dq_checks |
array of AffectedRuleOut | yes | — |
open_incidents |
array of AffectedIncidentOut | yes | — |
notes |
array of string |
yes | — |
unmapped_paths |
array of string |
yes | — |
unmapped_total |
integer |
— | — |
MRPreviewRequest#
| Field | Type | Required | Description |
|---|---|---|---|
gitops_connection_id |
string (uuid) |
yes | ID of the GitOpsConnection whose repo hosts the MR |
mr_iid |
integer |
yes | The project-scoped MR IID (the !number) |
MRPreviewResponse#
The preview endpoint returns both the structured report AND the rendered markdown so the UI can show them side-by-side without the frontend having to duplicate the renderer.
| Field | Type | Required | Description |
|---|---|---|---|
report |
MRImpactReportOut | yes | — |
rendered_markdown |
string |
yes | — |
MstrActivityBroadcastRequest#
| Field | Type | Required | Description |
|---|---|---|---|
snapshots |
array of MstrActivityIn | yes | — |
MstrActivityIn#
One per-node observation. Multiple per call when polling N envs/nodes.
| Field | Type | Required | Description |
|---|---|---|---|
collected_at |
string (date-time) |
yes | — |
environment |
string |
yes | dev | test | prod |
project_id |
string |
yes | — |
node_name |
string |
yes | — |
live_jobs |
integer |
yes | — |
read_jobs |
integer |
yes | — |
write_jobs |
integer |
yes | — |
error_jobs |
integer |
yes | — |
locked_jobs |
integer |
yes | — |
total_memory_mb |
integer |
yes | — |
distinct_users |
integer |
yes | — |
MstrActivityOut#
| Field | Type | Required | Description |
|---|---|---|---|
collected_at |
string (date-time) |
yes | — |
environment |
string |
yes | — |
project_id |
string |
yes | — |
node_name |
string |
yes | — |
live_jobs |
integer |
yes | — |
read_jobs |
integer |
yes | — |
write_jobs |
integer |
yes | — |
error_jobs |
integer |
yes | — |
locked_jobs |
integer |
yes | — |
total_memory_mb |
integer |
yes | — |
distinct_users |
integer |
yes | — |
MstrUsageNodeResponse#
Latest usage for one node — rolling window + (optional) PA lifetime.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
node_type |
string or null |
— | — |
display_name |
string or null |
— | — |
snapshot_date |
string (date) or null |
— | — |
window_days |
integer or null |
— | — |
window_executions |
integer or null |
— | — |
nistor_executions_window |
integer or null |
— | — |
distinct_users_window |
integer or null |
— | — |
history_loaded |
boolean |
— | — |
usage_history_loaded_at |
string (date-time) or null |
— | — |
usage_source |
string or null |
— | — |
lifetime_executions |
integer or null |
— | — |
lifetime_distinct_users |
integer or null |
— | — |
lifetime_distinct_user_names |
array of string or null |
— | — |
first_accessed |
string (date-time) or null |
— | — |
last_accessed |
string (date-time) or null |
— | — |
cost_month_usd |
number or null |
— | — |
cost_per_user_access_usd |
number or null |
— | — |
MstrUsageObjectItem#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
node_type |
string or null |
— | — |
display_name |
string or null |
— | — |
project_id |
string or null |
— | — |
reads_window |
integer |
— | — |
viewers_window |
integer |
— | — |
last_read_at |
string (date-time) or null |
— | — |
refreshes_window |
integer |
— | — |
refresh_failed_window |
integer |
— | — |
refresh_unconfirmed_window |
integer |
— | — |
last_refresh_at |
string (date-time) or null |
— | — |
status |
string |
yes | — |
MstrUsageObjectsResponse#
| Field | Type | Required | Description |
|---|---|---|---|
total |
integer |
yes | — |
items |
array of MstrUsageObjectItem | yes | — |
MstrUsageRankingItem#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
node_type |
string or null |
— | — |
display_name |
string or null |
— | — |
window_executions |
integer or null |
— | — |
distinct_users_window |
integer or null |
— | — |
lifetime_executions |
integer or null |
— | — |
lifetime_distinct_users |
integer or null |
— | — |
cost_month_usd |
number or null |
— | — |
history_loaded |
boolean |
— | — |
MstrUsageRankingResponse#
| Field | Type | Required | Description |
|---|---|---|---|
total |
integer |
yes | — |
items |
array of MstrUsageRankingItem | yes | — |
MstrUsageReaderItem#
One principal's read activity on a single object (who reads it).
| Field | Type | Required | Description |
|---|---|---|---|
principal |
string |
yes | — |
principal_type |
string |
— | — |
read_count |
integer |
— | — |
last_read_at |
string (date-time) or null |
— | — |
bytes_processed |
integer or null |
— | — |
is_nistor_user |
boolean |
— | — |
display_name |
string or null |
— | — |
is_admin |
boolean |
— | — |
MstrUsageReadersResponse#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
window_days |
integer |
yes | — |
total_distinct_readers |
integer |
— | — |
readers |
array of MstrUsageReaderItem | yes | — |
MstrUsageSummaryResponse#
| Field | Type | Required | Description |
|---|---|---|---|
window_days |
integer |
yes | — |
observed_since |
string (date-time) or null |
— | — |
last_event_at |
string (date-time) or null |
— | — |
excluded |
UsageExcludedStats | yes | — |
by_type |
object of UsageTypeStats | yes | — |
totals |
UsageTypeStats | yes | — |
MstrUsageTimeseriesPoint#
| Field | Type | Required | Description |
|---|---|---|---|
bucket |
string |
yes | — |
reads |
integer |
— | — |
distinct_viewers |
integer |
— | — |
refreshes |
integer |
— | — |
MstrUsageTimeseriesResponse#
| Field | Type | Required | Description |
|---|---|---|---|
granularity |
string |
yes | — |
points |
array of MstrUsageTimeseriesPoint | yes | — |
MstrUserReadObjectItem#
One object a principal read (the per-user inverse of a reader row).
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
node_type |
string or null |
— | — |
display_name |
string or null |
— | — |
read_count |
integer |
— | — |
last_read_at |
string (date-time) or null |
— | — |
MstrUserReadObjectsResponse#
| Field | Type | Required | Description |
|---|---|---|---|
principal |
string |
yes | — |
window_days |
integer |
yes | — |
total_objects |
integer |
— | — |
objects |
array of MstrUserReadObjectItem | yes | — |
MyAccess#
| Field | Type | Required | Description |
|---|---|---|---|
user |
MyUser | yes | — |
teams |
array of MyTeamAccess | yes | — |
enforcement |
object of string (enum) |
yes | — |
MyAgentRun#
An agent run's own scope: the codes it was launched with, and its agent's current team.
| Field | Type | Required | Description |
|---|---|---|---|
launch_codes |
array of string |
yes | — |
team |
MyTeamRef or null |
— | — |
MyNoteResponse#
Type: object.
MyTeamAccess#
| Field | Type | Required | Description |
|---|---|---|---|
team |
MyTeamRef | yes | — |
via |
string (enum) |
yes | — |
role |
string |
yes | — |
from_team |
TeamRef or null |
— | — |
codes |
array of string |
yes | — |
admins |
array of PersonRef | yes | — |
MyTeamRef#
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string or null |
— | — |
name |
string |
yes | — |
visibility |
string |
yes | — |
is_active |
boolean |
yes | — |
MyUser#
| Field | Type | Required | Description |
|---|---|---|---|
email |
string |
yes | — |
display_name |
string or null |
— | — |
is_admin |
boolean |
yes | — |
org_role |
string or null |
— | — |
org_codes |
array of string |
yes | — |
baseline_codes |
array of string |
yes | — |
agent_run |
MyAgentRun or null |
— | — |
N#
NamespaceMemberResponse#
Schema for namespace member response.
| Field | Type | Required | Description |
|---|---|---|---|
user_id |
integer |
yes | — |
namespace_id |
string (uuid) |
yes | — |
role |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
email |
string or null |
— | — |
display_name |
string or null |
— | — |
NamespaceResponse#
Schema for namespace response.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
slug |
string |
yes | — |
description |
string or null |
— | — |
is_active |
boolean |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
NextCheckSummary#
Type: object.
NextCheckSummaryWithRetry#
Type: object.
NextFireSummary#
Next forward-looking refresh for a node.
| Field | Type | Required | Description |
|---|---|---|---|
scheduled_datetime |
string (date-time) |
yes | — |
rule_id |
string (uuid) or null |
— | — |
source |
string (enum) |
yes | Where the value came from: pre-materialized scheduler_action row or on-the-fly cron evaluation. |
nistor_backend__api__endpoints__tool_capacity__CoverageOut#
| Field | Type | Required | Description |
|---|---|---|---|
is_floor |
boolean |
yes | True when some requests to this tool are not counted |
note |
string |
yes | What the figures count, in one sentence the page renders verbatim |
nistor_backend__api__endpoints__tool_capacity__ServiceRollupOut#
| Field | Type | Required | Description |
|---|---|---|---|
service |
string |
yes | — |
in_use |
integer |
yes | — |
bounded_capacity |
integer |
yes | — |
processes |
integer |
yes | — |
nistor_backend__schemas__activity_bulk__ActivityEntry#
All activity fields for a single node_id.
| Field | Type | Required | Description |
|---|---|---|---|
last_run |
LastRunSummary or null |
— | — |
last_change |
LastChangeSummary or null |
— | — |
last_read |
LastReadSummary or null |
— | — |
next_fire |
NextFireSummary or null |
— | — |
scheduled_refresh |
ScheduledRefreshSummary or null |
— | — |
downstream_impact |
DownstreamImpactSummary or null |
— | — |
nistor_backend__schemas__data_trust__ActivityEntry#
Type: object.
nistor_tool_microstrategy__routers__mstr_sessions__CoverageOut#
What this figure counts — published so the page cannot overstate it.
| Field | Type | Required | Description |
|---|---|---|---|
scope |
string |
yes | Machine-readable scope key for the aggregate |
is_floor |
boolean |
yes | Always true: a process killed without its shutdown hook stops reporting while MicroStrategy keeps its sessions |
note |
string |
yes | Human sentence the UI renders next to the total |
nistor_tool_microstrategy__routers__mstr_sessions__ServiceRollupOut#
| Field | Type | Required | Description |
|---|---|---|---|
service |
string |
yes | — |
in_use |
integer |
yes | — |
capacity |
integer |
yes | — |
processes |
integer |
yes | — |
pooled_in_use |
integer |
yes | in_use minus direct logins — the pool's own occupancy, what utilisation is judged against |
Node#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
display_name |
string |
yes | — |
ancestors |
array of string |
yes | — |
descendants |
array of string |
yes | — |
compilation_parents |
array of string |
yes | — |
ui_url |
string or null |
— | — |
node_rules |
array of object or null |
— | — |
listener_events |
object of array of string or null |
— | — |
listening_events |
object of array of string or null |
— | — |
object_types |
array of string or null |
— | — |
run_action_on_node |
array of string or null |
— | — |
edges_to_run |
array of string or null |
— | — |
trigger_by_node |
array of object or null |
— | — |
hierarchy |
object or null |
— | — |
display_type |
string or null |
— | — |
NodeAccessExplained#
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | — |
owner |
NodeOwner | yes | — |
mine |
DecisionOut | yes | — |
principals_visible |
boolean |
yes | — |
principals |
Principals or null |
— | — |
node_id |
string |
yes | — |
mode |
string (enum) |
yes | — |
mine_today |
TodayDecision | yes | — |
NodeCountsBatchRequest#
Request body for POST /rules\_scheduling/node-counts/batch.
| Field | Type | Required | Description |
|---|---|---|---|
rule_ids |
array of string (uuid) |
yes | Rule UUIDs to count nodes for (max 100) |
NodeDeploymentSourcesOut#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
supported |
boolean |
yes | — |
sources |
array of DeploymentSourceOut | — | — |
NodeEnvironmentVariant#
Schema for a node variant in a specific environment.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | Full node ID in this environment |
exists |
boolean |
yes | Whether this node exists in this environment |
environment_url |
string or null |
— | URL to access the backend in this environment |
NodeEnvironmentVariants#
Schema for node variants across all environments.
| Field | Type | Required | Description |
|---|---|---|---|
canonical_id |
string |
yes | Environment-agnostic canonical ID |
current_environment |
string |
yes | Current environment |
variants |
object of NodeEnvironmentVariant | yes | Node variants by environment (dev, test, prod) |
NodeFavoriteCheck#
| Field | Type | Required | Description |
|---|---|---|---|
is_favorite |
boolean |
yes | — |
NodeFavoriteCreate#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | Node to favorite |
visibility |
string |
— | private | team | general |
namespace_id |
string (uuid) or null |
— | Required when visibility=team |
NodeFavoriteResponse#
Type: object.
NodeNoteBoostRequest#
Hand this note's recurring check to the AI assistant.
| Field | Type | Required | Description |
|---|---|---|---|
check_text |
string or null |
— | — |
frequency |
ReminderFrequency or null |
— | — |
time |
string or null |
— | HH:MM 24-hour local time |
weekday |
integer or null |
— | 0=Mon .. 6=Sun (weekly only) |
tz |
string or null |
— | IANA timezone |
notify_mode |
string (enum) |
— | — |
channel_id |
string (uuid) or null |
— | Alert channel; required unless notify_mode is 'silent' |
NodeNoteCreate#
| Field | Type | Required | Description |
|---|---|---|---|
environment |
string |
yes | — |
title |
string or null |
— | — |
body |
string |
yes | — |
visibility |
NoteVisibility | — | — |
is_reminder |
boolean |
— | — |
reminder_frequency |
ReminderFrequency or null |
— | — |
reminder_time |
string or null |
— | HH:MM 24-hour local time |
reminder_weekday |
integer or null |
— | 0=Mon .. 6=Sun (weekly only) |
reminder_timezone |
string or null |
— | IANA timezone (default Europe/Paris) |
assignee_emails |
array of string |
— | Users to remind |
NodeNoteResponse#
Type: object.
NodeNoteUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
title |
string or null |
— | — |
body |
string or null |
— | — |
visibility |
NoteVisibility or null |
— | — |
is_reminder |
boolean or null |
— | — |
reminder_frequency |
ReminderFrequency or null |
— | — |
reminder_time |
string or null |
— | — |
reminder_weekday |
integer or null |
— | — |
reminder_timezone |
string or null |
— | — |
assignee_emails |
array of string or null |
— | — |
is_active |
boolean or null |
— | — |
NodeObjectActivityResponse#
Object-level write activity for a Cloud Storage bucket, powering the Usage tab's write hot-map.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
window_days |
integer |
— | — |
summary_window_days |
integer |
— | — |
bucket |
string or null |
— | — |
is_bucket_scope |
boolean |
— | — |
summary |
ObjectActivitySummary | — | — |
prefixes |
array of ObjectActivityPrefix | — | — |
top_objects |
array of ObjectActivityObject | — | — |
hourly |
array of ObjectActivityHourCell | — | — |
daily |
array of ObjectActivityDayCount | — | — |
NodeOwner#
| Field | Type | Required | Description |
|---|---|---|---|
team |
TeamRef or null |
— | — |
contested |
boolean |
— | — |
selector |
SelectorRef or null |
— | — |
NodeOwnership#
| Field | Type | Required | Description |
|---|---|---|---|
team |
OwnerRef | yes | — |
selector_kind |
string or null |
— | — |
selector_label |
string or null |
— | — |
contested |
boolean |
yes | — |
NodePartitionActivityResponse#
Per-partition write-activity rollup for a BigQuery node — powers the Usage tab's partition heat-map ("which partitions are written, how often").
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
days |
integer |
— | — |
source_type |
string or null |
— | — |
partition_count |
integer |
— | — |
total_touches |
integer |
— | — |
partitions |
array of PartitionActivityItem | — | — |
NodeReaderEntry#
One reader (writer principal) of a node over the look-back window.
| Field | Type | Required | Description |
|---|---|---|---|
principal |
string |
yes | — |
principal_type |
string |
yes | — |
read_count |
integer |
yes | — |
last_read_at |
string (date-time) or null |
— | — |
bytes_processed |
integer or null |
— | — |
is_nistor_user |
boolean |
— | — |
display_name |
string or null |
— | — |
is_admin |
boolean |
— | — |
daily_reads |
array of integer or null |
— | — |
NodeReadersResponse#
Top readers of any node over the trailing window, aggregated live from input\_logs read-type rows.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
window_days |
integer |
— | — |
total_distinct_readers |
integer |
— | — |
table_last_read_at |
string (date-time) or null |
— | — |
readers |
array of NodeReaderEntry | — | — |
NodeSearchResult#
| Field | Type | Required | Description |
|---|---|---|---|
entity_type |
string |
— | — |
node_id |
string |
yes | — |
display_name |
string or null |
— | — |
node_type |
string or null |
— | — |
display_type |
string or null |
— | — |
environment |
string or null |
— | — |
hierarchy |
object or null |
— | — |
ancestors_count |
integer |
— | — |
descendants_count |
integer |
— | — |
rank |
number |
yes | — |
is_favorite |
boolean |
— | — |
NodeStats#
Usage stats per node.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
view_count |
integer |
yes | — |
unique_users |
integer |
yes | — |
last_page_name |
string or null |
yes | — |
NodeSubscriptionCheck#
| Field | Type | Required | Description |
|---|---|---|---|
is_subscribed |
boolean |
yes | — |
subscription |
NodeSubscriptionResponse or null |
— | — |
NodeSubscriptionCreate#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | Node to subscribe to |
notify_on |
NotifyOn | — | When to notify: run_complete, dq_pass, or both |
channel_id |
string (uuid) or null |
— | Optional external channel to deliver to (Google Chat, Slack, …) |
deliver_in_app |
boolean |
— | Write to the in-app inbox. Combine with channel_id for in-app only / channel only / both. |
NodeSubscriptionResponse#
Type: object.
NodeTabStats#
Usage stats per node tab.
| Field | Type | Required | Description |
|---|---|---|---|
node_tab |
string |
yes | — |
view_count |
integer |
yes | — |
unique_users |
integer |
yes | — |
NodeWriterEntry#
One writer (writer principal) of a node over the look-back window.
| Field | Type | Required | Description |
|---|---|---|---|
principal |
string |
yes | — |
principal_type |
string |
yes | — |
write_count |
integer |
yes | — |
bytes_processed |
integer or null |
— | — |
last_write_at |
string (date-time) or null |
— | — |
NodeWritersResponse#
Top writers of a node over the trailing window, aggregated live from input\_logs write-type rows.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
window_days |
integer |
— | — |
total_distinct_writers |
integer |
— | — |
total_write_events |
integer |
— | — |
table_last_write_at |
string (date-time) or null |
— | — |
writers |
array of NodeWriterEntry | — | — |
NoteAssignee#
| Field | Type | Required | Description |
|---|---|---|---|
user_id |
integer |
yes | — |
email |
string or null |
— | — |
display_name |
string or null |
— | — |
last_acknowledged_at |
string (date-time) or null |
— | — |
snoozed_until |
string (date-time) or null |
— | — |
NoteBoostInfo#
The AI routine that took over this note's recurring check.
| Field | Type | Required | Description |
|---|---|---|---|
routine_id |
string (uuid) |
yes | — |
active |
boolean |
yes | — |
last_verdict |
NoteBoostVerdict or null |
— | — |
last_run_at |
string (date-time) or null |
— | — |
last_run_status |
string or null |
— | — |
conversation_id |
string (uuid) or null |
— | — |
NoteBoostVerdict#
Type: object.
NoteCheckEntry#
Type: object.
NoteVisibility#
One of: "private", "shared".
NotifyOn#
One of: "run_complete", "dq_pass", "both".
O#
ObjectActivityDayCount#
Writes on one calendar day (UTC) — feeds the date-based calendar heatmap.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string |
yes | — |
write_count |
integer |
yes | — |
ObjectActivityHourCell#
One cell of the day-of-week × hour write-intensity heatmap (UTC).
| Field | Type | Required | Description |
|---|---|---|---|
dow |
integer |
yes | — |
hour |
integer |
yes | — |
write_count |
integer |
yes | — |
ObjectActivityObject#
A single object and how many times it was written in the window — the "which objects are overwritten most" list. object\_id is the canonical (lossless) child node id; display\_path is a best-effort readable path (/ reconstruction is approximate, see :class:ObjectActivityPrefix).
| Field | Type | Required | Description |
|---|---|---|---|
object_id |
string |
yes | — |
display_path |
string |
yes | — |
write_count |
integer |
yes | — |
last_write |
string (date-time) or null |
— | — |
ObjectActivityPrefix#
One row of the path-prefix write hot-map.
| Field | Type | Required | Description |
|---|---|---|---|
path_prefix |
string |
yes | — |
write_count |
integer |
yes | — |
distinct_objects |
integer |
yes | — |
last_write |
string (date-time) or null |
— | — |
ObjectActivitySummary#
Headline write-activity counts for a Cloud Storage bucket over the window.
| Field | Type | Required | Description |
|---|---|---|---|
total_writes |
integer |
— | — |
distinct_objects |
integer |
— | — |
new_objects |
integer |
— | — |
rewritten_objects |
integer |
— | — |
max_writes_single_object |
integer |
— | — |
Observation#
What one probe found, and what the poller did about it.
| Field | Type | Required | Description |
|---|---|---|---|
watch_id |
string |
yes | — |
node_id |
string or null |
— | — |
outcome |
string or null |
— | baseline | advanced | unchanged | regressed | no_timestamp. Absent on failure. |
cursor_committed |
string (date-time) or null |
— | — |
last_modified |
string (date-time) or null |
— | — |
num_rows |
integer or null |
— | — |
num_bytes |
integer or null |
— | — |
error |
string or null |
— | — |
error_kind |
string or null |
— | — |
fallback_fired_at |
string (date-time) or null |
— | — |
probe_skipped |
boolean |
— | — |
freshness |
object or null |
— | — |
no_connection |
boolean |
— | — |
publish_failed |
boolean |
— | — |
fingerprint_committed |
string or null |
— | — |
pending_fingerprint |
string or null |
— | — |
pending_observed_at |
string (date-time) or null |
— | — |
time_basis |
string or null |
— | — |
exact_read_at |
string (date-time) or null |
— | — |
exact_bytes_billed |
integer or null |
— | — |
exact_bytes_required |
integer or null |
— | — |
exact_error |
string or null |
— | — |
skipped |
string or null |
— | — |
ObservationOut#
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer |
yes | — |
metric_key |
string |
yes | — |
observed_at |
string (date-time) |
yes | — |
value |
number or null |
— | — |
dimensions |
object or null |
— | — |
producer |
string |
yes | — |
ObservationsRequest#
| Field | Type | Required | Description |
|---|---|---|---|
observations |
array of Observation | — | — |
ObservationsResponse#
| Field | Type | Required | Description |
|---|---|---|---|
applied |
integer |
— | — |
advanced |
integer |
— | — |
failed |
integer |
— | — |
baselined |
integer |
— | — |
unknown |
integer |
— | — |
incidents |
integer |
— | — |
fallbacks |
integer |
— | — |
probe_skipped |
integer |
— | — |
publish_retries |
integer |
— | — |
report_gap_cleared |
integer |
— | — |
ledger_rows_written |
integer |
— | — |
ObserveOutcomeResponse#
| Field | Type | Required | Description |
|---|---|---|---|
status |
string |
yes | — |
incident_id |
string or null |
— | — |
reason |
string or null |
— | — |
created |
boolean |
— | — |
OdcsByNodeItem#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
name |
string |
yes | — |
semver |
string |
yes | — |
status |
string |
yes | — |
updated_at |
string (date-time) or null |
— | — |
OdcsContractDetail#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
odcs_id |
string |
yes | — |
name |
string |
yes | — |
semver |
string |
yes | — |
status |
string |
yes | — |
node_id |
string or null |
— | — |
environment |
string or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
locked |
boolean |
— | — |
source |
string or null |
— | — |
source_repo |
string or null |
— | — |
source_file |
string or null |
— | — |
data_contract_id |
string or null |
— | — |
api_version |
string |
yes | — |
raw |
object |
— | — |
OdcsContractListItem#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
odcs_id |
string |
yes | — |
name |
string |
yes | — |
semver |
string |
yes | — |
status |
string |
yes | — |
node_id |
string or null |
— | — |
environment |
string or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
locked |
boolean |
— | — |
source |
string or null |
— | — |
source_repo |
string or null |
— | — |
source_file |
string or null |
— | — |
data_contract_id |
string or null |
— | — |
OdcsDriftResponse#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string or null |
— | — |
in_sync |
boolean |
yes | — |
missing_columns |
array of string |
— | — |
extra_columns |
array of string |
— | — |
type_mismatches |
array of OdcsTypeMismatch | — | — |
OdcsHealthResponse#
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
yes | — |
contracts |
integer |
— | — |
last_import_at |
string (date-time) or null |
— | — |
OdcsImportRequest#
| Field | Type | Required | Description |
|---|---|---|---|
yaml_content |
string |
yes | — |
source_url |
string or null |
— | — |
node_id |
string or null |
— | — |
OdcsImportResponse#
| Field | Type | Required | Description |
|---|---|---|---|
contract_id |
string |
yes | — |
node_id |
string or null |
— | — |
name |
string |
yes | — |
semver |
string |
yes | — |
created |
boolean |
yes | — |
catalog_columns_written |
integer |
— | — |
quality_proposals |
integer |
— | — |
relationships |
integer |
— | — |
data_contract_id |
string or null |
— | — |
warnings |
array of string |
— | — |
OdcsSyncContractInput#
One contract document supplied by the sync caller.
| Field | Type | Required | Description |
|---|---|---|---|
source_file |
string |
yes | — |
yaml_content |
string |
yes | — |
OdcsSyncOperation#
The outcome for one contract file (or one pruned orphan).
| Field | Type | Required | Description |
|---|---|---|---|
source_file |
string or null |
— | — |
name |
string or null |
— | — |
node_id |
string or null |
— | — |
action |
string |
yes | — |
error |
string or null |
— | — |
OdcsSyncRequest#
| Field | Type | Required | Description |
|---|---|---|---|
environment |
string |
yes | — |
contracts |
array of OdcsSyncContractInput | — | — |
source_repo |
string or null |
— | — |
source_branch |
string or null |
— | — |
dry_run |
boolean |
— | — |
delete_orphaned |
boolean |
— | — |
OdcsSyncResponse#
| Field | Type | Required | Description |
|---|---|---|---|
synced |
integer |
— | — |
skipped |
integer |
— | — |
errors |
array of string |
— | — |
OdcsSyncResult#
| Field | Type | Required | Description |
|---|---|---|---|
environment |
string |
yes | — |
dry_run |
boolean |
yes | — |
created |
integer |
— | — |
updated |
integer |
— | — |
unchanged |
integer |
— | — |
deleted |
integer |
— | — |
errors |
integer |
— | — |
operations |
array of OdcsSyncOperation | — | — |
OdcsTypeMismatch#
| Field | Type | Required | Description |
|---|---|---|---|
column |
string |
yes | — |
contract_type |
string or null |
— | — |
live_type |
string or null |
— | — |
OdcsValidateRequest#
| Field | Type | Required | Description |
|---|---|---|---|
yaml_content |
string |
yes | — |
OdcsValidateResponse#
| Field | Type | Required | Description |
|---|---|---|---|
valid |
boolean |
yes | — |
errors |
array of OdcsValidationError | — | — |
summary |
OdcsValidateSummary | — | — |
OdcsValidateSummary#
| Field | Type | Required | Description |
|---|---|---|---|
schema_objects |
integer |
— | — |
properties |
integer |
— | — |
quality_rules |
integer |
— | — |
sla_properties |
integer |
— | — |
OdcsValidationError#
| Field | Type | Required | Description |
|---|---|---|---|
path |
string |
yes | — |
message |
string |
yes | — |
OnHoldAction#
Type: object.
OnHoldActionCreate#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string or null |
— | Node identifier (for node-level on-hold actions) |
rule_id |
string (uuid) or null |
— | Rule identifier (for both node and group on-hold actions) |
is_group |
boolean |
— | True for group actions (batch processing), False for individual node actions |
group_nodes |
array of any or null |
— | List of node IDs for group actions |
impacted_nodes |
array of any or null |
— | Snapshot of nodes that will be impacted (for display only) |
next_check |
string (date-time) or null |
— | Next check datetime |
max_retries |
integer or null |
— | Maximum number of retries allowed |
current_retries |
integer |
— | Current number of retries attempted |
retry_policy |
object or null |
— | Resolved RetryPolicy governing next_check (mode, backoff, max_duration_s) |
first_attempt_at |
string (date-time) or null |
— | Start of this retry sequence — the anchor for the policy's wall-clock budget. NOT created_at: this row is recreated on every reschedule, so a budget anchored on the row's own creation time would restart each hop and never expire. |
executor_type |
string or null |
— | Type of executor (e.g., 'dataform', 'bigquery', etc.) |
claimed_until |
string (date-time) or null |
— | When the current claim expires (for parallel processing coordination) |
claimed_by |
string or null |
— | Which scheduler instance claimed this action |
defer_reason_type |
string or null |
— | Why this action is deferred (e.g. 'maintenance') |
defer_reason_id |
string (uuid) or null |
— | ID of the entity causing the deferral (e.g. maintenance_window.id) |
hold_reason |
string or null |
— | Why the executor filed this row ('lock_conflicts', 'lock_acquisition_error', 'action_already_running'); null for a row the cron reconcile armed. A lock retry is a fixed 60s delay, not a cron slot, so the reconcile leaves it to the dispatcher. |
hold_attempt |
integer or null |
— | Which re-queue hop this row is (1 = the executor's first re-queue of this cycle); null for a row the cron reconcile armed. Republished by the dispatcher as on_hold_attempt so a transient lock wait is counted against its budget. |
OnHoldBatchCheckItem#
Single item in a batch on-hold status check request.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | Node ID to check |
source_id |
string |
yes | Source ID that triggered the event |
source_type |
string |
yes | Event type (e.g., BIGQUERY_INSERT) |
OnHoldBatchCheckRequest#
Request to check on-hold status for multiple nodes.
| Field | Type | Required | Description |
|---|---|---|---|
checks |
array of OnHoldBatchCheckItem | yes | List of nodes to check |
OnHoldBatchCheckResponse#
Response containing on-hold status for multiple nodes.
| Field | Type | Required | Description |
|---|---|---|---|
results |
object of OnHoldBatchCheckResult | yes | Map of node_id to check result |
OnHoldBatchCheckResult#
Result for a single node's on-hold status check.
| Field | Type | Required | Description |
|---|---|---|---|
has_on_hold |
boolean |
yes | Whether the node has a pending on-hold action |
trigger_type |
string or null |
— | Type of trigger (e.g., 'all_ancestors_updated', 'inactivity_period') |
should_skip |
boolean |
yes | Whether to skip sending to scheduler |
reason |
string |
yes | Reason for the decision (e.g., 'no_on_hold', 'on_hold_exists', 'ancestor_already_updated') |
OnHoldClaimsShortenRequest#
Bring a draining instance's worker claims down to now + grace (phase 1, R6).
| Field | Type | Required | Description |
|---|---|---|---|
owners |
array of string |
— | — |
grace_seconds |
integer |
— | — |
OnHoldClaimTransferRequest#
Hand the dispatcher's claim on one on-hold action to its worker (phase 1, R2).
| Field | Type | Required | Description |
|---|---|---|---|
from_owner |
string |
yes | — |
to_owner |
string |
yes | — |
lease_seconds |
integer |
— | — |
OperationApprovalApprove#
Optional body for approving a pending request.
| Field | Type | Required | Description |
|---|---|---|---|
note |
string or null |
— | — |
OperationApprovalRead#
A two-person approval request keyed by (op\_type, target\_ref).
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
op_type |
string |
yes | — |
target_ref |
string |
yes | — |
requested_by |
string |
yes | — |
requested_at |
string (date-time) |
yes | — |
request_note |
string or null |
— | — |
approved_by |
string or null |
— | — |
approved_at |
string (date-time) or null |
— | — |
approve_note |
string or null |
— | — |
status |
string |
yes | — |
reversible_operation_id |
string (uuid) or null |
— | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
OperationApprovalRequest#
Body for requesting a two-person approval for a destructive op.
| Field | Type | Required | Description |
|---|---|---|---|
op_type |
string |
yes | — |
target_ref |
string |
yes | — |
note |
string or null |
— | — |
OrgRoleGroup#
| Field | Type | Required | Description |
|---|---|---|---|
count |
integer |
yes | — |
sample |
array of PersonRef | yes | — |
role |
string or null |
— | — |
OwnedResource#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
display_name |
string or null |
— | — |
node_type |
string or null |
— | — |
environment |
string or null |
— | — |
in_catalog |
boolean |
yes | — |
selector_label |
string or null |
— | — |
contested |
boolean |
yes | — |
OwnerCount#
| Field | Type | Required | Description |
|---|---|---|---|
owner |
OwnerRef or null |
— | — |
count |
integer |
yes | — |
OwnerRef#
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string or null |
— | — |
name |
string |
yes | — |
P#
PageInfo#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string or null |
— | — |
name |
string or null |
— | — |
visualizations |
array of VisualizationInfo | — | — |
selectors |
array of SelectorInfo | — | — |
PageStats#
Per-page statistics.
| Field | Type | Required | Description |
|---|---|---|---|
page_path |
string |
yes | — |
page_name |
string or null |
yes | — |
view_count |
integer |
yes | — |
unique_users |
integer |
yes | — |
PageViewCreate#
Schema for creating a page view or action event.
| Field | Type | Required | Description |
|---|---|---|---|
page_path |
string |
yes | Route path visited |
page_name |
string or null |
— | Human-readable page name |
viewed_at |
string (date-time) or null |
— | When the page was viewed (defaults to server time) |
event_type |
string |
— | Event type: page_view, manual_run |
section |
string or null |
— | App section category |
node_id |
string or null |
— | Node ID if viewing a node |
node_tab |
string or null |
— | Tab within node detail |
metadata |
object or null |
— | Extra event data |
PageViewStats#
Type: object.
PageViewStatsResponse#
Type: object.
PartitionActivityItem#
Write activity for a single BigQuery partition over the look-back window.
| Field | Type | Required | Description |
|---|---|---|---|
partition_id |
string |
yes | — |
touch_count |
integer |
— | — |
total_rows |
integer or null |
— | — |
last_touched_at |
string or null |
— | — |
recompute_modes |
object of integer |
— | — |
PendingRuleGroup#
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | — |
rule_name |
string |
yes | — |
node_ids |
array of string |
yes | — |
oldest_first_matched_at |
string (date-time) or null |
— | — |
PeopleGroup#
| Field | Type | Required | Description |
|---|---|---|---|
count |
integer |
yes | — |
sample |
array of PersonRef | yes | — |
PermissionResponse#
Schema for permission response.
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | Machine-readable permission code (e.g., 'actions:run_dataform') |
name |
string |
yes | Human-readable permission name |
description |
string or null |
— | Description of what this permission allows |
category |
string |
yes | Category for grouping in UI (e.g., 'Actions', 'Pages') |
id |
integer |
yes | — |
scope |
string (enum) |
— | 'team' when a team role can carry the code on the team's assets, else 'org' |
PersonRef#
| Field | Type | Required | Description |
|---|---|---|---|
email |
string |
yes | — |
display_name |
string or null |
— | — |
PlatformQueriesExplorerResponse#
Response for platform-level queries explorer
| Field | Type | Required | Description |
|---|---|---|---|
queries |
array of InputLogsResponse | yes | — |
top_patterns |
array of QueryPatternStats | yes | — |
top_users |
array of QueryUserStats | yes | — |
top_nodes |
array of QueryNodeStats | yes | — |
total_queries |
integer |
yes | — |
daily_buckets |
array of TimeBucket | — | — |
hourly_buckets |
array of TimeBucket | — | — |
summary_stats |
QESummaryStats or null |
— | — |
PluginDocumentation#
Rich, plugin-owned documentation surfaced in the drawer.
| Field | Type | Required | Description |
|---|---|---|---|
overview |
string |
yes | — |
use_cases |
array of string |
— | — |
compatible_systems |
array of CompatibleSystemRef | — | — |
detects |
array of string |
— | Node types this plugin surfaces |
lineage |
array of string |
— | — |
finops |
array of string |
— | — |
impacts |
array of string |
— | — |
requirements |
array of string |
— | — |
PluginsListResponse#
| Field | Type | Required | Description |
|---|---|---|---|
plugins |
array of PluginStatus | yes | — |
generated_at |
string (date-time) |
yes | — |
PluginStatus#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | Plugin id from BaseExecutorPlugin.id |
name |
string |
yes | Display name, falls back to id |
version |
string or null |
— | Distribution version via importlib.metadata |
distribution |
string or null |
— | Python distribution package name |
category |
string or null |
— | — |
status |
string |
yes | Plugin state. Currently always 'loaded'. |
last_used |
string (date-time) or null |
— | MAX(ActionRun.end_datetime) for this executor_type |
priority |
integer |
— | — |
PollConfig#
Opt this listener's sources into scheduled last-modified polling.
| Field | Type | Required | Description |
|---|---|---|---|
interval_seconds |
integer |
— | How often to read the source's last-modified timestamp. Bounded below at 60s because the poll cron ticks once a minute (a smaller value cannot be honoured and would only mislead), and above at 24h. When several rules watch the same source the SMALLEST interval wins. |
enabled |
boolean |
— | Set false to stop polling without deleting the declaration — useful while an external partner's grant is being sorted out. |
fallback_times |
array of string or null |
— | Local times of day ('HH:MM') at which to fire ANYWAY while the probe is blocked by a configuration failure — a missing IAM grant, or a resource that has been renamed away. Polling can tell us nothing in that state, so every rule waiting on the source would silently stop firing; this falls back to the clock until access is restored. Gated on the failure itself, so it stops the instant a probe succeeds — there is no flag to remember to turn off. Events it emits are marked 'assumed' and never advance the cursor. Omit for no fallback. |
fallback_time_zone |
string |
— | IANA zone the fallback_times are expressed in (e.g. 'Europe/Brussels'). |
mode |
string (enum) |
— | Linked-dataset members only. 'count' (default, free) detects a change from the table's row count; 'exact' also reads MAX(watermark_column) to get the publisher's real refresh time. BigQuery bills at least 10 MB per table per exact read. |
watermark_column |
string or null |
— | Column read by mode 'exact' (TIMESTAMP or DATETIME). Falls back to the linked dataset's config. |
PollerHealthResponse#
Is anything still looking?
| Field | Type | Required | Description |
|---|---|---|---|
enabled_watches |
integer |
— | — |
oldest_poll_age_seconds |
integer or null |
— | — |
never_polled |
integer |
— | — |
never_succeeded |
integer |
— | — |
failing |
integer |
— | — |
permission_denied |
integer |
— | — |
PresenceHeartbeatRequest#
| Field | Type | Required | Description |
|---|---|---|---|
resource_type |
string |
yes | — |
resource_id |
string |
yes | — |
PresenceHeartbeatResponse#
Other viewers currently on the resource (the caller is excluded).
| Field | Type | Required | Description |
|---|---|---|---|
viewers |
array of ViewerOut | yes | — |
PresenceLeaveRequest#
| Field | Type | Required | Description |
|---|---|---|---|
resource_type |
string |
yes | — |
resource_id |
string |
yes | — |
Principals#
| Field | Type | Required | Description |
|---|---|---|---|
admins |
PeopleGroup | yes | — |
org_roles |
array of OrgRoleGroup | yes | — |
members |
array of TeamMemberHolder | yes | — |
members_truncated |
boolean |
— | — |
team_grants |
array of TeamGrantHolders | yes | — |
open |
boolean |
yes | — |
ProcessOut#
| Field | Type | Required | Description |
|---|---|---|---|
service |
string |
yes | — |
instance_id |
string |
yes | — |
pid |
integer |
yes | — |
in_use |
integer |
yes | — |
capacity |
integer |
yes | — |
peak_in_use |
integer or null |
yes | — |
waits |
integer or null |
yes | — |
timeouts |
integer or null |
yes | — |
overflows |
integer or null |
yes | — |
leaks |
integer or null |
yes | — |
oldest_held_seconds |
number or null |
yes | — |
last_seen |
string (date-time) |
yes | — |
stale |
boolean |
yes | — |
ProcessReportOut#
| Field | Type | Required | Description |
|---|---|---|---|
service |
string |
yes | — |
instance_id |
string |
yes | — |
pid |
integer |
yes | — |
in_use |
integer |
yes | — |
capacity |
integer |
yes | — |
backoff_until |
string (date-time) or null |
— | — |
last_seen |
string (date-time) |
yes | — |
stale |
boolean |
yes | Outside the freshness window: listed for diagnosis, excluded from the sums |
sessions |
array of SessionOut | — | One entry per held session, leased first. Empty for a row written before the context existed. |
pooled_in_use |
integer |
yes | in_use minus direct logins — the pool's own occupancy, what utilisation is judged against |
ProjectCount#
| Field | Type | Required | Description |
|---|---|---|---|
project |
string or null |
yes | — |
count |
integer |
yes | — |
ProvenanceItem#
Type: object.
ProvenanceLink#
Type: object.
PruneBody#
| Field | Type | Required | Description |
|---|---|---|---|
components |
array of string |
yes | Component IDs whose samples to prune (e.g. 'scheduler'). |
keep_status |
array of string or null |
— | Statuses to preserve. Defaults to ['healthy'] — i.e. prune everything else. |
Q#
QESummaryStats#
Aggregated summary statistics across all matching queries.
| Field | Type | Required | Description |
|---|---|---|---|
slot_cost |
CostFigure or null |
— | — |
total_slot_ms |
integer |
— | — |
total_queries |
integer |
— | — |
total_cost |
number |
— | — |
total_processed_bytes |
integer |
— | — |
cache_hit_rate |
number |
— | — |
avg_duration_seconds |
number or null |
— | — |
read_count |
integer |
— | — |
write_count |
integer |
— | — |
unique_users |
integer |
— | — |
unique_nodes |
integer |
— | — |
QualityAssetSummary#
Type: object.
QualitySummary#
Type: object.
QueriesExplorerResponse#
Response for the queries explorer endpoint
| Field | Type | Required | Description |
|---|---|---|---|
queries |
array of InputLogsResponse | yes | — |
top_patterns |
array of QueryPatternStats | yes | — |
top_users |
array of QueryUserStats | yes | — |
total_queries |
integer |
yes | — |
daily_buckets |
array of TimeBucket | — | — |
hourly_buckets |
array of TimeBucket | — | — |
summary_stats |
QESummaryStats or null |
— | — |
QueryCostEstimateRequest#
| Field | Type | Required | Description |
|---|---|---|---|
sql |
string |
yes | — |
project_id |
string |
yes | — |
parameters |
array of QueryParameterInput or null |
— | Named query parameters (@param_name) |
QueryCostEstimateResponse#
| Field | Type | Required | Description |
|---|---|---|---|
bytes_processed |
integer |
yes | — |
bytes_gb |
number |
yes | — |
estimated_cost_usd |
number |
yes | — |
QueryExecuteRequest#
| Field | Type | Required | Description |
|---|---|---|---|
sql |
string |
yes | — |
project_id |
string |
yes | — |
row_limit |
integer |
— | — |
max_bytes_billed |
integer |
— | Maximum bytes the query may scan before being rejected |
parameters |
array of QueryParameterInput or null |
— | Named query parameters (@param_name) |
include_plan |
boolean |
— | Include the BigQuery execution plan in the response |
QueryExecuteResponse#
| Field | Type | Required | Description |
|---|---|---|---|
columns |
array of ColumnMeta | yes | — |
rows |
array of object |
yes | — |
total_rows_returned |
integer |
yes | — |
truncated |
boolean |
yes | — |
cost_info |
object |
yes | — |
job_id |
string or null |
— | — |
explain_plan |
array of object or null |
— | — |
QueryHistoryResponse#
Type: object.
QueryNodeStats#
Aggregated query stats per node (BigQuery table)
| Field | Type | Required | Description |
|---|---|---|---|
slot_cost |
CostFigure or null |
— | — |
total_slot_ms |
integer |
— | — |
node_id |
string |
yes | — |
query_count |
integer |
yes | — |
total_billed_bytes |
integer |
— | — |
total_processed_bytes |
integer |
— | — |
total_cost_estimate |
number |
— | — |
read_count |
integer |
— | — |
write_count |
integer |
— | — |
QueryParameterInput#
A named query parameter for parameterised BigQuery queries.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
type |
string |
yes | BigQuery type: STRING, INT64, FLOAT64, BOOL, DATE, TIMESTAMP, BYTES |
value |
object |
yes | Parameter value (will be cast to the declared type) |
QueryPatternStats#
Aggregated stats for a normalized query pattern
| Field | Type | Required | Description |
|---|---|---|---|
slot_cost |
CostFigure or null |
— | — |
total_slot_ms |
integer |
— | — |
pattern |
string |
yes | — |
pattern_hash |
string |
yes | — |
execution_count |
integer |
yes | — |
total_billed_bytes |
integer |
— | — |
total_processed_bytes |
integer |
— | — |
avg_duration_seconds |
number or null |
— | — |
total_cost_estimate |
number |
— | — |
users |
array of string |
— | — |
first_seen |
string (date-time) |
yes | — |
last_seen |
string (date-time) |
yes | — |
sample_query |
string |
— | — |
QueryUserStats#
Aggregated query stats per user
| Field | Type | Required | Description |
|---|---|---|---|
slot_cost |
CostFigure or null |
— | — |
total_slot_ms |
integer |
— | — |
writer |
string |
yes | — |
query_count |
integer |
yes | — |
total_billed_bytes |
integer |
— | — |
total_processed_bytes |
integer |
— | — |
total_cost_estimate |
number |
— | — |
read_count |
integer |
— | — |
write_count |
integer |
— | — |
avg_duration_seconds |
number or null |
— | — |
R#
ReadCaptureGapResponse#
| Field | Type | Required | Description |
|---|---|---|---|
days |
integer |
yes | — |
limit |
integer |
yes | — |
offset |
integer |
yes | — |
rows |
array of ReadCaptureGapRow | yes | — |
ReadCaptureGapRow#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
hour |
string (date-time) |
yes | — |
pa_reads |
integer |
yes | — |
monitor_reads |
integer |
yes | — |
gap |
integer |
yes | — |
RecentExecutionSummary#
Type: object.
RecomputeSnoozesResponse#
Result of the snooze-recompute + inhibition sweep.
| Field | Type | Required | Description |
|---|---|---|---|
time |
integer |
— | — |
occurrences |
integer |
— | — |
forecast |
integer |
— | — |
escalating |
integer |
— | — |
inhibited |
integer |
— | — |
cleared |
integer |
— | — |
RecoveryResponse#
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of RecoveryRow | yes | — |
total |
integer |
yes | — |
window |
RecoveryWindow | yes | — |
RecoveryRow#
One thing that still needs re-running.
| Field | Type | Required | Description |
|---|---|---|---|
action_run_id |
string |
yes | — |
node_id |
string or null |
— | — |
rule_id |
string or null |
— | — |
rule_name |
string or null |
— | — |
executor_type |
string or null |
— | — |
action |
string or null |
— | — |
state |
string or null |
— | — |
attempts |
integer |
yes | — |
first_failure_at |
string (date-time) or null |
— | — |
last_failure_at |
string (date-time) or null |
— | — |
failure_reason |
string or null |
— | — |
in_outage_window |
boolean |
— | — |
relaunching |
boolean |
— | — |
RecoveryWindow#
| Field | Type | Required | Description |
|---|---|---|---|
start |
string (date-time) |
yes | — |
end |
string (date-time) |
yes | — |
RefreshSla#
Opt-in, trigger-relative refresh SLA for this rule's targets.
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
— | Keep the block but stop evaluating it. |
within_seconds |
integer |
yes | Deadline, in seconds after the first qualifying upstream write, for a successful refresh. Must exceed if.quiet_period_seconds: the rule cannot fire before its quiet period ends. |
count_external_refreshes |
boolean |
— | Whether a refresh the tool ran on its own (an external MicroStrategy refresh recorded with node_id = the cube) meets the SLA. |
severity |
string (enum) |
— | Severity of the incident raised when the SLA is missed. |
RefreshSlaCheckResponse#
| Field | Type | Required | Description |
|---|---|---|---|
checked_rules |
integer |
— | — |
skipped_rules |
integer |
— | — |
verdict_count |
integer |
— | — |
missed |
integer |
— | — |
pending |
integer |
— | — |
opened |
integer |
— | — |
bumped |
integer |
— | — |
suppressed |
integer |
— | — |
resolved |
integer |
— | — |
closed |
integer |
— | — |
skipped |
string or null |
— | — |
verdicts |
array of object |
— | — |
dry_run |
boolean |
— | — |
checked_at |
string or null |
— | — |
RelatedDQFailure#
Type: object.
RelatedDQFailuresResponse#
Type: object.
RelatedPipelineFailure#
Type: object.
RelatedPipelineFailuresResponse#
Type: object.
ReliabilityMetricsResponse#
| Field | Type | Required | Description |
|---|---|---|---|
deployment_frequency |
KPIResult | yes | — |
change_failure_rate |
KPIResult | yes | — |
mttr |
KPIResult | yes | — |
lead_time |
KPIResult | yes | — |
window_days |
integer |
yes | — |
ReminderFrequency#
One of: "daily", "weekly".
RepoAsCodeOut#
| Field | Type | Required | Description |
|---|---|---|---|
rules |
array of RepoConfigItemOut | — | — |
alert_policies |
array of RepoConfigItemOut | — | — |
alert_channels |
array of RepoConfigItemOut | — | — |
contracts |
array of RepoConfigItemOut | — | — |
RepoConfigItemOut#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
name |
string |
yes | — |
code_id |
string or null |
— | — |
source_file |
string or null |
— | — |
source_branch |
string or null |
— | — |
locked |
boolean or null |
— | — |
RepoConfigOut#
| Field | Type | Required | Description |
|---|---|---|---|
rules |
integer |
— | — |
alert_policies |
integer |
— | — |
alert_channels |
integer |
— | — |
contracts |
integer |
— | — |
RepoConnectionOut#
The repository's (oldest) GitOps connection, as the repository list and page show it.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
sync_mode |
string |
yes | — |
status |
string |
yes | — |
last_sync_at |
string (date-time) or null |
— | — |
last_sync_status |
string or null |
— | — |
RepoHistoryItemOut#
One entry of a repository's deploy history: a GitOps sync run or a CI deployment report.
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string (enum) |
yes | — |
id |
string |
yes | — |
at |
string (date-time) or null |
— | — |
status |
string or null |
— | — |
commit |
string or null |
— | — |
ref |
string or null |
— | — |
actor |
string or null |
— | — |
pipeline_url |
string or null |
— | — |
summary |
object |
— | — |
RepoLastDeploymentOut#
| Field | Type | Required | Description |
|---|---|---|---|
provider |
string or null |
— | — |
commit |
string or null |
— | — |
pipeline_url |
string or null |
— | — |
deployed_at |
string (date-time) or null |
— | — |
deployed_by |
string or null |
— | — |
RepoReportResourcesPage#
| Field | Type | Required | Description |
|---|---|---|---|
report |
ReportRefOut or null |
— | — |
counts |
object of integer |
— | — |
scopes |
array of ReportScopeOut | — | — |
total |
integer |
— | — |
items |
array of ReportResourceOut | — | — |
RepoResourceOut#
One resource a repository deploys, with the repository's primary source for it.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
node_type |
string |
yes | — |
display_name |
string or null |
— | — |
in_current_build |
boolean |
— | — |
from_report |
boolean |
— | — |
relation |
string |
— | — |
settings_count |
integer |
— | — |
provider |
string |
yes | — |
origin |
string |
yes | — |
ref |
string or null |
— | — |
commit |
string or null |
— | — |
path |
string or null |
— | — |
line |
integer or null |
— | — |
deployed_at |
string (date-time) or null |
— | — |
deployed_by |
string or null |
— | — |
pipeline_url |
string or null |
— | — |
source_url |
string or null |
— | — |
RepoResourcesOut#
| Field | Type | Required | Description |
|---|---|---|---|
total |
integer |
— | — |
by_provider |
object of integer |
— | — |
by_node_type |
object of integer |
— | — |
RepoResourcesPage#
| Field | Type | Required | Description |
|---|---|---|---|
total |
integer |
yes | — |
items |
array of RepoResourceOut | — | — |
ReportIn#
| Field | Type | Required | Description |
|---|---|---|---|
service |
string |
yes | — |
instance_id |
string |
yes | — |
pid |
integer |
yes | — |
tools |
array of SnapshotIn | yes | — |
ReportRefOut#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
provider |
string |
yes | — |
commit |
string or null |
— | — |
ref |
string or null |
— | — |
pipeline_url |
string or null |
— | — |
deployed_at |
string (date-time) or null |
— | — |
ReportResourceOut#
One resource of a repository's newest CI report and why it is, or is not, linked.
| Field | Type | Required | Description |
|---|---|---|---|
address |
string |
yes | — |
type |
string |
yes | — |
name |
string or null |
— | — |
label |
string |
yes | — |
node_id |
string or null |
— | — |
node_type |
string or null |
— | — |
relation |
string or null |
— | — |
scan |
ReportScanOut or null |
— | — |
from_report |
boolean |
— | — |
ReportScanOut#
The compiler scan that would catalogue a reported resource's node.
| Field | Type | Required | Description |
|---|---|---|---|
source_type |
string |
yes | — |
project_id |
string or null |
— | — |
required_role |
string or null |
— | — |
error |
string or null |
— | — |
ReportScopeOut#
One scan scope behind unlinked resources, with how many share it: one fix line on the page.
| Field | Type | Required | Description |
|---|---|---|---|
label |
string |
yes | — |
source_type |
string |
yes | — |
project_id |
string or null |
— | — |
required_role |
string or null |
— | — |
error |
string or null |
— | — |
count |
integer |
— | — |
RepositoryHistoryPoint#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
size_bytes |
integer or null |
— | — |
source |
string |
yes | "api" (measured sizeBytes) or "monitoring" (de-duplicated Cloud Monitoring) |
monthly_cost |
CostFigure or null |
— | That day's size priced like monthly_cost; the detail says whether the size was measured (api) or de-duplicated from Cloud Monitoring (monitoring). Null when the size is unknown or no rate prices the SKU. |
RepositoryImageStorage#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
image_name |
string or null |
— | — |
snapshot_date |
string (date) or null |
— | This image's own latest snapshot date (its size is carried forward from it); null when none |
version_count |
integer or null |
— | — |
logical_size_bytes |
integer or null |
— | — |
share |
number or null |
— | 0..1 of the repository's logical total |
monthly_cost |
CostFigure or null |
— | Display-only share of the repository figure (logical bytes / all images' logical bytes, each image at its latest snapshot). Never written to rollups; null when the share or the repository figure is unknown. |
last_push_datetime |
string (date-time) or null |
— | — |
RepositoryStorageResponse#
| Field | Type | Required | Description |
|---|---|---|---|
repository_node_id |
string |
yes | — |
size_bytes |
integer or null |
— | — |
snapshot_date |
string (date) or null |
— | Latest version-snapshot date of this repository's images; null when none |
monthly_cost |
CostFigure or null |
— | This repository's billed size (AR API sizeBytes) priced for a full month at ar.storage list price; null when the size is unknown or no rate prices the SKU. |
history |
array of RepositoryHistoryPoint | yes | — |
images |
array of RepositoryImageStorage | yes | — |
logical_total_bytes |
integer or null |
— | — |
note |
string |
yes | — |
ResourcePattern#
Schema for resource pattern response
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Name of the resource pattern |
description |
string |
yes | Description of the resource pattern |
pattern |
string |
yes | Regex pattern for matching resources |
ResourcePatternCreate#
Schema for creating a new resource pattern
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Name of the resource pattern |
description |
string |
yes | Description of the resource pattern |
pattern |
string |
yes | Regex pattern for matching resources |
ResourcePatternList#
Schema for list of resource patterns
| Field | Type | Required | Description |
|---|---|---|---|
patterns |
array of ResourcePattern | yes | — |
total |
integer |
yes | Total number of patterns |
ResourcePatternUpdate#
Schema for updating a resource pattern
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | Name of the resource pattern |
description |
string or null |
— | Description of the resource pattern |
pattern |
string or null |
— | Regex pattern for matching resources |
ResourcesPage#
| Field | Type | Required | Description |
|---|---|---|---|
total |
integer |
yes | — |
items |
array of OwnedResource | yes | — |
RestoreResponse#
Outcome of a restore call (restored | no\_op | failed).
| Field | Type | Required | Description |
|---|---|---|---|
status |
string |
yes | — |
message |
string |
yes | — |
RetentionCommonValue#
| Field | Type | Required | Description |
|---|---|---|---|
at |
string (date-time) |
yes | — |
fraction |
number |
yes | — |
RetentionEstimateOut#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
available |
boolean |
yes | — |
reason |
string or null |
— | — |
table_bytes |
integer or null |
— | — |
estimated_rows |
integer or null |
— | — |
bytes_per_row |
number or null |
— | — |
null_fraction |
number |
— | — |
histogram_fraction |
number |
— | — |
bounds |
array of string (date-time) |
— | — |
common_values |
array of RetentionCommonValue | — | — |
analyzed_at |
string (date-time) or null |
— | — |
disk_usd_per_gb_month |
number or null |
— | — |
RetentionHistoryOut#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
points |
array of RetentionHistoryPoint | yes | — |
RetentionHistoryPoint#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
table_bytes |
integer or null |
— | — |
live_rows |
integer or null |
— | — |
rows_deleted |
integer or null |
— | — |
RetentionPolicyUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
yes | — |
retention_days |
integer |
yes | — |
RetentionPreviewOut#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
retention_days |
integer |
yes | — |
cutoff |
string (date-time) |
yes | — |
rows |
integer or null |
— | — |
RetentionPreviewRequest#
| Field | Type | Required | Description |
|---|---|---|---|
retention_days |
integer |
yes | — |
RetentionTargetOut#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
table |
string |
yes | — |
label |
string |
yes | — |
deletes |
string |
yes | — |
shortens |
array of string |
yes | — |
default_days |
integer |
yes | — |
min_days |
integer |
yes | — |
max_days |
integer |
yes | — |
enabled |
boolean |
yes | — |
retention_days |
integer |
yes | — |
saved_days_out_of_range |
boolean |
yes | — |
updated_by |
string or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
last_run_at |
string (date-time) or null |
— | — |
last_cutoff |
string (date-time) or null |
— | — |
last_deleted_rows |
integer or null |
— | — |
last_status |
string or null |
— | — |
last_reason |
string or null |
— | — |
table_bytes |
integer or null |
— | — |
RetryPolicySchema#
How a failed action is retried — see nistor\_core.general.retry\_policy.
| Field | Type | Required | Description |
|---|---|---|---|
mode |
string (enum) or null |
— | — |
initial_backoff_s |
integer or null |
— | Wait before the first retry |
backoff_factor |
number or null |
— | Multiplier applied to each delay |
max_backoff_s |
integer or null |
— | Cap on any single wait |
max_retries |
integer or null |
— | Attempt bound; ignored when max_duration_s set |
max_duration_s |
integer or null |
— | Wall-clock budget from the first attempt; wins over max_retries |
jitter |
boolean or null |
— | Spread retries ±20% so siblings do not resynchronise |
ReversibleOperationRead#
A single guarded destructive operation and its recovery artifact.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
op_type |
string |
yes | — |
target_ref |
string |
yes | — |
target_label |
string or null |
— | — |
action |
string |
yes | — |
performed_by |
string |
yes | — |
performed_at |
string (date-time) |
yes | — |
status |
string |
yes | — |
reversal_strategy |
string |
yes | — |
recovery_handle |
string or null |
— | — |
recovery_expires_at |
string (date-time) or null |
— | — |
restored_at |
string (date-time) or null |
— | — |
restored_by |
string or null |
— | — |
error_message |
string or null |
— | — |
extras |
object or null |
— | — |
audit_log_id |
string (uuid) or null |
— | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
RoleTemplateCreate#
Schema for creating a UI-managed permission preset.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | Unique preset name (e.g. 'analytics-viewer') |
description |
string or null |
— | Human-readable description of the preset |
permission_codes |
array of string |
— | Permission codes bundled by this preset (must exist in the catalog) |
is_default |
boolean |
— | Whether this preset is the suggested default |
RoleTemplateResponse#
Schema for a named permission preset.
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
permission_codes |
array of string |
— | — |
is_default |
boolean |
— | — |
source |
string or null |
— | 'system' for seeded/locked presets, null for UI-created presets |
locked |
boolean |
— | True if the preset is system-managed and cannot be edited |
RoleTemplateUpdate#
Schema for partially updating a permission preset (all fields optional).
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | New unique preset name |
description |
string or null |
— | New description |
permission_codes |
array of string or null |
— | Replacement list of permission codes (must exist in the catalog) |
is_default |
boolean or null |
— | Whether this preset is the suggested default |
RootCauseResponse#
| Field | Type | Required | Description |
|---|---|---|---|
cluster_size |
integer |
yes | — |
oldest_incident_id |
string (uuid) |
yes | — |
oldest_start_date |
string (date-time) |
yes | — |
similar_incident_ids |
array of string (uuid) |
yes | — |
error_signature |
string or null |
— | — |
source_project |
string or null |
— | — |
RowJourneyEntered#
| Field | Type | Required | Description |
|---|---|---|---|
at |
string (date-time) or null |
— | — |
source |
string or null |
— | — |
basis |
string or null |
— | — |
RowJourneyResponse#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
confidence |
string |
yes | — |
entered |
RowJourneyEntered | yes | — |
last_write |
RowJourneyWrite or null |
— | — |
rebuilds_since_entry |
integer or null |
— | — |
steps |
array of RowJourneyStep | — | — |
truncated |
boolean |
— | — |
RowJourneyStep#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
yes | — |
at |
string (date-time) or null |
— | — |
title |
string |
yes | — |
pill |
string or null |
— | — |
count |
integer or null |
— | — |
run |
TraceRun or null |
— | — |
node_id |
string or null |
— | — |
row_stats |
object or null |
— | — |
dq |
RowJourneyStepDq or null |
— | — |
RowJourneyStepDq#
This step's node's worst DQ verdict for the step's calendar day (UTC).
| Field | Type | Required | Description |
|---|---|---|---|
status |
string |
yes | — |
failed |
integer |
yes | — |
total |
integer |
yes | — |
RowJourneyWrite#
A single ledger write, in the shape row\_journey needs (a subset of TraceHop — no node\_id/depth/confidence, which describe a hop's place in row_trace's multi-node walk and don't apply here).
| Field | Type | Required | Description |
|---|---|---|---|
occurred_at |
string (date-time) |
yes | — |
event_type |
string |
yes | — |
statement_type |
string or null |
— | — |
recompute_mode |
string or null |
— | — |
row_stats |
object or null |
— | — |
sources |
array of string |
— | — |
run |
TraceRun or null |
— | — |
RowMovementPoint#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
rows_inserted |
integer |
yes | — |
rows_updated |
integer |
yes | — |
rows_deleted |
integer |
yes | — |
RowPreviewColumn#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
type |
string or null |
— | — |
is_sys |
boolean |
— | — |
RowPreviewDerived#
| Field | Type | Required | Description |
|---|---|---|---|
entered_basis |
string or null |
— | — |
entered_column |
string or null |
— | — |
modified_basis |
string or null |
— | — |
modified_column |
string or null |
— | — |
RowPreviewResponse#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
columns |
array of RowPreviewColumn | yes | — |
rows |
array of object |
yes | — |
derived |
RowPreviewDerived | yes | — |
rows_shown |
integer |
yes | — |
table_grain_last_write |
string (date-time) or null |
— | — |
protected_columns |
array of string |
— | — |
RowProbeResult#
| Field | Type | Required | Description |
|---|---|---|---|
found |
boolean |
yes | — |
sys_values |
object |
yes | — |
estimated_bytes |
integer |
yes | — |
estimated_cost_usd |
number |
yes | — |
executed |
boolean |
yes | — |
refusal_reason |
string or null |
— | — |
RowTraceResponse#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
days |
integer |
yes | — |
max_depth |
integer |
yes | — |
truncated |
boolean |
yes | — |
hops |
array of TraceHop | yes | — |
probe |
RowProbeResult or null |
— | — |
RuleActivityMetrics#
Type: object.
RuleAnalyticsSummary#
Type: object.
RuleBatchValidateRequest#
| Field | Type | Required | Description |
|---|---|---|---|
rules |
array of object |
yes | — |
include_node_preview |
boolean |
— | — |
include_diff |
boolean |
— | — |
RuleBatchValidateResponse#
| Field | Type | Required | Description |
|---|---|---|---|
total |
integer |
yes | — |
valid_count |
integer |
yes | — |
invalid_count |
integer |
yes | — |
results |
array of RuleValidationResult | yes | — |
summary |
object of integer |
— | — |
RuleChainExecuteRequest#
Request body for creating and executing a chain from rule steps.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | ID of the scheduling rule |
rule_name |
string |
— | Human-readable rule name (for logging) |
steps |
array of any | yes | Rule steps (list of dicts with key, type, parameters, after) |
trigger_node_id |
string |
yes | Node ID that triggered the rule |
RuleChainExecuteResponse#
| Field | Type | Required | Description |
|---|---|---|---|
chain_run_id |
string |
yes | — |
status |
string |
— | — |
RuleCostMetrics#
Type: object.
RuleGitAuthorshipUpdate#
Git-authorship-only update synced from the deployment repo.
| Field | Type | Required | Description |
|---|---|---|---|
git_created_at |
string (date-time) or null |
— | — |
git_created_by |
string or null |
— | — |
git_last_modified_at |
string (date-time) or null |
— | — |
git_last_modified_by |
string or null |
— | — |
git_commits |
array of object or null |
— | — |
RuleImpactAnalysisResponse#
Top-level response for the rule impact analysis endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string |
yes | — |
rule_name |
string |
yes | — |
depth |
integer |
yes | — |
trigger_node_ids |
array of string |
yes | — |
affected_nodes |
array of ImpactNode | yes | — |
rules |
array of ImpactRule | yes | — |
dq_checks |
array of ImpactDQCheck | yes | — |
subscribers |
array of ImpactSubscriber | yes | — |
cost_estimates |
array of ImpactNodeCost | yes | — |
summary |
RuleImpactSummary | yes | — |
RuleImpactSummary#
Aggregate counts for a rule's blast radius.
| Field | Type | Required | Description |
|---|---|---|---|
total_trigger_nodes |
integer |
yes | — |
total_affected_nodes |
integer |
yes | — |
total_rules |
integer |
yes | — |
total_dq_checks |
integer |
yes | — |
total_subscribers |
integer |
yes | — |
total_estimated_cost_30d_usd |
number |
— | — |
impact_tier |
string |
yes | critical / high / medium / low |
RuleOwnerTeam#
The owning team as the viewer may see it: {"slug", "name"}, or {"slug": None, "name": "A private team"} for a team the viewer cannot see (an inactive one included).
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string or null |
— | — |
name |
string |
yes | — |
RulePrecisionItem#
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string or null |
— | — |
rule_name |
string or null |
— | — |
incident_type |
string or null |
— | — |
incident_class |
string or null |
— | — |
precision |
number |
yes | actionable_closes / total_closes (0..1) |
count |
integer |
yes | closed/resolved incidents in the window |
actionable |
integer |
yes | — |
non_actionable |
integer |
yes | — |
demote |
boolean |
yes | precision < 0.5 over min_samples → demotion candidate |
RulePrecisionResponse#
| Field | Type | Required | Description |
|---|---|---|---|
days |
integer |
yes | — |
min_samples |
integer |
yes | — |
items |
array of RulePrecisionItem | yes | — |
RuleRequestApprove#
Approve a request → open the MR. The reviewer may finalise the config here.
| Field | Type | Required | Description |
|---|---|---|---|
rule_config |
object or null |
— | Final rule JSON to commit (overrides the stored one; required if the request has no config yet) |
target_file |
string or null |
— | Rules file to append to (e.g. dwh_rules.json); defaults by action type |
comment |
string or null |
— | — |
RuleRequestCreate#
| Field | Type | Required | Description |
|---|---|---|---|
title |
string |
yes | Short summary of the request |
justification |
string or null |
— | Business reason for the rule |
mode |
RuleRequestMode | — | — |
intent |
RuleRequestIntent or null |
— | — |
rule_config |
object or null |
— | Full rule JSON (the Rule Helper buildFinalJson shape) for config mode |
namespace_id |
string (uuid) or null |
— | — |
RuleRequestIntent#
A lightweight description of the rule a requester wants.
| Field | Type | Required | Description |
|---|---|---|---|
target |
string or null |
— | Dataset / node / tag the rule should act on |
desired_action |
string or null |
— | What should happen (e.g. refresh cube, run dataform, DQ check) |
desired_cadence |
string or null |
— | When it should run (a schedule, or 'after X updates') |
urgency |
string or null |
— | low | normal | high |
notes |
string or null |
— | — |
RuleRequestMode#
One of: "intent", "config".
RuleRequestRead#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
requester_email |
string |
yes | — |
requester_name |
string or null |
— | — |
title |
string |
yes | — |
justification |
string or null |
— | — |
mode |
RuleRequestMode | yes | — |
intent |
object or null |
— | — |
rule_config |
object or null |
— | — |
status |
RuleRequestStatus | yes | — |
target_file |
string or null |
— | — |
code_id |
string or null |
— | — |
review_comment |
string or null |
— | — |
reviewer_email |
string or null |
— | — |
reviewed_at |
string (date-time) or null |
— | — |
mr_iid |
integer or null |
— | — |
mr_url |
string or null |
— | — |
mr_branch |
string or null |
— | — |
namespace_id |
string (uuid) or null |
— | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
RuleRequestReject#
Reject or request-changes → a comment explaining why / what to change is required.
| Field | Type | Required | Description |
|---|---|---|---|
comment |
string |
yes | — |
RuleRequestStatus#
One of: "pending", "changes_requested", "approved", "rejected", "withdrawn".
RuleRequestUpdate#
Requester edits (while pending / changes_requested) or a reviewer attaching a config.
| Field | Type | Required | Description |
|---|---|---|---|
title |
string or null |
— | — |
justification |
string or null |
— | — |
mode |
RuleRequestMode or null |
— | — |
intent |
RuleRequestIntent or null |
— | — |
rule_config |
object or null |
— | — |
RuleSchedulingCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
priority |
integer |
— | — |
status |
RuleStatus or null |
— | — |
shadow_mode |
boolean or null |
— | — |
description |
string or null |
— | — |
tags |
array of string or null |
— | — |
applies_to |
AppliesTo or null |
— | — |
when |
When-Input or null |
— | — |
if |
IfClause-Input or null |
— | — |
then |
Then-Input or null |
— | — |
failsafe |
Failsafe or null |
— | — |
freshness_expectation |
FreshnessExpectation or array of FreshnessExpectation or null |
— | — |
source |
string or null |
— | — |
source_repo |
string or null |
— | — |
source_branch |
string or null |
— | — |
source_file |
string or null |
— | — |
source_line |
integer or null |
— | — |
code_id |
string or null |
— | — |
content_hash |
string or null |
— | — |
locked |
boolean or null |
— | — |
version |
integer or null |
— | — |
git_created_at |
string (date-time) or null |
— | — |
git_created_by |
string or null |
— | — |
git_last_modified_at |
string (date-time) or null |
— | — |
git_last_modified_by |
string or null |
— | — |
git_commits |
array of object or null |
— | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
team |
string or null |
— | Owning team (slug). Omit to let Nistor decide on a create (the unique team of the rule's targets) and to keep the rule's team on an update; null on an update makes the rule Unassigned. |
RuleSchedulingHistoryResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
rule_id |
string (uuid) |
yes | — |
version |
integer |
yes | — |
changed_by |
string or null |
— | — |
change_type |
string |
yes | — |
previous_hash |
string or null |
— | — |
new_hash |
string or null |
— | — |
diff_summary |
object or null |
— | — |
config_snapshot |
object or null |
— | — |
created_at |
string (date-time) or null |
— | — |
RuleSchedulingOut#
A rule on the list and the detail: plus who owns it (None = Unassigned) and whether the viewer may edit it.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
priority |
integer |
— | — |
status |
RuleStatus or null |
— | — |
shadow_mode |
boolean or null |
— | — |
description |
string or null |
— | — |
tags |
array of string or null |
— | — |
applies_to |
AppliesTo or null |
— | — |
when |
When-Output or null |
— | — |
if |
IfClause-Output or null |
— | — |
then |
Then-Output or null |
— | — |
failsafe |
Failsafe or null |
— | — |
freshness_expectation |
FreshnessExpectation or array of FreshnessExpectation or null |
— | — |
source |
string or null |
— | — |
source_repo |
string or null |
— | — |
source_branch |
string or null |
— | — |
source_file |
string or null |
— | — |
source_line |
integer or null |
— | — |
code_id |
string or null |
— | — |
content_hash |
string or null |
— | — |
locked |
boolean or null |
— | — |
version |
integer or null |
— | — |
git_created_at |
string (date-time) or null |
— | — |
git_created_by |
string or null |
— | — |
git_last_modified_at |
string (date-time) or null |
— | — |
git_last_modified_by |
string or null |
— | — |
git_commits |
array of object or null |
— | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
id |
string (uuid) |
yes | — |
connection_id |
string (uuid) or null |
— | — |
namespace_id |
string (uuid) or null |
— | — |
is_paused |
boolean or null |
— | — |
resolved_nodes |
array of string or null |
— | — |
permission_status |
string or null |
— | — |
owner_team |
RuleOwnerTeam or null |
— | — |
can_edit |
boolean or null |
— | — |
RuleSchedulingResponse#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
priority |
integer |
— | — |
status |
RuleStatus or null |
— | — |
shadow_mode |
boolean or null |
— | — |
description |
string or null |
— | — |
tags |
array of string or null |
— | — |
applies_to |
AppliesTo or null |
— | — |
when |
When-Output or null |
— | — |
if |
IfClause-Output or null |
— | — |
then |
Then-Output or null |
— | — |
failsafe |
Failsafe or null |
— | — |
freshness_expectation |
FreshnessExpectation or array of FreshnessExpectation or null |
— | — |
source |
string or null |
— | — |
source_repo |
string or null |
— | — |
source_branch |
string or null |
— | — |
source_file |
string or null |
— | — |
source_line |
integer or null |
— | — |
code_id |
string or null |
— | — |
content_hash |
string or null |
— | — |
locked |
boolean or null |
— | — |
version |
integer or null |
— | — |
git_created_at |
string (date-time) or null |
— | — |
git_created_by |
string or null |
— | — |
git_last_modified_at |
string (date-time) or null |
— | — |
git_last_modified_by |
string or null |
— | — |
git_commits |
array of object or null |
— | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
id |
string (uuid) |
yes | — |
connection_id |
string (uuid) or null |
— | — |
namespace_id |
string (uuid) or null |
— | — |
is_paused |
boolean or null |
— | — |
resolved_nodes |
array of string or null |
— | — |
permission_status |
string or null |
— | — |
RuleSchedulingUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
priority |
integer or null |
— | — |
status |
string or null |
— | — |
shadow_mode |
boolean or null |
— | — |
description |
string or null |
— | — |
tags |
array of string or null |
— | — |
applies_to |
AppliesTo or null |
— | — |
when |
When-Input or null |
— | — |
if |
IfClause-Input or null |
— | — |
then |
Then-Input or null |
— | — |
failsafe |
Failsafe or null |
— | — |
freshness_expectation |
FreshnessExpectation or array of FreshnessExpectation or null |
— | — |
source |
string or null |
— | — |
source_repo |
string or null |
— | — |
source_branch |
string or null |
— | — |
source_file |
string or null |
— | — |
source_line |
integer or null |
— | — |
code_id |
string or null |
— | — |
content_hash |
string or null |
— | — |
locked |
boolean or null |
— | — |
version |
integer or null |
— | — |
git_created_at |
string (date-time) or null |
— | — |
git_created_by |
string or null |
— | — |
git_last_modified_at |
string (date-time) or null |
— | — |
git_last_modified_by |
string or null |
— | — |
git_commits |
array of object or null |
— | — |
team |
string or null |
— | Owning team (slug). Omit to let Nistor decide on a create (the unique team of the rule's targets) and to keep the rule's team on an update; null on an update makes the rule Unassigned. |
RuleSearchResult#
| Field | Type | Required | Description |
|---|---|---|---|
entity_type |
string |
— | — |
id |
string |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
status |
string |
yes | — |
source |
string or null |
— | — |
code_id |
string or null |
— | — |
rank |
number |
yes | — |
RuleStatus#
The full rule\_scheduling.status vocabulary.
One of: "active", "inactive", "paused", "archived", "test", "external".
RuleTargetCheckResponse#
| Field | Type | Required | Description |
|---|---|---|---|
checked_rules |
integer |
— | — |
failed_rules |
integer |
— | — |
verdict_count |
integer |
— | — |
opened |
integer |
— | — |
bumped |
integer |
— | — |
suppressed |
integer |
— | — |
resolved |
integer |
— | — |
skipped |
string or null |
— | — |
verdicts |
array of object |
— | — |
failed_rule_ids |
array of string |
— | — |
dry_run |
boolean |
— | — |
checked_at |
string or null |
— | — |
RuleValidationError#
| Field | Type | Required | Description |
|---|---|---|---|
field |
string or null |
— | — |
message |
string |
yes | — |
error_type |
string |
yes | — |
RuleValidationResult#
| Field | Type | Required | Description |
|---|---|---|---|
index |
integer |
yes | — |
code_id |
string or null |
— | — |
name |
string or null |
— | — |
valid |
boolean |
yes | — |
errors |
array of RuleValidationError | — | — |
warnings |
array of string |
— | — |
diff_action |
string or null |
— | — |
matched_node_count |
integer or null |
— | How many nodes this rule would actually RUN on: nodes it matches AND wins the per-node priority contest for. Nodes it matches but loses to a higher-priority rule of the same executor are NOT counted. This is deliberately narrower than /blast_radius's total_matched, which counts every node the selector reaches, winners and losers alike — the two answer different questions and will disagree whenever an incumbent outranks this rule. Label them apart in the UI ('would run on N nodes' vs 'reaches N nodes'). None when the preview was not requested or could not be computed. |
content_hash |
string or null |
— | — |
existing_rule_id |
string or null |
— | — |
existing_source_file |
string or null |
— | — |
RunCostItem#
Type: object.
RunLifecycleOutcome#
| Field | Type | Required | Description |
|---|---|---|---|
status |
string |
yes | — |
node_id |
string or null |
— | — |
reason |
string or null |
— | — |
RunLimit#
Max runs per period.
| Field | Type | Required | Description |
|---|---|---|---|
max |
integer |
yes | Maximum runs in the period |
period |
RunLimitPeriod | yes | — |
RunLimitPeriod#
One of: "hour", "day", "week", "month".
RunnerOut#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
name |
string |
yes | — |
executors |
array of string |
yes | — |
created_by |
string or null |
— | — |
created_at |
string (date-time) or null |
— | — |
revoked_at |
string (date-time) or null |
— | — |
RunnerRegistration#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
public_key_pem |
string |
yes | Ed25519 public key, PEM |
executors |
array of string |
yes | Executor types the runner runs |
RunRequest#
| Field | Type | Required | Description |
|---|---|---|---|
action_run_id |
string |
yes | — |
rule_id |
string or null |
— | — |
node_id |
string or null |
— | — |
args |
object |
— | — |
trigger |
string (enum) or null |
— | — |
RuntimeInstanceDrainingRequest#
| Field | Type | Required | Description |
|---|---|---|---|
instance_id |
string |
yes | — |
RuntimeInstanceDrainingResponse#
| Field | Type | Required | Description |
|---|---|---|---|
draining |
boolean |
yes | — |
RuntimeInstanceHeartbeat#
| Field | Type | Required | Description |
|---|---|---|---|
instance_id |
string |
yes | — |
role |
string |
yes | — |
revision |
string or null |
— | — |
executor_plugins |
array of string |
— | — |
plugin_digest |
string |
yes | sha256 of the sorted plugin ids |
RuntimeInstanceRead#
| Field | Type | Required | Description |
|---|---|---|---|
instance_id |
string |
yes | — |
role |
string |
yes | — |
revision |
string or null |
— | — |
started_at |
string (date-time) |
yes | — |
heartbeat_at |
string (date-time) |
yes | — |
executor_plugins |
array of string |
— | — |
plugin_digest |
string |
yes | — |
draining |
boolean |
— | — |
S#
SameFieldColumn#
One sibling column that is the *same physical field* in another table.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
column_name |
string |
yes | — |
table_display_name |
string or null |
— | — |
SandboxResultSchema#
Mirror of :class:nistor_core.execution.sandbox.SandboxResult.
| Field | Type | Required | Description |
|---|---|---|---|
ok |
boolean |
yes | — |
return_value |
object |
— | — |
stdout |
string |
— | — |
stderr |
string |
— | — |
logs |
array of string |
— | — |
reported |
object |
— | — |
error |
string or null |
— | — |
error_type |
string or null |
— | — |
duration_ms |
integer |
— | — |
SavedExplorationCreate#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | Node this exploration belongs to |
title |
string |
yes | Short title for the saved query |
sql_text |
string |
yes | The SQL query text |
description |
string or null |
— | Optional longer description |
folder |
string or null |
— | Folder/category name |
is_public |
boolean |
— | Whether this query is visible to all users |
tags |
array of string |
— | Tag strings for categorisation |
SavedExplorationResponse#
Type: object.
SavedExplorationUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
title |
string or null |
— | — |
sql_text |
string or null |
— | — |
description |
string or null |
— | — |
folder |
string or null |
— | — |
is_public |
boolean or null |
— | — |
is_favorite |
boolean or null |
— | — |
tags |
array of string or null |
— | — |
SavedExplorationVersionResponse#
Type: object.
Schedule#
Cron schedule with optional business-calendar awareness.
| Field | Type | Required | Description |
|---|---|---|---|
cron |
string or array of string or null |
— | Cron expression(s) |
time_zone |
string or null |
— | IANA timezone |
wait_for_new_data |
boolean or null |
— | Only fire if new input_log rows arrived since last run |
business_calendar_id |
string (uuid) or null |
— | Skip non-working days from this calendar (by id) |
business_calendar |
string or null |
— | Skip non-working days from this calendar (by name) |
skip_holidays |
boolean or null |
— | Skip holidays (default True when calendar set) |
month_boundary |
string (enum) or null |
— | Snap to first/last business day of the month |
market_open_offset_minutes |
integer or null |
— | Shift fire time by N minutes |
ScheduledRefreshSummary#
A refresh Nistor knows about from *configuration*, not from an observed run.
| Field | Type | Required | Description |
|---|---|---|---|
cadence_label |
string |
yes | Human cadence from the MStr schedule, e.g. 'Daily 6:30:00 AM server time'. |
source |
"microstrategy_subscription" |
— | Where the cadence came from — currently only an MStr subscription/schedule. |
subscription_node_id |
string or null |
— | The MStr subscription node driving the refresh (for drill-through). |
schedule_node_id |
string or null |
— | The MStr schedule node that supplies the cadence string. |
SchedulerAction#
Type: object.
SchedulerActionCreate#
| Field | Type | Required | Description |
|---|---|---|---|
source_id |
string |
yes | Source identifier |
node_id |
string |
yes | Node identifier |
scheduled_datetime |
string (date-time) |
yes | Scheduled datetime |
rule_id |
string (uuid) or null |
— | Rule identifier |
check_metadata |
object or null |
— | Check metadata |
SchedulerActionUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
source_id |
string or null |
— | Source identifier |
node_id |
string or null |
— | Node identifier |
scheduled_datetime |
string (date-time) or null |
— | Scheduled datetime |
rule_id |
string (uuid) or null |
— | Rule identifier |
check_metadata |
object or null |
— | Check metadata |
SchedulerActionWindow#
One time-bucket of the aggregated scheduler-activity series.
| Field | Type | Required | Description |
|---|---|---|---|
start_datetime |
string (date-time) |
yes | Window start (UTC) |
count |
integer |
yes | Number of scheduler actions in the window |
ScopeType#
One of: "global", "namespace", "nodes".
SectionStats#
Usage stats per section.
| Field | Type | Required | Description |
|---|---|---|---|
section |
string |
yes | — |
view_count |
integer |
yes | — |
unique_users |
integer |
yes | — |
SelectorCreate#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
yes | — |
value |
object of string or string |
yes | — |
SelectorInfo#
A filter/selector control and the object(s) it drives (best-effort).
| Field | Type | Required | Description |
|---|---|---|---|
key |
string or null |
— | — |
name |
string or null |
— | — |
selector_type |
string or null |
— | — |
targets |
array of BoundObject | — | — |
SelectorKindOption#
A plugin-contributed selector kind and the values its plugin states for at least one node.
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
yes | — |
label |
string |
yes | — |
values |
array of SelectorValueOption | yes | — |
SelectorOut#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
kind |
string |
yes | — |
value |
object of string or string |
yes | — |
label |
string |
yes | — |
match_count |
integer |
yes | — |
contested_count |
integer |
yes | — |
created_by |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
taken_from |
array of OwnerCount | — | — |
lost_to |
array of LostTo | — | — |
SelectorPreview#
| Field | Type | Required | Description |
|---|---|---|---|
match_count |
integer |
yes | — |
sample |
array of string |
yes | — |
current_owners |
array of OwnerCount | yes | — |
would_take |
array of OwnerCount or null |
— | — |
SelectorRef#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
yes | — |
value |
string |
yes | — |
SelectorValueOption#
| Field | Type | Required | Description |
|---|---|---|---|
value |
string |
yes | — |
label |
string |
yes | — |
ServingRevision#
| Field | Type | Required | Description |
|---|---|---|---|
revision_name |
string |
yes | — |
digest |
string or null |
— | — |
image_node_id |
string |
yes | — |
traffic_percent |
integer or null |
— | — |
SessionAggregateOut#
Nistor's believed holding across every process that reported in time.
| Field | Type | Required | Description |
|---|---|---|---|
in_use |
integer |
yes | Every MicroStrategy session the reporting processes HOLD — pooled (leased plus idle-but-logged-in) and direct |
capacity |
integer |
yes | — |
pooled_in_use |
integer |
yes | in_use minus direct logins — the pool's own occupancy, what utilisation is judged against |
SessionBudgetOut#
| Field | Type | Required | Description |
|---|---|---|---|
as_of |
string (date-time) |
yes | — |
window_seconds |
integer |
yes | — |
aggregate |
SessionAggregateOut | yes | — |
coverage |
nistor_tool_microstrategy__routers__mstr_sessions__CoverageOut | yes | — |
reporting_processes |
integer |
yes | Processes that reported inside the window. There is deliberately no expected-process denominator: Cloud Run cannot tell a process how many siblings it has, and an invented one would be the confidently-wrong number this page exists to prevent. |
backing_off |
BackingOffOut | yes | — |
by_service |
array of nistor_tool_microstrategy__routers__mstr_sessions__ServiceRollupOut | yes | — |
processes |
array of ProcessReportOut | yes | — |
SessionCap#
The MicroStrategy session cap behind a lockout, as MicroStrategy reported it.
| Field | Type | Required | Description |
|---|---|---|---|
scope |
string |
yes | Which population the cap governs: 'server', 'project', 'user' or 'unknown' |
limit |
integer or null |
— | The limit MicroStrategy wrote into its refusal, e.g. 1000; null when it gave none |
iserver_code |
integer or null |
— | MicroStrategy iServerCode of the refusal |
SessionOut#
| Field | Type | Required | Description |
|---|---|---|---|
state |
string (enum) |
yes | leased/idle: held by an executor pool; direct: opened outside any pool |
since |
string (date-time) |
yes | Leased at, idle since, or logged in at |
purpose |
LeasePurposeOut or null |
— | Set while leased, and for every direct session |
last_kind |
string or null |
— | While idle: the kind of the lease that last used it |
username |
string or null |
— | MicroStrategy login name — Workstation's User Connections filter |
project_id |
string or null |
— | Project the session was opened against, when known |
SiffletAssetHealthResponse#
| Field | Type | Required | Description |
|---|---|---|---|
asset_id |
string (uuid) |
yes | — |
bq_qualified_name |
string |
yes | — |
node_id |
string |
yes | — |
name |
string or null |
— | — |
technology |
string or null |
— | — |
type |
string or null |
— | — |
health_status |
string |
yes | — |
tags |
array of object |
— | — |
ingested_at |
string (date-time) |
yes | — |
SiffletBqRecomputeOverride#
Optional explicit metric spec for POST /rules/{id}/compute-metric-values.
| Field | Type | Required | Description |
|---|---|---|---|
value_expr |
string or null |
— | Aggregation, e.g. count(PVREG) |
date_expr |
string or null |
— | Per-row DATE bucket expression |
filter_column |
string or null |
— | Raw time column for the WHERE range (pruning) |
filter_column_type |
string or null |
— | date | datetime | timestamp |
SiffletBqRecomputeResponse#
Returned by POST /sifflet/rules/{rule_id}/compute-metric-values.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | — |
status |
string |
yes | computed | estimated | skipped | needs_date_column | unsupported | no_table | no_runs | executor_unavailable | no_connection |
reason |
string or null |
— | Human-readable detail for non-computed statuses |
value_preview |
string or null |
— | Metric we'd compute (needs_date_column) — for the column-picker caption |
dates_computed |
integer |
— | Distinct dates a value was computed for |
runs_filled |
integer |
— | Archived runs stamped with a BQ value |
points_written |
integer |
— | rule_metric_point rows refreshed |
estimated_bytes |
integer or null |
— | Dry-run estimated scan size |
estimated_cost_usd |
number or null |
— | Dry-run estimated cost |
cost_usd |
number or null |
— | Actual billed cost (executed only) |
window |
object or null |
— | {start, end} dates computed over |
SiffletBqRecomputeToggleRequest#
Body for POST /sifflet/rules/{rule_id}/bq-recompute-auto.
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
yes | Turn hourly incremental BQ recompute on/off for this rule |
SiffletBqRecomputeToggleResponse#
Returned by POST /sifflet/rules/{rule_id}/bq-recompute-auto.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | — |
bq_recompute_enabled |
boolean |
yes | — |
SiffletCostEstimatePoint#
One UTC day of Sifflet's BigQuery read activity and its estimated cost.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string |
yes | ISO date (YYYY-MM-DD), UTC |
reads |
integer |
— | Sifflet BigQuery read events that day |
estimated_cost_usd |
number |
— | reads × median rate × BQ on-demand price |
SiffletCostEstimateResponse#
Estimated cost of running Sifflet's data-quality checks against BigQuery.
| Field | Type | Required | Description |
|---|---|---|---|
fidelity |
string |
— | Always 'estimated' for this source |
basis |
string |
yes | Human-readable description of how the estimate was derived |
window_days |
integer |
yes | — |
principal_pattern |
string |
yes | input_logs.writer LIKE pattern used to match Sifflet |
sifflet_read_count |
integer |
— | Sifflet BigQuery reads in the window (from input_logs) |
monitored_table_count |
integer |
— | Distinct tables Sifflet has rules on (sifflet_rule_dataset) |
rate_bytes_per_read |
integer or null |
— | Median measured billed bytes per read on monitored tables; None if no sample |
rate_sample_size |
integer |
— | Byte-bearing reads on monitored tables backing the median rate |
estimated_billed_bytes |
integer or null |
— | sifflet_read_count × rate_bytes_per_read |
estimated_cost_usd |
number or null |
— | Estimated window cost in USD; None when no rate is available |
series |
array of SiffletCostEstimatePoint | — | — |
SiffletCriticalityStat#
Monitor count at one criticality level (0–10).
| Field | Type | Required | Description |
|---|---|---|---|
criticality |
integer |
yes | — |
count |
integer |
— | — |
SiffletDateColumn#
A candidate bucketing column for a needs_date_column recompute.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
type |
string |
yes | DATE | DATETIME | TIMESTAMP |
SiffletDateColumnsResponse#
Temporal columns of a rule's monitored table — powers the recompute picker.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | — |
table |
string or null |
— | Fully-qualified table the columns come from |
columns |
array of SiffletDateColumn | — | — |
SiffletDebugSqlRefreshResponse#
Returned by POST /sifflet/rules/{rule_id}/refresh-debug-sql.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | — |
has_sql |
boolean |
yes | True when generated SQL is now cached for the rule |
debug_sql |
string or null |
— | The generated SQL itself, so the caller can render it without a reload |
fetched_at |
string (date-time) or null |
— | When the SQL was last fetched |
SiffletHealthResponse#
Health/status for the page header banner.
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
yes | True when ingester is configured |
base_url |
string or null |
— | — |
last_ingest_at |
string (date-time) or null |
— | — |
last_ingest_success |
boolean or null |
— | — |
last_ingest_duration_ms |
integer or null |
— | — |
last_ingest_error |
string or null |
— | — |
rules_total |
integer |
— | — |
rules_failing |
integer |
— | — |
assets_total |
integer |
— | — |
assets_with_incidents |
integer |
— | — |
schedule_cron |
string or null |
— | — |
schedule_tz |
string or null |
— | — |
schedule_description |
string or null |
— | — |
SiffletLabelStat#
Coverage for one Sifflet check type (rule\_label: Freshness / Volume / …).
| Field | Type | Required | Description |
|---|---|---|---|
label |
string |
yes | — |
total |
integer |
— | — |
failing |
integer |
— | — |
SiffletMirrorSyncResponse#
Returned by POST /sifflet/rules/{rule_id}/sync-mirror (on-demand deep mirror).
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | — |
mirror_check_id |
string (uuid) or null |
— | Canonical mirror rule_scheduling.id |
runs_archived |
integer |
— | Live /runs rows upserted into the archive |
points_written |
integer |
— | rule_metric_point rows upserted |
dq_runs_written |
integer |
— | data_quality_run rows inserted |
runs_reconciled |
integer |
— | Archived runs reconciled into incidents/activity |
incidents_opened |
integer |
— | Incidents opened during reconcile |
incidents_closed |
integer |
— | Incidents closed during reconcile |
SiffletNodeBundleResponse#
One-shot response for the per-node Sifflet section.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
rules |
array of SiffletRuleResponse | yes | — |
asset_health |
SiffletAssetHealthResponse or null |
— | — |
weekly_pass_rate |
number or null |
— | 0.0–1.0, computed from each rule's last_week_statuses. None when no rules. |
SiffletOverviewResponse#
One-shot payload for the Sifflet control-tower tab.
| Field | Type | Required | Description |
|---|---|---|---|
status_breakdown |
SiffletStatusBreakdown | — | — |
run_breakdown |
SiffletRunBreakdown | — | — |
label_breakdown |
array of SiffletLabelStat | — | — |
criticality_breakdown |
array of SiffletCriticalityStat | — | — |
trend |
array of SiffletTrendPoint | — | — |
top_failing |
array of SiffletRuleResponse | — | — |
recent_activity |
array of SiffletRuleResponse | — | — |
sync_history |
array of SiffletSyncLogEntry | — | — |
SiffletRecomputeCapability#
Whether — and how — the FE should surface BigQuery metric recompute.
| Field | Type | Required | Description |
|---|---|---|---|
state |
string |
yes | auto | needs_date_column | unsupported |
reason |
string or null |
— | Why it isn't auto-computable (needs_date_column / unsupported) |
value_preview |
string or null |
— | Human-readable metric we'd compute, for the column-picker caption |
scans_bigquery |
boolean |
— | Whether computing costs a BigQuery scan. False for a pass/fail assertion monitor, whose passing values are entailed by its own threshold and so come from run history for free — the FE then skips the cost preview. |
SiffletReconcileRunsResponse#
Returned by POST /sifflet/reconcile-runs (on-demand incident backfill batch).
| Field | Type | Required | Description |
|---|---|---|---|
processed |
integer |
— | Runs reconciled this batch (incl. skipped) |
opened |
integer |
— | Incidents opened this batch |
closed |
integer |
— | Incidents closed this batch |
skipped |
integer |
— | Non-terminal runs marked without an event |
remaining |
integer |
— | Unprocessed runs still pending for this scope |
rule_id |
string (uuid) or null |
— | Scope rule (None = whole fleet) |
SiffletRuleCostPoint#
One UTC day of ONE Sifflet rule's measured BigQuery spend.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string |
yes | ISO date (YYYY-MM-DD), UTC |
jobs |
integer |
— | Distinct BigQuery jobs attributed to the rule that day |
billed_bytes |
integer |
— | Billed bytes across those jobs (deduplicated per job) |
cost_usd |
number |
— | billed_bytes priced at the bq.on_demand rate |
SiffletRuleCostResponse#
MEASURED BigQuery scan cost of one Sifflet rule.
| Field | Type | Required | Description |
|---|---|---|---|
fidelity |
string |
— | Always 'measured' for this source |
basis |
string |
yes | Human-readable statement of what was measured, and of what was not |
window_days |
integer |
yes | — |
rule_id |
string (uuid) |
yes | Sifflet's external rule UUID |
principal_pattern |
string |
yes | input_logs.writer LIKE pattern used to match Sifflet |
attribution |
string |
— | Which marker(s) were read: 'sifflet_labels' (indexed, default) or 'sifflet_labels+query_text' |
total_billed_bytes |
integer |
— | Billed bytes over the window, deduplicated per BigQuery job |
total_cost_usd |
number or null |
— | Window cost in USD; None when no attributed job carries billed bytes |
attributed_job_count |
integer |
— | Distinct BigQuery jobs carrying this rule's marker |
jobs_with_billed_bytes |
integer |
— | Of those, how many actually report billed bytes |
runs_in_window |
integer |
— | Runs Sifflet recorded for the rule in the same window (mirror) |
rate_usd_per_tb |
number |
yes | The bq.on_demand rate the dollars above were computed at |
series |
array of SiffletRuleCostPoint | — | — |
SiffletRuleResponse#
Rendered rule card. Consumed by the merged Checks tab + by-node widget.
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
rule_status |
string or null |
— | — |
rule_status_at |
string (date-time) or null |
— | — |
last_run_status |
string or null |
— | — |
last_run_at |
string (date-time) or null |
— | — |
last_run_result |
string or null |
— | — |
rule_type |
string or null |
— | — |
rule_label |
string or null |
— | — |
criticality |
integer or null |
— | — |
schedule |
string or null |
— | — |
last_week_statuses |
array of object |
— | — |
tags |
array of string |
— | — |
mirror_check_id |
string (uuid) or null |
— | — |
debug_sql |
string or null |
— | — |
bq_recompute_enabled |
boolean |
— | — |
recompute |
SiffletRecomputeCapability or null |
— | — |
rule_template_name |
string or null |
— | — |
rule_params |
object or null |
— | — |
schedule_timezone |
string or null |
— | — |
created_by |
string or null |
— | — |
modified_by |
string or null |
— | — |
sifflet_created_at |
string (date-time) or null |
— | — |
sifflet_modified_at |
string (date-time) or null |
— | — |
last_incident_issue_no |
integer or null |
— | — |
last_incident_status |
string or null |
— | — |
last_incident_qualification |
string or null |
— | — |
node_ids |
array of string |
— | — |
qualified_names |
array of string |
— | — |
ingested_at |
string (date-time) |
yes | — |
SiffletRuleRunResponse#
One archived Sifflet rule execution (from sifflet\_rule\_run).
| Field | Type | Required | Description |
|---|---|---|---|
run_at |
string (date-time) |
yes | — |
status |
string |
yes | — |
result |
string or null |
— | — |
SiffletRuleSearchResult#
| Field | Type | Required | Description |
|---|---|---|---|
entity_type |
string |
— | — |
id |
string |
yes | — |
rule_id |
string |
yes | — |
name |
string |
yes | — |
rule_label |
string or null |
— | — |
rule_type |
string or null |
— | — |
rule_status |
string or null |
— | — |
last_run_status |
string or null |
— | — |
criticality |
integer or null |
— | — |
rank |
number |
yes | — |
SiffletRulesPageResponse#
Paginated rules envelope, for the Checks tab merge.
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of SiffletRuleResponse | yes | — |
total |
integer |
yes | — |
page |
integer |
— | — |
page_size |
integer |
— | — |
SiffletRunArchiveDedupeResponse#
| Field | Type | Required | Description |
|---|---|---|---|
dry_run |
boolean |
yes | — |
scanned |
integer |
yes | Sifflet rules with 2+ archived runs read by this page |
affected |
integer |
yes | Rules of the page that held at least one run archived twice |
runs_removed |
integer |
yes | — |
runs_enriched |
integer |
yes | Kept rows that took a NULL (incident context, metrics) from a twin |
ambiguous_pairs |
integer |
yes | Rows within 30 s of the previous one but another status/result |
rule_ids |
array of string |
— | Affected sifflet_rule ids (first 50) |
next_after_id |
string or null |
— | Pass as after_id for the next page; null when done |
SiffletRunBreakdown#
Fleet split by last\_run\_status (the monitor's last execution).
| Field | Type | Required | Description |
|---|---|---|---|
success |
integer |
— | — |
failed |
integer |
— | — |
running |
integer |
— | — |
other |
integer |
— | — |
SiffletStatusBreakdown#
Fleet split by rule\_status (the monitor's current verdict).
| Field | Type | Required | Description |
|---|---|---|---|
passing |
integer |
— | — |
failing |
integer |
— | — |
disabled |
integer |
— | — |
SiffletSyncLogEntry#
One ingest run (a sifflet\_ingest poll_run row), for the sync timeline.
| Field | Type | Required | Description |
|---|---|---|---|
started_at |
string (date-time) |
yes | — |
ended_at |
string (date-time) or null |
— | — |
duration_ms |
integer or null |
— | — |
success |
boolean |
— | — |
rules_upserted |
integer |
— | — |
rules_removed |
integer |
— | — |
assets_upserted |
integer |
— | — |
assets_removed |
integer |
— | — |
runs_processed |
integer |
— | — |
incidents_opened |
integer |
— | — |
incidents_closed |
integer |
— | — |
error |
string or null |
— | — |
SiffletTrendPoint#
One UTC day of fleet-wide run outcomes — drives the trend chart.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string |
yes | ISO date (YYYY-MM-DD), UTC |
total |
integer |
— | — |
passed |
integer |
— | — |
failed |
integer |
— | — |
pass_rate |
number |
— | passed / (passed+failed) × 100, 0–100 |
SimulatedFire#
| Field | Type | Required | Description |
|---|---|---|---|
at |
string (date-time) |
yes | — |
source |
string (enum) |
yes | — |
matched_cron |
string or null |
— | — |
triggering_event |
TriggeringEvent or null |
— | — |
reason |
string or null |
— | — |
disposition |
string (enum) |
— | — |
SimulatePastFiresRequest#
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) or null |
— | — |
rule |
object or null |
— | — |
node_id |
string |
yes | — |
start_datetime |
string (date-time) |
yes | — |
end_datetime |
string (date-time) |
yes | — |
include_actual_runs |
boolean |
— | — |
max_fires |
integer |
— | — |
SimulatePastFiresResponse#
| Field | Type | Required | Description |
|---|---|---|---|
rule_id |
string (uuid) or null |
— | — |
node_id |
string |
yes | — |
window |
object of string (date-time) |
yes | — |
simulated_fires |
array of SimulatedFire | yes | — |
actual_fires |
array of ActualFire | — | — |
assumptions |
array of string |
— | — |
truncated |
boolean |
— | — |
baseline |
SimulationBaseline or null |
— | Node cadence anchor for the over-fire banner (None when not computed) |
no_fire_reason |
string or null |
— | Why the replay produced zero simulated fires, in words meant for the reader. Set ONLY when simulated\_fires is empty, and left None whenever the replay cannot honestly name a single cause — an empty result with no reason keeps the caller's generic 'adjust the trigger' advice. The important case it exists for: a node's listener\_events are compiled from DEPLOYED rules, so a draft that is not deployed yet has nothing to replay against and the replay's silence is a limit of the replay rather than a finding about the rule. See nistor\_backend.services.rule\_simulation.simulator.explain\_no\_fires. |
SimulationBaseline#
The node's own real cadence over the simulated window.
| Field | Type | Required | Description |
|---|---|---|---|
window_days |
number |
yes | Literal span of the simulated window, in days |
qualifying_event_count |
integer |
yes | Type-scoped upstream events seen in the window |
data_load_count |
integer |
yes | Distinct upstream loads (multi-statement bursts collapsed) — the expected fire count |
actual_run_count |
integer |
yes | Real action_runs for this rule/node in the window (0 for a draft) |
SLAConfigCreate#
Schema for creating/upserting an SLA config.
| Field | Type | Required | Description |
|---|---|---|---|
severity |
string |
yes | Incident severity: critical, high, medium, low |
incident_type |
string |
— | Incident type |
target_ack_minutes |
integer |
yes | Target minutes to first acknowledgement |
target_resolve_minutes |
integer |
yes | Target minutes to resolution |
SLAConfigResponse#
Schema for SLA config response.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
severity |
string |
yes | — |
incident_type |
string |
yes | — |
target_ack_minutes |
integer |
yes | — |
target_resolve_minutes |
integer |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
SlotBroadcastRequest#
| Field | Type | Required | Description |
|---|---|---|---|
snapshots |
array of SlotSnapshotIn | yes | — |
incident_ids |
array of string |
— | — |
affected_action_run_ids |
array of string |
— | — |
SlotSnapshotIn#
One reservation observation. Multiple per call when polling N envs.
| Field | Type | Required | Description |
|---|---|---|---|
collected_at |
string (date-time) |
yes | — |
environment |
string |
yes | dev | test | prod |
project_id |
string |
yes | — |
location |
string |
yes | GCP location, e.g. 'eu', 'us', 'europe-west1' |
reservation_id |
string or null |
— | — |
slots_used |
integer |
yes | — |
slots_capacity |
integer or null |
— | — |
utilization_pct |
number |
yes | — |
is_saturated |
boolean |
yes | — |
SlotSnapshotOut#
| Field | Type | Required | Description |
|---|---|---|---|
collected_at |
string (date-time) |
yes | — |
environment |
string |
yes | — |
project_id |
string |
yes | — |
location |
string |
yes | — |
reservation_id |
string or null |
— | — |
slots_used |
integer |
yes | — |
slots_capacity |
integer or null |
— | — |
utilization_pct |
number |
yes | — |
is_saturated |
boolean |
yes | — |
SnapshotIn#
| Field | Type | Required | Description |
|---|---|---|---|
tool |
string |
yes | — |
kind |
string (enum) |
yes | — |
in_use |
integer |
yes | — |
capacity |
integer |
yes | — |
peak_in_use |
integer or null |
— | — |
waits |
integer or null |
— | — |
timeouts |
integer or null |
— | — |
overflows |
integer or null |
— | — |
leaks |
integer or null |
— | — |
oldest_held_seconds |
number or null |
— | — |
SnoozeRequest#
| Field | Type | Required | Description |
|---|---|---|---|
minutes |
integer |
— | Defer the reminder this many minutes (default 60, max 1 week) |
SnoozeResponse#
Type: object.
SourceColumn#
| Field | Type | Required | Description |
|---|---|---|---|
source_node_id |
string |
yes | — |
source_column |
string |
yes | — |
source_table_display_name |
string or null |
— | — |
transformation_hint |
string or null |
— | — |
SpecHistoryEntry#
Type: object.
StaleDispatchClaimRequest#
| Field | Type | Required | Description |
|---|---|---|---|
dispatch_owner |
string |
yes | — |
limit |
integer |
— | — |
lease_seconds |
integer |
— | — |
StaleNodeEntry#
A node downstream of a failing incident, potentially serving stale data.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
display_name |
string or null |
— | — |
node_type |
string or null |
— | — |
upstream_incident_id |
string |
yes | — |
depth |
integer |
yes | — |
estimated_staleness_hours |
number or null |
— | — |
StateCount#
| Field | Type | Required | Description |
|---|---|---|---|
state |
string |
yes | — |
count |
integer |
yes | — |
StatusBreach#
An unresolved SLA / contract violation touching the subject.
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
yes | "contract" | "freshness". |
dimension |
string |
yes | — |
severity |
string or null |
— | — |
node_id |
string or null |
— | — |
observed_at |
string (date-time) |
yes | — |
detail |
string or null |
— | — |
StatusComponent#
Per-asset row: current status + uptime vs the asset's availability SLA.
| Field | Type | Required | Description |
|---|---|---|---|
asset_id |
string (uuid) |
yes | — |
node_id |
string or null |
— | — |
name |
string |
yes | — |
current_status |
StatusLevel | yes | — |
uptime_pct |
number |
yes | — |
sla_target_pct |
number |
yes | Availability target, e.g. 99.0. |
meeting_sla |
boolean |
yes | — |
freshness_sla_hours |
integer or null |
— | — |
last_refresh_time |
string (date-time) or null |
— | — |
last_job_status |
string or null |
— | — |
last_checked |
string (date-time) or null |
— | — |
StatusIncident#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
title |
string |
yes | — |
severity |
string |
yes | — |
status |
string |
yes | — |
started_at |
string (date-time) |
yes | — |
affected_node_ids |
array of string |
— | — |
StatusLevel#
statuspage.io-style level, derived from the AssetHealthSnapshot status.
One of: "operational", "degraded", "down", "unknown".
StatusPagePayload#
| Field | Type | Required | Description |
|---|---|---|---|
subject_type |
SubjectType | yes | — |
subject_id |
string |
yes | — |
subject_name |
string |
yes | — |
description |
string or null |
— | — |
overall_status |
StatusLevel | yes | — |
overall_uptime_pct |
number |
yes | — |
window_days |
integer |
yes | — |
generated_at |
string (date-time) |
yes | — |
summary |
StatusPageSummary | yes | — |
components |
array of StatusComponent | — | — |
uptime_history |
array of UptimeBucket | — | — |
active_incidents |
array of StatusIncident | — | — |
active_breaches |
array of StatusBreach | — | — |
StatusPageSubjectSummary#
One row of the status-page index: a subject + its current health signal.
| Field | Type | Required | Description |
|---|---|---|---|
subject_type |
SubjectType | yes | — |
subject_id |
string |
yes | — |
subject_name |
string |
yes | — |
description |
string or null |
— | — |
is_public |
boolean |
— | — |
overall_status |
StatusLevel | yes | — |
overall_uptime_pct |
number |
yes | — |
total_components |
integer |
yes | — |
window_days |
integer |
yes | — |
StatusPageSummary#
| Field | Type | Required | Description |
|---|---|---|---|
total_components |
integer |
yes | — |
operational |
integer |
yes | — |
degraded |
integer |
yes | — |
down |
integer |
yes | — |
unknown |
integer |
yes | — |
StatusSummary#
| Field | Type | Required | Description |
|---|---|---|---|
healthy |
integer |
— | — |
warning |
integer |
— | — |
critical |
integer |
— | — |
unknown |
integer |
— | — |
StoragePoint#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
total_logical_bytes |
integer |
yes | — |
active_logical_bytes |
integer |
yes | — |
long_term_logical_bytes |
integer |
yes | — |
total_physical_bytes |
integer |
yes | — |
SubgraphRequest#
Request payload: the member node_ids whose induced lineage we want.
| Field | Type | Required | Description |
|---|---|---|---|
node_ids |
array of string |
yes | Member node IDs to induce the lineage subgraph over. |
exclude_patterns |
array of string |
— | Regex patterns for node IDs to exclude from traversal and results. |
SubjectType#
One of: "health_group", "domain".
T#
TableMetadataHistoryResponse#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
table_type |
string or null |
— | Most recent observed table_type (BASE TABLE | VIEW | MATERIALIZED VIEW | EXTERNAL_*) |
points |
array of TableMetadataPoint | — | Daily observations, oldest first — the order a forecaster expects. |
TableMetadataPoint#
One daily observation of a table's BigQuery metadata.
| Field | Type | Required | Description |
|---|---|---|---|
observed_date |
string (date) |
yes | — |
last_modified_at |
string (date-time) or null |
— | — |
row_count |
integer or null |
— | — |
size_bytes |
integer or null |
— | — |
TableSchemaResponse#
| Field | Type | Required | Description |
|---|---|---|---|
project |
string |
yes | — |
dataset |
string |
yes | — |
table |
string |
yes | — |
fields |
array of ColumnMeta | yes | — |
total_fields |
integer |
yes | — |
num_rows |
integer or null |
— | — |
num_bytes |
integer or null |
— | — |
Target#
What to act on — defaults to the matched node(s) unless overridden.
| Field | Type | Required | Description |
|---|---|---|---|
same_as_applies_to |
boolean or null |
— | When True (the default for simple rules), the target is the node(s) matched by applies_to. When False, use the selector fields below to target a different set of nodes. |
node_type |
string or null |
— | Override target node type |
node_ids |
array of string or null |
— | Override target node IDs |
display_names |
array of string or null |
— | Override target display names |
tags |
array of string or null |
— | Override target tags |
exclude_node_ids |
array of string or null |
— | Patterns to exclude from targeting |
scope |
TargetScope or string or null |
— | Relationship traversal from the matched node |
group |
boolean or null |
— | Group all targets into one action invocation |
highest_priority_only |
boolean or null |
— | Only the highest-priority rule per executor type fires on each node |
exclusive |
boolean or null |
— | Claim the target nodes exclusively — other rules of the same executor can't cascade onto them |
TargetScope#
One of: "node", "children", "descendants", "ancestors", "all".
TaxonomyGroup#
A shelf identity — the fallback bucket, or the shape a rule resolves to.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | Stable, CSS-safe group id. |
label |
string |
yes | Human-facing shelf title. |
TaxonomyRule#
A keyword rule: when match hits an item's name/labels, it joins this group.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | Stable, CSS-safe group id. |
label |
string |
yes | Human-facing shelf title. |
match |
string |
yes | Regex source, tested case-insensitively against the dashboard name + label values. |
hue |
integer or null |
— | Optional colour-ramp index (0-9); omit and a stable hue is hashed from the id. |
TeamAccessExplained#
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | — |
owner |
TeamOwner | yes | — |
mine |
DecisionOut | yes | — |
principals_visible |
boolean |
yes | — |
principals |
Principals or null |
— | — |
TeamAccessGrantCreate#
| Field | Type | Required | Description |
|---|---|---|---|
grantee_slug |
string |
yes | — |
role |
string |
yes | Name of the preset the grantee's members get |
TeamAccessGrantOut#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
grantee |
OwnerRef | yes | — |
role |
string |
yes | — |
codes |
array of string |
yes | — |
created_by |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
TeamAccessGrantUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
role |
string |
yes | Name of the preset the grantee's members get |
TeamAuditEntry#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
created_at |
string (date-time) |
yes | — |
performed_by |
string |
yes | — |
action_type |
string |
yes | — |
details |
object or null |
— | — |
status |
string or null |
— | — |
TeamAuditPage#
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of TeamAuditEntry | yes | — |
has_more |
boolean |
yes | — |
TeamCreate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
slug |
string |
yes | — |
description |
string or null |
— | — |
visibility |
string (enum) |
— | — |
TeamDetail#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
slug |
string |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
visibility |
string |
yes | — |
is_active |
boolean |
yes | — |
member_count |
integer |
yes | — |
owned_node_count |
integer |
yes | — |
my_role |
TeamRole or null |
— | — |
can_manage |
boolean |
yes | — |
google_group_email |
string or null |
— | — |
default_alert_channel_id |
string (uuid) or null |
— | — |
selector_count |
integer |
yes | — |
created_at |
string (date-time) |
yes | — |
TeamGrantHolders#
| Field | Type | Required | Description |
|---|---|---|---|
team |
TeamRef | yes | — |
role |
string |
yes | — |
members |
array of PersonRef | yes | — |
truncated |
boolean |
— | — |
TeamMember#
| Field | Type | Required | Description |
|---|---|---|---|
email |
string |
yes | — |
display_name |
string or null |
— | — |
role |
TeamRole or null |
— | — |
can_manage_team |
boolean |
yes | — |
added_at |
string (date-time) |
yes | — |
TeamMemberCreate#
| Field | Type | Required | Description |
|---|---|---|---|
email |
string |
yes | — |
role_template_id |
integer |
yes | — |
TeamMemberHolder#
| Field | Type | Required | Description |
|---|---|---|---|
email |
string |
yes | — |
display_name |
string or null |
— | — |
role |
string |
yes | — |
via |
"member" |
— | — |
TeamMemberUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
role_template_id |
integer |
yes | — |
TeamOwner#
| Field | Type | Required | Description |
|---|---|---|---|
team |
TeamRef or null |
— | — |
contested |
boolean |
— | — |
TeamRef#
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string or null |
— | — |
name |
string |
yes | — |
TeamRole#
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer |
yes | — |
name |
string |
yes | — |
TeamRoleOption#
| Field | Type | Required | Description |
|---|---|---|---|
id |
integer |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
can_manage_team |
boolean |
yes | — |
TeamSummary#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
slug |
string |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
visibility |
string |
yes | — |
is_active |
boolean |
yes | — |
member_count |
integer |
yes | — |
owned_node_count |
integer |
yes | — |
my_role |
TeamRole or null |
— | — |
can_manage |
boolean |
yes | — |
TeamUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
description |
string or null |
— | — |
visibility |
string (enum) or null |
— | — |
google_group_email |
string or null |
— | — |
default_alert_channel_id |
string (uuid) or null |
— | — |
TermSearchResult#
A glossary term/domain, matched on name, definition, or owner email.
| Field | Type | Required | Description |
|---|---|---|---|
entity_type |
string |
— | — |
id |
string |
yes | — |
name |
string |
yes | — |
slug |
string or null |
— | — |
kind |
string or null |
— | — |
definition |
string or null |
— | — |
owner_email |
string or null |
— | — |
rank |
number |
yes | — |
TerraformStateBindingCreate#
| Field | Type | Required | Description |
|---|---|---|---|
gitops_connection_id |
string (uuid) |
yes | — |
environment |
string |
yes | — |
branch |
string |
yes | — |
state_bucket |
string |
yes | — |
state_prefix |
string |
yes | — |
terraform_directory |
string |
— | — |
encryption_key_secret |
string or null |
— | — |
workspace |
string |
— | — |
TerraformStateBindingResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
gitops_connection_id |
string (uuid) |
yes | — |
environment |
string |
yes | — |
branch |
string |
yes | — |
state_bucket |
string |
yes | — |
state_prefix |
string |
yes | — |
terraform_directory |
string |
yes | — |
status |
string |
yes | — |
encryption_key_secret |
string or null |
— | — |
workspace |
string |
— | — |
repo_url |
string or null |
— | — |
repo_project_path |
string or null |
— | — |
created_at |
string (date-time) or null |
— | — |
updated_at |
string (date-time) or null |
— | — |
TerraformStateBindingUpdate#
| Field | Type | Required | Description |
|---|---|---|---|
environment |
string or null |
— | — |
branch |
string or null |
— | — |
state_bucket |
string or null |
— | — |
state_prefix |
string or null |
— | — |
terraform_directory |
string or null |
— | — |
status |
string or null |
— | — |
encryption_key_secret |
string or null |
— | — |
workspace |
string or null |
— | — |
TestRunRequest#
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | — |
entrypoint |
string |
— | — |
allow_imports |
array of string |
— | — |
params |
object |
— | — |
env |
object of string |
— | — |
timeout_s |
integer or null |
— | Clamped to a low interactive ceiling. |
mem_mb |
integer or null |
— | Clamped to a low interactive ceiling. |
secret_names |
array of string |
— | — |
Then-Input#
What to do when the rule fires — target plus action.
| Field | Type | Required | Description |
|---|---|---|---|
target |
Target | — | — |
do |
DoSingle-Input or DoChain-Input | yes | The action (single) or action chain to run |
Then-Output#
What to do when the rule fires — target plus action.
| Field | Type | Required | Description |
|---|---|---|---|
target |
Target | — | — |
do |
DoSingle-Output or DoChain-Output | yes | The action (single) or action chain to run |
TimeBucket#
A single time-series bucket (daily or hourly).
| Field | Type | Required | Description |
|---|---|---|---|
slot_cost |
CostFigure or null |
— | — |
bucket |
string |
yes | — |
count |
integer |
— | — |
cost |
number |
— | — |
slot_ms |
integer |
— | — |
reads |
integer |
— | — |
writes |
integer |
— | — |
processed_bytes |
integer |
— | — |
cache_hits |
integer |
— | — |
unique_tables |
integer |
— | — |
TimeframeProjectCount#
Type: object.
TimeframeStateCount#
Type: object.
TimelineEntry#
A single entry in the incident timeline.
| Field | Type | Required | Description |
|---|---|---|---|
timestamp |
string (date-time) |
yes | — |
actor |
string |
yes | Email of the user or 'system' |
event_type |
string |
yes | Event type: opened, acknowledged, resolved, closed, reopened, comment, resolution_note, status_comment |
category |
string |
yes | 'system' for status changes, 'user' for comments |
title |
string |
yes | Human-readable event title |
content |
string or null |
— | Event body (comment text, resolution notes, etc.) |
metadata |
object or null |
— | Additional event-specific data |
TimelineRead#
A node's change/incident/cost timeline over a window.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
start |
string (date-time) |
yes | — |
end |
string (date-time) |
yes | — |
window_days |
integer |
yes | — |
changes |
array of ChangeEventRead | yes | — |
incidents |
array of ImpactedIncidentRead | yes | — |
cost_series |
array of CostPointRead | yes | — |
TimeSeriesPoint#
Single data point in a time series.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string |
yes | — |
view_count |
integer |
yes | — |
unique_users |
integer |
yes | — |
TodayDecision#
What decides today while the nodes kind is not enforced: the legacy org-wide gate (iam\_deps.has\_permission), team roles and grants not counted.
| Field | Type | Required | Description |
|---|---|---|---|
allowed |
boolean |
yes | — |
ToolConfig#
Tool configuration entry stored in backend.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | Tool plugin id |
config |
object |
— | Tool-specific configuration |
ToolOut#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string |
yes | — |
label |
string |
yes | — |
kind |
string (enum) |
yes | — |
declared |
boolean |
yes | — |
detail_route |
string or null |
yes | — |
detail_params |
object of string or null |
yes | — |
coverage |
nistor_backend__api__endpoints__tool_capacity__CoverageOut | yes | — |
hottest_process |
HottestProcessOut or null |
yes | — |
fleet |
FleetOut | yes | — |
events |
EventsOut or null |
yes | Per-process deltas since the previous beat; null for sources |
oldest_held_seconds |
number or null |
yes | — |
reporting_processes |
integer |
yes | — |
stale_processes |
integer |
yes | — |
by_service |
array of nistor_backend__api__endpoints__tool_capacity__ServiceRollupOut | yes | — |
processes |
array of ProcessOut | yes | — |
ToolTypeDescriptor#
| Field | Type | Required | Description |
|---|---|---|---|
name |
string |
yes | — |
description |
string |
— | — |
config_schema |
object |
— | — |
secret_keys |
array of string |
— | — |
TopDownstreamNode#
Lite preview of a downstream consumer for inline display.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
display_name |
string or null |
— | — |
node_type |
string or null |
— | — |
display_type |
string or null |
— | — |
TouchedPartitionUnit#
One of: "iso_week", "day", "month".
TouchedPartitionWithin#
Fire only when a BigQuery partition touched by the triggering event falls inside a relative calendar window.
| Field | Type | Required | Description |
|---|---|---|---|
unit |
TouchedPartitionUnit | — | Calendar grain of the window: iso_week (Mon–Sun), day, or month. |
offset |
integer |
— | Window offset from the current period: -1 = previous, 0 = current, -2 = two back. |
timezone |
string |
— | IANA timezone used to resolve the week/day/month boundaries. |
TraceHop#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
depth |
integer |
yes | — |
occurred_at |
string (date-time) |
yes | — |
event_type |
string |
yes | — |
statement_type |
string or null |
— | — |
destination_partition |
string or null |
— | — |
recompute_mode |
string or null |
— | — |
job_id |
string or null |
— | — |
writer |
string or null |
— | — |
row_stats |
object or null |
— | — |
sources |
array of string |
— | — |
run |
TraceRun or null |
— | — |
confidence |
string |
yes | — |
TraceRun#
| Field | Type | Required | Description |
|---|---|---|---|
dataform_execution_id |
string or null |
— | — |
action_run_id |
string or null |
— | — |
git_commit_sha |
string or null |
— | — |
release_config |
string or null |
— | — |
TriggeringEvent#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
type |
string |
yes | — |
datetime |
string (date-time) |
yes | — |
source_id |
string or null |
— | — |
TriggerLiveness#
Per-rule tuning for the trigger-liveness detector (spec §5.6).
| Field | Type | Required | Description |
|---|---|---|---|
enabled |
boolean |
— | Disable all trigger-liveness verdicts for this rule. |
expected_interval_seconds |
integer or null |
— | Override the cadence-derived silence threshold for every trigger node of this rule (e.g. a quarterly source). Applies to the trigger_silent verdict only. |
TriggerLivenessCheckResponse#
| Field | Type | Required | Description |
|---|---|---|---|
checked_rules |
integer |
— | — |
opened |
integer |
— | — |
bumped |
integer |
— | — |
resolved |
integer |
— | — |
suppressed_opens |
integer |
— | — |
silent_recoveries |
integer |
— | — |
skipped_heavy_resolves |
integer |
— | — |
context_errors |
integer |
— | — |
skipped |
string or null |
— | — |
verdicts |
array of object |
— | — |
dry_run |
boolean |
— | — |
checked_at |
string or null |
— | — |
TroubleshootOut#
| Field | Type | Required | Description |
|---|---|---|---|
principal |
TroubleshootPrincipal | yes | — |
code |
string |
yes | — |
target |
TroubleshootTargetOut | yes | — |
decision |
DecisionOut | yes | — |
legacy_allowed |
boolean |
yes | — |
would_change_under_enforcement |
boolean |
yes | — |
would_widen_under_enforcement |
boolean |
yes | — |
mode |
string (enum) |
yes | — |
TroubleshootPrincipal#
| Field | Type | Required | Description |
|---|---|---|---|
email |
string |
yes | — |
display_name |
string or null |
— | — |
is_active |
boolean |
yes | — |
TroubleshootTargetOut#
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string or null |
— | — |
team |
TeamRef or null |
— | — |
TrustScoreBand#
Color band for the Trust Score ring UI.
One of: "green", "amber", "red".
TrustScoreComponents#
Per-component breakdown of a Trust Score, for tooltip display.
| Field | Type | Required | Description |
|---|---|---|---|
base |
number |
yes | Status-based component (0..100) |
rate_adj |
number |
yes | Recent-success-rate component (0..100) |
freshness_penalty |
number |
yes | Freshness-past-SLA penalty (0..30) |
incident_penalty |
number |
yes | Open critical incidents penalty (0..15) |
dq_penalty |
number |
— | Data-quality failure penalty (0..40); 0 when the asset has no DQ checks |
TrustScoreHistoryBucket#
One day of historical Trust Score data for the time-machine scrubber.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
score |
integer |
yes | — |
base |
number |
yes | — |
rate_adj |
number |
yes | — |
freshness_penalty |
number |
yes | — |
incident_penalty |
number |
yes | — |
asset_count |
integer |
— | — |
TrustScorePayload#
Type: object.
TrustScoreScope#
Level at which the Trust Score is computed.
One of: "platform", "workspace", "asset".
U#
UnmatchedResourceOut#
| Field | Type | Required | Description |
|---|---|---|---|
type |
string |
yes | — |
address |
string |
yes | — |
UnreadCountResponse#
| Field | Type | Required | Description |
|---|---|---|---|
count |
integer |
yes | — |
UptimeBucket#
One day of the uptime grid for the subject as a whole.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
uptime_pct |
number |
yes | — |
status |
StatusLevel | yes | — |
sample_count |
integer |
yes | Assets with a snapshot that day. |
UsageExcludedStats#
Disclosure: read events removed by the robot-user filter.
| Field | Type | Required | Description |
|---|---|---|---|
users |
integer |
— | — |
events |
integer |
— | — |
UsageTypeStats#
Windowed adoption stats for one node_type (or the estate totals).
| Field | Type | Required | Description |
|---|---|---|---|
catalog_total |
integer |
— | — |
active |
integer |
— | — |
reads |
integer |
— | — |
distinct_viewers |
integer |
— | — |
refreshes |
integer |
— | — |
refreshed_zero_reads |
integer |
— | — |
UserActivity#
Type: object.
UserCreate#
Schema for creating a new user.
| Field | Type | Required | Description |
|---|---|---|---|
email |
string (email) |
yes | User email address |
display_name |
string or null |
— | User display name |
is_admin |
boolean |
— | Whether user has admin privileges |
permission_codes |
array of string |
— | List of permission codes to assign |
UserDetailActionSummary#
Type: object.
UserDetailDailyActivity#
Single day in the activity timeline.
| Field | Type | Required | Description |
|---|---|---|---|
date |
string |
yes | — |
page_views |
integer |
yes | — |
manual_runs |
integer |
yes | — |
UserDetailFullResponse#
Type: object.
UserDetailKpis#
Pre-computed KPIs for user detail panel.
| Field | Type | Required | Description |
|---|---|---|---|
page_views |
integer |
yes | — |
manual_runs |
integer |
yes | — |
unique_pages |
integer |
yes | — |
unique_nodes |
integer |
yes | — |
active_days |
integer |
yes | — |
UserDetailNodeSummary#
Node visit count.
| Field | Type | Required | Description |
|---|---|---|---|
node_id |
string |
yes | — |
count |
integer |
yes | — |
UserDetailResponse#
Type: object.
UserDetailSectionSummary#
Section visit count.
| Field | Type | Required | Description |
|---|---|---|---|
section |
string |
yes | — |
count |
integer |
yes | — |
UserDetailTabSummary#
Tab visit count.
| Field | Type | Required | Description |
|---|---|---|---|
tab |
string |
yes | — |
count |
integer |
yes | — |
UserNotificationResponse#
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
event_type |
string |
yes | — |
node_id |
string |
yes | — |
title |
string |
yes | — |
description |
string or null |
— | — |
is_read |
boolean |
yes | — |
metadata_ |
object or null |
— | — |
nistor_url |
string or null |
— | — |
created_at |
string (date-time) |
yes | — |
UserPermissionsUpdate#
Schema for updating user permissions.
| Field | Type | Required | Description |
|---|---|---|---|
permission_codes |
array of string |
yes | Complete list of permission codes to assign (replaces existing) |
UserResponse#
Schema for user response.
| Field | Type | Required | Description |
|---|---|---|---|
email |
string (email) or string |
yes | User email address, or a registered service principal's Kubernetes subject |
display_name |
string or null |
— | User display name |
id |
integer |
yes | — |
is_admin |
boolean |
yes | — |
is_active |
boolean |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
permissions |
array of PermissionResponse | — | User's permissions |
role_template_id |
integer or null |
— | Preset the user is durably bound to (null = Custom) |
role_name |
string or null |
— | Name of the bound preset (null = Custom). Derived from the role_template relationship. |
teams |
array of UserTeam or null |
— | Active teams the user belongs to, with their team role. Filled by GET /iam/users only; null elsewhere means not loaded, never 'in no team'. |
UserStats#
Type: object.
UserTeam#
An active team a user belongs to, with their team role.
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string |
yes | — |
name |
string |
yes | — |
role |
string or null |
— | The member's team role (a preset name); null when none applies |
UserUpdate#
Schema for updating a user.
| Field | Type | Required | Description |
|---|---|---|---|
display_name |
string or null |
— | User display name |
is_admin |
boolean or null |
— | Whether user has admin privileges |
is_active |
boolean or null |
— | Whether user account is active |
V#
ValidateIssue#
| Field | Type | Required | Description |
|---|---|---|---|
severity |
string |
yes | error | warning |
message |
string |
yes | — |
lineno |
integer or null |
— | — |
ValidateRequest#
| Field | Type | Required | Description |
|---|---|---|---|
code |
string |
yes | — |
entrypoint |
string |
— | — |
allow_imports |
array of string |
— | — |
ValidateResponse#
| Field | Type | Required | Description |
|---|---|---|---|
issues |
array of ValidateIssue | — | — |
ok |
boolean |
yes | True when there are no error-severity issues. |
ValidationError#
| Field | Type | Required | Description |
|---|---|---|---|
loc |
array of string or integer |
yes | — |
msg |
string |
yes | — |
type |
string |
yes | — |
input |
object |
— | — |
ctx |
object |
— | — |
VersionUsage#
| Field | Type | Required | Description |
|---|---|---|---|
consumer_node_id |
string |
yes | — |
consumer_type |
string |
yes | — |
display_name |
string |
yes | — |
role |
string (enum) |
yes | — |
traffic_percent |
integer or null |
— | — |
revision_name |
string or null |
— | — |
ViaOut#
| Field | Type | Required | Description |
|---|---|---|---|
kind |
string |
yes | — |
role |
string or null |
— | — |
team |
TeamRef or null |
— | — |
from_team |
TeamRef or null |
— | — |
text |
string |
yes | — |
ViewerOut#
| Field | Type | Required | Description |
|---|---|---|---|
email |
string |
yes | — |
display_name |
string or null |
— | — |
last_seen |
string (date-time) |
yes | — |
VisualizationInfo#
| Field | Type | Required | Description |
|---|---|---|---|
key |
string or null |
— | — |
name |
string or null |
— | — |
visualization_type |
string or null |
— | — |
objects |
array of BoundObject | — | — |
W#
WaitingDiscussionItem#
One discussion awaiting the current user, for the home-page summary card.
| Field | Type | Required | Description |
|---|---|---|---|
entity_type |
string |
yes | — |
entity_id |
string |
yes | — |
environment |
string or null |
— | — |
thread_id |
string (uuid) or null |
— | Root comment id for ?comment= deep-linking; null for notification-only items. |
reason |
string |
yes | mentioned | replied | awaiting_reply |
unread |
boolean |
yes | True when an unread mention/reply backs this item. |
last_actor |
string or null |
— | Email of who last acted (mentioned/replied/spoke). |
snippet |
string |
— | Short context line (thread root body or notification text). |
last_activity_at |
string (date-time) |
yes | — |
WaitingDiscussionsResponse#
Merged, deduped feed of discussions awaiting the current user.
| Field | Type | Required | Description |
|---|---|---|---|
items |
array of WaitingDiscussionItem | yes | — |
total |
integer |
yes | Full count of waiting discussions (may exceed len(items)). |
WatchListResponse#
| Field | Type | Required | Description |
|---|---|---|---|
watches |
array of WatchOut | — | — |
total |
integer |
— | — |
WatchOut#
A watch as the UI sees it.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string |
yes | — |
node_id |
string |
yes | — |
node_type |
string |
yes | — |
probe_id |
string |
yes | — |
probe_config |
object or null |
— | — |
interval_seconds |
integer |
yes | — |
enabled |
boolean |
yes | — |
last_seen_modified |
string (date-time) or null |
— | — |
last_polled_at |
string (date-time) or null |
— | — |
last_advanced_at |
string (date-time) or null |
— | — |
next_poll_at |
string (date-time) or null |
— | — |
consecutive_failures |
integer |
— | — |
last_error_kind |
string or null |
— | — |
last_error |
string or null |
— | — |
last_error_at |
string (date-time) or null |
— | — |
source_rule_ids |
array of string or null |
— | — |
last_seen_fingerprint |
string or null |
— | — |
auto_sources |
array of string or null |
— | — |
last_exact_error |
string or null |
— | — |
last_exact_error_at |
string (date-time) or null |
— | — |
WebhookEndpointCreate#
Schema for creating a new webhook endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string |
yes | URL-safe identifier (lowercase alphanumeric and hyphens) |
name |
string |
yes | Human-readable name |
description |
string or null |
— | — |
payload_template |
object or null |
— | Jinja2 mapping template. Keys are SchedulerEventMessage fields, values are Jinja2 expressions. When null, a default template is used. |
webhook_type |
"gitlab_mr" or null |
— | null: a generic endpoint (HMAC X-Webhook-Signature, Jinja template). "gitlab_mr": GitLab merge-request events for the MR impact bot, authenticated by X-Gitlab-Token = this endpoint's secret; needs gitops_connection_id. |
gitops_connection_id |
string (uuid) or null |
— | The GitOps connection whose repository sends these events (gitlab_mr only). |
require_timestamp |
boolean |
— | Refuse a delivery without a signed X-Webhook-Timestamp (401) on this endpoint, whatever the deployment-wide WEBHOOK_REQUIRE_TIMESTAMP says (generic endpoints only). |
WebhookEndpointRead#
Schema for reading a webhook endpoint (secret excluded).
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
slug |
string |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
hmac_algorithm |
string |
yes | — |
payload_template |
object or null |
— | — |
status |
string |
yes | — |
created_by |
string or null |
— | — |
last_triggered_at |
string (date-time) or null |
— | — |
trigger_count |
integer |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
webhook_url |
string or null |
— | — |
webhook_type |
string or null |
— | — |
gitops_connection_id |
string (uuid) or null |
— | — |
require_timestamp |
boolean |
— | — |
WebhookEndpointUpdate#
Schema for updating an existing webhook endpoint.
| Field | Type | Required | Description |
|---|---|---|---|
name |
string or null |
— | — |
description |
string or null |
— | — |
payload_template |
object or null |
— | — |
status |
string or null |
— | — |
webhook_type |
"gitlab_mr" or null |
— | null: a generic endpoint (HMAC X-Webhook-Signature, Jinja template). "gitlab_mr": GitLab merge-request events for the MR impact bot, authenticated by X-Gitlab-Token = this endpoint's secret; needs gitops_connection_id. |
gitops_connection_id |
string (uuid) or null |
— | The GitOps connection whose repository sends these events (gitlab_mr only). |
require_timestamp |
boolean or null |
— | Refuse a delivery without a signed X-Webhook-Timestamp (401) on this endpoint, whatever the deployment-wide WEBHOOK_REQUIRE_TIMESTAMP says (generic endpoints only). |
WebhookEndpointWithSecret#
Returned only on create — includes the HMAC secret.
| Field | Type | Required | Description |
|---|---|---|---|
id |
string (uuid) |
yes | — |
slug |
string |
yes | — |
name |
string |
yes | — |
description |
string or null |
— | — |
hmac_algorithm |
string |
yes | — |
payload_template |
object or null |
— | — |
status |
string |
yes | — |
created_by |
string or null |
— | — |
last_triggered_at |
string (date-time) or null |
— | — |
trigger_count |
integer |
yes | — |
created_at |
string (date-time) |
yes | — |
updated_at |
string (date-time) |
yes | — |
webhook_url |
string or null |
— | — |
webhook_type |
string or null |
— | — |
gitops_connection_id |
string (uuid) or null |
— | — |
require_timestamp |
boolean |
— | — |
hmac_secret |
string |
yes | — |
WebhookTestRequest#
Schema for testing a webhook template rendering.
| Field | Type | Required | Description |
|---|---|---|---|
payload |
object |
yes | Sample JSON payload to render through the template |
headers |
object of string or null |
— | Optional sample headers |
WebhookTestResponse#
Result of a webhook template dry-run.
| Field | Type | Required | Description |
|---|---|---|---|
rendered |
object |
yes | Rendered SchedulerEventMessage fields |
valid |
boolean |
yes | Whether the rendered output is a valid SchedulerEventMessage |
errors |
array of string or null |
— | Validation errors, if any |
When-Input#
When the rule fires — events, a schedule, or both.
| Field | Type | Required | Description |
|---|---|---|---|
events |
array of EventListener or null |
— | Event listeners |
schedule |
Schedule or null |
— | Cron schedule |
wait_for_all_ancestors |
boolean or null |
— | Only fire once every direct ancestor has produced a new event since the last run |
wait_for_all_ancestors_timeout_seconds |
integer or null |
— | Safeguard: if the barrier has not cleared this many seconds after the cycle's first ancestor refreshed, fire with whatever ancestors are ready. None = wait indefinitely. Requires wait_for_all_ancestors. |
wait_for_all_ancestors_timeout_alert |
boolean or null |
— | Raise a warning incident when the barrier fires on timeout with missing ancestors. |
When-Output#
When the rule fires — events, a schedule, or both.
| Field | Type | Required | Description |
|---|---|---|---|
events |
array of EventListener or null |
— | Event listeners |
schedule |
Schedule or null |
— | Cron schedule |
wait_for_all_ancestors |
boolean or null |
— | Only fire once every direct ancestor has produced a new event since the last run |
wait_for_all_ancestors_timeout_seconds |
integer or null |
— | Safeguard: if the barrier has not cleared this many seconds after the cycle's first ancestor refreshed, fire with whatever ancestors are ready. None = wait indefinitely. Requires wait_for_all_ancestors. |
wait_for_all_ancestors_timeout_alert |
boolean or null |
— | Raise a warning incident when the barrier fires on timeout with missing ancestors. |
WikiArticleDetail#
Type: object.
WikiArticleSummary#
Type: object.
WikiBookmarkCreate#
| Field | Type | Required | Description |
|---|---|---|---|
slug |
string |
yes | Article slug to bookmark |
WikiBookmarkResponse#
Type: object.
WikiReviewResponse#
Type: object.
WikiStalenessRequest#
| Field | Type | Required | Description |
|---|---|---|---|
slugs |
array of string |
— | — |
WikiStalenessResponse#
| Field | Type | Required | Description |
|---|---|---|---|
rows |
array of WikiStalenessRow | yes | — |
WikiStalenessRow#
Type: object.
WikiUsageOverview#
| Field | Type | Required | Description |
|---|---|---|---|
total_reads |
integer |
— | — |
unique_readers |
integer |
— | — |
articles_total |
integer |
— | — |
articles_with_reads |
integer |
— | — |
articles_never_read |
integer |
— | — |
WikiUsageRequest#
| Field | Type | Required | Description |
|---|---|---|---|
period |
string (enum) |
— | — |
WikiUsageResponse#
Type: object.
WikiUsageRow#
Type: object.
WikiUsageSeriesPoint#
| Field | Type | Required | Description |
|---|---|---|---|
date |
string (date) |
yes | — |
view_count |
integer |
yes | — |
WikiVoteCreate#
| Field | Type | Required | Description |
|---|---|---|---|
vote |
string (enum) |
yes | — |
WikiVoteResponse#
| Field | Type | Required | Description |
|---|---|---|---|
article_slug |
string |
yes | — |
my_vote |
string (enum) or null |
— | — |
up_count |
integer |
— | — |
down_count |
integer |
— | — |
WindowStatus#
One of: "active", "cancelled".
WriteVisibilitySummaryResponse#
One reconciliation pass.
| Field | Type | Required | Description |
|---|---|---|---|
window_days |
integer |
yes | Trailing window the reconciliation covered, in days. |
window_start |
string (date-time) |
yes | Inclusive lower bound of the window (UTC). |
tables_written |
integer |
yes | Tables the metadata ledger says BigQuery modified inside the window. |
tables_invisible |
integer |
yes | Of those, how many carry no write-type input_logs row in the same window — before classification. |
invisible_expected |
integer |
yes | The actionable count: invisible assets that were expected to receive writes. |
excluded_log_export_shard |
integer |
yes | Invisible assets excluded as Cloud Logging export tables (name marker or YYYYMMDD daily shard). |
excluded_not_base_table |
integer |
yes | Invisible assets excluded because their table_type is not BASE TABLE (view, external, unobserved). |
stale_rows_dropped |
integer |
yes | Rows discarded because their last_modified_at fell outside the window. Normally 0 — a non-zero value means the query returned something the window filter should have excluded. |
invisible_node_ids |
array of string |
— | Node ids of the actionable invisible tables, ordered by id. A bounded SAMPLE — when 'ids_truncated' is true there are 'invisible_expected' of them in total, and that count is still exact. |
ids_truncated |
boolean |
— | True when 'invisible_node_ids' holds fewer ids than 'invisible_expected'. Says nothing about the counts: they remain exact, and only the sample is bounded. |
counts_truncated |
boolean |
— | True when fewer rows were classified than 'tables_invisible', so the per-reason breakdown ('invisible_expected' and the two excluded counters) is a LOWER BOUND. This is the only flag under which a count may be read as incomplete. |
truncated |
boolean |
— | 'ids_truncated' or 'counts_truncated'. Retained for existing clients; branch on the specific flag instead, because this one cannot tell a capped sample of exact counts from counts that are lower bounds. |
anomalies |
array of string |
— | Conditions under which the guard could not measure, so the counts above are not trustworthy: 'ledger_silent' (no table modified anywhere in the window — the metadata sweep has stopped) or 'no_write_events_recorded' (tables were written and none recorded an event — an ingestion or sink outage). An empty result with an anomaly is the worst state, not the best one. |
healthy |
boolean |
— | False when 'anomalies' is non-empty. Not a statement about how many tables are invisible — the known residue is a finding to work through, an anomaly means the number itself cannot be trusted. |