{"command":{"effect":"write","timeoutSeconds":30,"inputSchema":{"type":"object","description":"Partial update: only the supplied fields change. `kind` and `webhook.provider` are immutable\n(409 on change). Mutable: `name` (409 on duplicate), `status` (active<->paused), `prompt_template`,\n`output`, `session_template` (fresh), `bound_session_id` (reuse), `cron.cron_expr` /\n`cron.timezone` (recomputes next_run_at). Re-enabling never produces a catch-up run. PATCHing\nsession_template is a full replacement, so every spec.secrets slot value the new manifest declares\nmust be resupplied (secret values are never echoed back), or the request is a 400.","properties":{"path":{"type":"object","properties":{"trigger_id":{"type":"string","examples":["b1a0c6de-1f2e-4a3b-9c8d-0e1f2a3b4c5d"],"description":"The trigger UUID."}},"required":["trigger_id"],"additionalProperties":false},"body":{"$ref":"#/definitions/update_trigger_request"}},"required":["path","body"],"additionalProperties":false,"definitions":{"update_trigger_request":{"type":"object","description":"Partial update. Only the supplied fields change. kind and webhook.provider are immutable. Sending status alone is how pause/re-enable work.","properties":{"name":{"type":"string","minLength":1,"maxLength":64,"pattern":"^[A-Za-z0-9]([A-Za-z0-9._-]{0,62}[A-Za-z0-9])?$","description":"New team-unique trigger name. Same charset/length rules as create.","examples":["nightly-deploy-check"]},"status":{"$ref":"#/definitions/trigger_status"},"prompt_template":{"type":"string","examples":["Review the latest push and summarize risks."]},"output":{"$ref":"#/definitions/trigger_output_write"},"session_template":{"type":"string","description":"fresh triggers only. A session_template PATCH is a full replacement of the stored template; you must resupply every spec.secrets slot value the new manifest declares, or the request is a 400.","examples":[""]},"bound_session_id":{"type":"string","format":"uuid","description":"reuse triggers only. UUID of an existing session owned by the team.","examples":["a1b2c3d4-e5f6-7890-abcd-ef1234567890"]},"cron":{"$ref":"#/definitions/create_cron_config"}}},"trigger_status":{"type":"string","enum":["active","paused"],"description":"Trigger lifecycle state. Soft-deleted triggers are never returned (404).","examples":["active"]},"trigger_output_write":{"type":"object","description":"Output-delivery configuration on create/update. Exactly one of email / slack is required for the matching mode and forbidden otherwise; destinations are stored encrypted and never returned.","required":["mode"],"properties":{"mode":{"$ref":"#/definitions/trigger_output_mode"},"email":{"type":"string","description":"Destination address; required iff mode=email.","examples":["oncall@example.com"]},"slack":{"$ref":"#/definitions/slack_output_write"}}},"create_cron_config":{"type":"object","description":"cron block on create.","required":["cron_expr","timezone"],"properties":{"cron_expr":{"type":"string","examples":["0 9 * * 1-5"]},"timezone":{"type":"string","description":"IANA timezone.","examples":["America/New_York"]}}},"trigger_output_mode":{"type":"string","enum":["none","email","slack"],"description":"none = nothing pushed; the result stays in run history for self-serve. email = the collected run output is emailed to a configured address. slack = the collected run output is posted to a Slack incoming webhook URL (channel fixed by the webhook at install time).","examples":["email"]},"slack_output_write":{"type":"object","description":"Slack destination on create/update. webhook_url is required when mode=slack; must be https://hooks.slack.com/services/...; stored encrypted and never returned.","required":["webhook_url"],"properties":{"webhook_url":{"type":"string","description":"Slack incoming webhook URL (https://hooks.slack.com/services/...). The channel is bound to this URL at install time.","examples":["https://hooks.slack.com/services/T0000/B0000/XXXX"]}}}}},"name":"UpdateTrigger updates, pauses, or re-enables a trigger.","id":"digitalocean.harness_update_trigger","example":{"path":{"trigger_id":"b1a0c6de-1f2e-4a3b-9c8d-0e1f2a3b4c5d"},"body":{}},"maxRequests":1,"summary":false}}