SIGNALS Documentation
API Reference

Delegations

Delegate one actionable decision or arrange time-bounded approval cover across all or one chain.

Overview

A delegation lets another active internal account act for an approver. Signals exposes two operator workflows: delegate the currently selected assignment from the Approvals Inbox, or configure time-bounded cover from Approval Chains.

Delegation does not replace the original approver in the history. The inbox records the original approver, delegate, acting account, window, and status.

Delegate one decision

Route: /approvals

When a selected request has an assignment you can action, choose More → Delegate, select a different active colleague, and choose Send to colleague. The delegation begins immediately and ends at the assignment expiry, then the request expiry, or one day later when neither expiry exists.

The delegated assignment appears in the delegate's policy-scoped inbox. An authorised original approver can revoke active delegation from the selected request’s More menu.

Arrange delegation cover

Route: /admin/settings/approval-chains

The Chains and Delegations column lists delegation cover. People with approvals.manage can add cover with:

  • an original approver and a different delegate approver;
  • explicit start and end times;
  • a scope of All chains or One chain, where one chain selects a specific chain version;
  • an optional reason.

Active cover can be edited or revoked. Revocation removes the authority derived from that cover; it does not rewrite decisions already recorded.

Permissions and limits

Ability Grants
approvals.act Delegate an assignment you can currently action.
approvals.manage Configure chain delegation cover.

Delegates must be active internal user accounts. You cannot delegate to yourself, and the approval engine checks the assignment again when the action is submitted.

Chain-delegation API

The platform page above covers the inbox assignment workflow and the admin cover UI. Integrations manage the same pre-authorised cover through the chain-delegation REST family. These five routes are chain-level only (rows with no approval_request_id or approval_assignment_id); assignment-scoped delegation stays on api.v1.approval_requests.assignments.delegations.*.

Reads require the approvals:read token ability and approval-chain management permission. Writes require approvals:write and the same management gate. Overlapping windows or illegal state transitions return 409 with approval_delegation_conflict.

Route name Method and path Purpose
api.v1.approval_chain_delegations.index GET /api/v1/approval-chain-delegations List audit-retained chain-level cover, filterable by definition, accounts, and status.
api.v1.approval_chain_delegations.store POST /api/v1/approval-chain-delegations Create time-bounded cover for all chains or one definition.
api.v1.approval_chain_delegations.show GET /api/v1/approval-chain-delegations/{approvalDelegation} Retrieve one chain-level cover record. Assignment-scoped rows return 404.
api.v1.approval_chain_delegations.update PUT /api/v1/approval-chain-delegations/{approvalDelegation} Replace the accounts, window, scope, and reason of active cover.
api.v1.approval_chain_delegations.revoke DELETE /api/v1/approval-chain-delegations/{approvalDelegation} Revoke cover while retaining its lifecycle history. Derived assignment authority is dropped; already-recorded decisions are not rewritten.

Store, update, and revoke honour Idempotency-Key.