Skip to content

UpdateApprovalActionRequest

Source code in docs_src/capo_devops_agent/types/update_approval_action_request.py
class UpdateApprovalActionRequest(TypedDict, closed=True):
    agent_space_id: (
        "capo_devops_agent.types.agent_space_identifier.AgentSpaceIdentifier"
    )
    """<p>The agent space identifier — multi-tenant workspace scope. Bound from the request URI.</p>"""
    approval_id: "capo_devops_agent.types.approval_id.ApprovalId"
    """<p>Identifier of the approval request being resolved. A UUID. Bound from the request URI.</p>"""
    action: "capo_devops_agent.types.approval_action_type.ApprovalActionType"
    """<p>The action to take on the approval request — APPROVED or REJECTED.</p>"""
    final_pattern: NotRequired[
        "capo_devops_agent.types.approval_pattern.ApprovalPattern"
    ]
    """<p>The finalized pattern (tool + argumentPins) that scopes the approval. Required when `action` is APPROVED; must be absent when `action` is REJECTED. The pattern narrows, and must not widen, the invocation originally requested by the agent. This cross-field invariant is enforced by service-side validation.</p>"""
    reason: NotRequired["capo_devops_agent.types.approval_reason.ApprovalReason"]
    """<p>Optional free-text rationale for the decision. Permitted when `action` is REJECTED; ignored when `action` is APPROVED.</p>"""
    ttl_seconds: NotRequired["int"]
    """<p>Approval lifetime in seconds, starting from when the decision is submitted. Required when `action` is APPROVED AND `singleUse` is false; must be absent when `action` is REJECTED or when `singleUse` is true (a single-use approval backs one executed action and the redemption window collapses). Cross-field invariants are enforced by service-side validation; the @range bound here is the operation-boundary check that always applies (a maximum of 4 hours).</p>"""
    single_use: NotRequired["bool"]
    """<p>Whether the approved action backs a single executed tool call (true) or is reusable within ttlSeconds (false). Required when `action` is APPROVED; must be absent when `action` is REJECTED. When true, ttlSeconds must be absent (the redemption window collapses to the single use). When false, ttlSeconds is required and bounds the reuse window. Cross-field invariants are enforced by service-side validation.</p>"""

action instance-attribute

The action to take on the approval request — APPROVED or REJECTED.

agent_space_id instance-attribute

agent_space_id: AgentSpaceIdentifier

The agent space identifier — multi-tenant workspace scope. Bound from the request URI.

approval_id instance-attribute

approval_id: ApprovalId

Identifier of the approval request being resolved. A UUID. Bound from the request URI.

final_pattern instance-attribute

final_pattern: NotRequired[ApprovalPattern]

The finalized pattern (tool + argumentPins) that scopes the approval. Required when `action` is APPROVED; must be absent when `action` is REJECTED. The pattern narrows, and must not widen, the invocation originally requested by the agent. This cross-field invariant is enforced by service-side validation.

reason instance-attribute

reason: NotRequired[ApprovalReason]

Optional free-text rationale for the decision. Permitted when `action` is REJECTED; ignored when `action` is APPROVED.

single_use instance-attribute

single_use: NotRequired[bool]

Whether the approved action backs a single executed tool call (true) or is reusable within ttlSeconds (false). Required when `action` is APPROVED; must be absent when `action` is REJECTED. When true, ttlSeconds must be absent (the redemption window collapses to the single use). When false, ttlSeconds is required and bounds the reuse window. Cross-field invariants are enforced by service-side validation.

ttl_seconds instance-attribute

ttl_seconds: NotRequired[int]

Approval lifetime in seconds, starting from when the decision is submitted. Required when `action` is APPROVED AND `singleUse` is false; must be absent when `action` is REJECTED or when `singleUse` is true (a single-use approval backs one executed action and the redemption window collapses). Cross-field invariants are enforced by service-side validation; the @range bound here is the operation-boundary check that always applies (a maximum of 4 hours).