HYBRID-CHAINDEVELOPERS
DOCUMENTATIONv2
PATCH

Automations

Update automation

/api/v2/automations/{automation_uuid}
AUTHENTICATIONBearer token · automations:writeAUTHORITATIVE OWNERautomation-serviceCONTRACT AUTHORITYCapability registry · plannedSTATUSPlanned · not executable
PLANNING CONTRACT · NOT CALLABLE

This page describes intended capability and integration boundaries so people and agents can prepare safely. Do not send this request or register it as an executable tool. Wait until the capability registry marks it implemented-contract, then re-fetch the deployed OpenAPI document and build the request from that machine contract.

PURPOSE + BUSINESS CONTEXT

Planned capability: update or change the lifecycle state of an automation.

WHEN THIS CALL IS USEFUL

Do not call or register this operation as an executable agent tool yet. Use this page to plan the future automation workflow; enable it only after the status becomes implemented-contract and the exact operation appears in deployed OpenAPI.

OUTCOME · Planned · Revise and reconcile

What changes

None today: this route is not executable. Its intended behavior is: when promoted, creates a new immutable revision or lifecycle event. PAUSE stops future trigger admission, RESUME re-enables admission after revalidation, and ARCHIVE is terminal; none deletes historical runs or evidence.

WHY IT MATTERS

  • Lets people and agents prepare for automation without falsely presenting roadmap scope as a live capability.
  • Gives people and agents a contract-backed way to advance automation.
  • Makes triggers, execution attempts, callback destinations, delivery evidence, and retry behavior explicit without granting the automation ambient access to another domain.

ISOLATION + AUTHORITY

Tenant, workspace, automation definition, trigger, run, callback endpoint, secret version, delivery attempt, receipt, retry policy, and target-domain authority remain distinct. Creating or running an automation does not bypass the authorization, idempotency, policy, or lifecycle gates of any action it requests. This planning record grants no runtime authority, and only deployed OpenAPI can define an executable public contract.

BEFORE YOU CALL

  • First confirm that this operation is marked implemented-contract and exists in the currently deployed OpenAPI document; until then, no production request is valid.
  • Its capability-registry profile is provisional integration guidance, not an executable request schema.
  • Authenticate at the documented boundary: bearer+scope.
  • Treat the proposed automation_uuid (path), expected_version (body), lifecycle_action (body), reason (body), step_up_token (body) as planning input only; re-generate the request from deployed OpenAPI before making a call.
  • Use one Idempotency-Key only for retries of the same byte-equivalent logical mutation.

WHAT TO DO NEXT

  • Keep this operation disabled in clients, agents, SDKs, and workflow automation while it remains planned-contract.
  • Use the stated owner, lifecycle, authority boundary, and provisional automation profile to prepare requirements and conformance tests without sending a request.
  • Monitor the capability registry for implemented-contract, then re-fetch deployed OpenAPI and validate its exact security, parameters, schemas, responses, and agent metadata before enabling the integration.

AGENT GUIDANCE

  • Never call this planned contract, include it in an executable tool registry, or infer runtime availability from this readable page.
  • Its capability-registry profile is provisional integration guidance, not an executable request schema.
  • Use automation only for the purpose and lifecycle stage described by this operation; do not treat it as authority for an adjacent action.
  • Treat the proposed automation_uuid (path), expected_version (body), lifecycle_action (body), reason (body), step_up_token (body) as planning input only; re-generate the request from deployed OpenAPI before making a call.
  • Distinguish definition state, enablement, trigger admission, run creation, execution outcome, callback delivery, receipt, retry, and the authoritative state of any referenced business resource.
  • After a timeout or conflict, read authoritative state before deciding whether an equivalent retry is safe.
  • When implementation lands, discard generated requests based on this planning record and rebuild them from the deployed OpenAPI operation.
MACHINE CONTRACT

This operation is a non-executable planning contract. Its capability-registry record defines the intended owner, parameters, responses, and integration boundary until an implemented Rust OpenAPI operation replaces it.

EXTENDED INTEGRATION GUIDANCE

Readable request and response reference

Examples describe the reviewed planning contract and remain non-executable until promoted into OpenAPI.

PARAMETERS

