psa

Rerun Ticket Agent

Manually re-run one agent flow for a ticket (scope-forced).

triage runs triage only; investigate / analyse run triage then that arm. Enqueues rerun_workflow and returns its id.

Security gates (branch-review S2, all four):

  • Elevated only — end-customer roles must not trigger LLM spend.
  • 404 before any dispatch when the ticket isn't visible to the caller.
  • Runs under the ticket's managed team (resolved via psa.team_link) so the arms / AgentRun / GUC match organic intake — under the managed GUC psa.msp_tickets returns zero rows, closing the SP-context cross-customer exfil surface. Falls back to the ticket's own team.
  • Concurrency-guarded, but repeatable: each run gets a UNIQUE workflow id rerun:{flow}:{ticket_key}:{run_key}, enqueued on the psa.intake partitioned queue keyed by ticket_key (SUP-711). Partitioned queues forbid deduplication_id (DBOS raises at enqueue), so instead of a queue-level dedup key, a prefix guard on rerun:{flow}:{ticket_key}: finds any still-active run for the same (flow, ticket) and returns its id instead of dispatching a second workflow; once the prior run reaches a terminal state the guard no longer matches, so an operator can legitimately rerun a flow again over the ticket's life. The check-then-enqueue window is harmless — the partition serializes any stragglers.
  • Every flow re-checks the effective team's autonomy config — a manual rerun must not bypass level_zero_tiers / ticket_analysis_enabled.
post/api/psa/{team_key}/ticket/{ticket_key}/rerun

Request

  • Base URL
    https://api.superit.ai (the document declares no server; this is the origin it was published from)
  • Auth
    HTTP bearer

Path parameters

ticket_keystring required
team_keystring required

Request body

flow'triage' | 'investigate' | 'analyse' required

Response

Successful Response

workflow_idstring required

Changes

No recorded changes to this operation across all 1 revision of this API.