operator-runs

Push Permit Run Endpoint

Manually dispatch a permit run to Pilot (managers).

Two shapes: the per-row "Run permit" re-sends an existing run's request (optionally with manager-edited notes); the top-of-tab "Run Permit" starts an ad-hoc run for a bare ServiceTitan job id. Both carry Pilot's retry_terminal flag and are polled via /permit-runs/push/{request_id}. Manager-gated (unlike warranty/rebate pushes): running a permit is part of ops' fix-and-retry loop, per product decision.

Portal mode (operator_config.permit.mode == "portal") dispatches a fresh request per click — permit-dashboard-<org>-<job>-<epoch> carrying job_id and the prior run's tracker_row (dry-run vs live is Pilot's own default, not a Crucible setting); job_id may also be a ServiceTitan job URL.

post/permit-runs/push

Request body

run_idstring nullable
job_idstring nullable
trade_tabstring nullable
notesstring nullable

Response

Successful Response

{"stackTrail":"paths:/permit-runs/push:post:responses:200:content:application/json:schema","oasType":"schema","type":"unknown"}

Changes