Headers, path, query, and body

NAMELOCATIONPRESENCETYPE / RULES / PURPOSE
AuthorizationheaderRequired

Bearer tokenCredential containing automations:write authority.EXAMPLEBearer hc_live_…

Idempotency-KeyheaderRequired

ASCII string · 1–128Caller-generated stable key reused for retries of the same logical mutation.EXAMPLEpatch-api-v2-automations-automation-uuid-request-001

automation_uuidpathRequired

identifierCanonical automation uuid.EXAMPLEautomation-uuid-01

expected_versionbodyRequired

integer · ≥1Current automation version used for optimistic concurrency.EXAMPLE4

lifecycle_actionbodyRequired

UPDATE_CONFIGURATION | PAUSE | RESUME | ARCHIVEExplicit transition. ARCHIVE is terminal; PAUSE blocks future trigger admission but does not delete retained runs or deliveries.EXAMPLEPAUSE

namebodyOptional

string · 2–120Replacement presentation name for UPDATE_CONFIGURATION.EXAMPLEInvoice evidence follow-up

descriptionbodyOptional

string · max 500Replacement non-secret purpose context.EXAMPLEPause during policy maintenance.

triggerbodyOptional

discriminated objectReplacement MANUAL, SCHEDULE, or EVENT trigger for UPDATE_CONFIGURATION.EXAMPLE[object Object]

action_profile_idbodyOptional

server-owned action profile identifierReplacement approved action class; changing it requires full policy and authority revalidation.EXAMPLErequest-document-review

input_bindingsbodyOptional

allowlisted binding objectReplacement typed bindings without secrets or executable expressions.EXAMPLE[object Object]

callback_endpoint_uuidbodyOptional

32-character identifier | nullReplacement active workspace-owned endpoint or null to remove callback delivery.EXAMPLEcallback-endpoint-uuid-01

execution_policybodyOptional

bounded policy objectReplacement concurrency, timeout, retry, deduplication, and failure posture.EXAMPLE[object Object]

reasonbodyRequired

string · 8–500Attributed lifecycle or configuration rationale retained with the revision.EXAMPLEPause while the downstream review policy is revised.

step_up_tokenbodyRequired

purpose-bound tokenFresh AUTOMATION_CONFIGURATION authorization bound to the current version and requested transition.EXAMPLEhcsu_…

REQUEST

JSON body example

{
  "expected_version": 4,
  "lifecycle_action": "PAUSE",
  "name": "Invoice evidence follow-up",
  "description": "Pause during policy maintenance.",
  "trigger": {
    "type": "SCHEDULE",
    "cadence": "PT1H",
    "timezone": "UTC"
  },
  "action_profile_id": "request-document-review",
  "input_bindings": {
    "evidence_reference": "$.event.reference"
  },
  "callback_endpoint_uuid": "callback-endpoint-uuid-01",
  "execution_policy": {
    "max_concurrency": 1,
    "timeout_seconds": 30,
    "max_attempts": 2,
    "deduplication_window_seconds": 3600
  },
  "reason": "Pause while the downstream review policy is revised.",
  "step_up_token": "hcsu_…"
}

RESPONSES

Status and payload examples

200Eligible configuration or lifecycle transition retained with a new version; historical runs and deliveries remain immutable.Not executable · JSON RESPONSE+
{
  "result": "See the operation's authoritative OpenAPI response schema."
}
INTEGRATION DECISION
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from the future automation definition, trigger, schedule, run, action, and retained receipt lifecycle through an implemented operation.
ESCALATE WHEN
Escalate readiness questions rather than approximating a planned automation with ungoverned repeated calls.
400A typed field, version, reason, step-up token, request signature, or idempotency key is malformed.Not executable · JSON RESPONSE+
{
  "code": "request_failed",
  "message": "A typed field, version, reason, step-up token, request signature, or idempotency key is malformed."
}
INTEGRATION DECISIONrequest_failed
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from the future automation definition, trigger, schedule, run, action, and retained receipt lifecycle through an implemented operation.
ESCALATE WHEN
Escalate readiness questions rather than approximating a planned automation with ungoverned repeated calls.
401The bearer credential is missing, expired, or invalid.Not executable · JSON RESPONSE+
{
  "code": "request_failed",
  "message": "The bearer credential is missing, expired, or invalid."
}
INTEGRATION DECISIONrequest_failed
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from the future automation definition, trigger, schedule, run, action, and retained receipt lifecycle through an implemented operation.
ESCALATE WHEN
Escalate readiness questions rather than approximating a planned automation with ungoverned repeated calls.
403The principal lacks automations:write, workspace ownership, fresh configuration authority, or the underlying action-specific authority required for execution.Not executable · JSON RESPONSE+
{
  "code": "request_failed",
  "message": "The principal lacks automations:write, workspace ownership, fresh configuration authority, or the underlying action-specific authority required for execution."
}
INTEGRATION DECISIONrequest_failed
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from the future automation definition, trigger, schedule, run, action, and retained receipt lifecycle through an implemented operation.
ESCALATE WHEN
Escalate readiness questions rather than approximating a planned automation with ungoverned repeated calls.
404The automation, endpoint, delivery, action profile, or referenced owner-scoped resource does not exist in the authenticated workspace.Not executable · JSON RESPONSE+
{
  "code": "request_failed",
  "message": "The automation, endpoint, delivery, action profile, or referenced owner-scoped resource does not exist in the authenticated workspace."
}
INTEGRATION DECISIONrequest_failed
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from the future automation definition, trigger, schedule, run, action, and retained receipt lifecycle through an implemented operation.
ESCALATE WHEN
Escalate readiness questions rather than approximating a planned automation with ungoverned repeated calls.
409The expected version, lifecycle, endpoint key epoch, delivery eligibility, deduplication state, or Idempotency-Key conflicts.Not executable · JSON RESPONSE+
{
  "code": "request_failed",
  "message": "The expected version, lifecycle, endpoint key epoch, delivery eligibility, deduplication state, or Idempotency-Key conflicts."
}
INTEGRATION DECISIONrequest_failed
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from the future automation definition, trigger, schedule, run, action, and retained receipt lifecycle through an implemented operation.
ESCALATE WHEN
Escalate readiness questions rather than approximating a planned automation with ungoverned repeated calls.
422Trigger, action profile, input binding, callback, retry, SSRF, secret-safety, concurrency, schedule, event, or domain policy rejected the request.Not executable · JSON RESPONSE+
{
  "code": "request_failed",
  "message": "Trigger, action profile, input binding, callback, retry, SSRF, secret-safety, concurrency, schedule, event, or domain policy rejected the request."
}
INTEGRATION DECISIONrequest_failed
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from the future automation definition, trigger, schedule, run, action, and retained receipt lifecycle through an implemented operation.
ESCALATE WHEN
Escalate readiness questions rather than approximating a planned automation with ungoverned repeated calls.
503Automation orchestration, endpoint delivery, Identity, policy, evidence, or the owning domain is unavailable; no unverified transition is inferred.Not executable · JSON RESPONSE+
{
  "code": "request_failed",
  "message": "Automation orchestration, endpoint delivery, Identity, policy, evidence, or the owning domain is unavailable; no unverified transition is inferred."
}
INTEGRATION DECISIONrequest_failed
CALLER ACTION
Do not send this request or register it as an executable agent tool. Use the implemented alternatives linked by the module guide.
RETRY SAFETY
Do not retry on a timer. Re-fetch production OpenAPI and proceed only after this exact operation appears there.
STATE RECONCILIATION
No runtime state exists to reconcile for this planning contract. Continue from the future automation definition, trigger, schedule, run, action, and retained receipt lifecycle through an implemented operation.
ESCALATE WHEN
Escalate readiness questions rather than approximating a planned automation with ungoverned repeated calls.

OPERATIONAL NOTES

Security and lifecycle guarantees

  • The Rust gateway validates the public contract and routes only to the authoritative owner; clients never address internal services directly.
  • Mutations are retry-safe only when the same Idempotency-Key and canonical request body are reused.
DOCUMENTATION STATUS

This planned contract now defines its public parameters, authorization boundary, replay behavior, responses, and authoritative owner. It remains non-executable until its owner adapter and conformance tests are promoted into the Rust gateway.

Return to the V2 directory