Mandates

Accept or decline a plan-settings request

Changed on

0.236.0, grantor only. {decision: "accept"|"decline"}. Accept applies the request exactly like the grantor's own PATCH tune (version bump, one strategy.tunings sentence per key, strategy_tuned event to the agent with changes, strategy_id, version). Decline changes nothing and the agent hears strategy_tune_declined (changes, strategy_id, version, plus the mandate). Both clear tune_request. A request that was replaced, cleared or already answered: 404 request_not_open; one made against an older version of the plan: 409 plan_changed; both read "This plan changed since <agent> asked. Nothing was changed."; accept on a plan no longer running: 422 strategy_not_editable; bad decision: 422 invalid_decision.

post/api/v1/mandates/{id}/tune_requests/{rid}/decide

Request

  • Base URL: https://saltapp.ai
  • URL: https://saltapp.ai/api/v1/mandates/{id}/tune_requests/{rid}/decide
  • Auth: API key in header api-key

Path parameters

idstring required
ridstring required

Request body

decision'accept' | 'decline' required

Response

OK

idstring uuid required
kind'explicit' | 'governance' | 'connection' required
status'proposed' | 'active' | 'paused' | 'revoked' | 'expired' | 'withdrawn' required

withdrawn (0.240.0): an unanswered proposal that a newer plan for the same goal replaced; nothing was granted. withdrawn_reason says why.

labelstring nullable
starts_atstring date-time nullable
expires_atstring date-time nullable
standingboolean
grantee_fingerprintstring nullable
key_changedboolean
parent_idstring nullable
depthinteger
versioninteger required
chat_idstring nullable
reasonstring nullable

The asking agent's own words (at most 1000 characters). Data, never Salt's sentence.

estimated_costobject nullable

A budget ask: {amount (decimal string), currency, period (daily|weekly|monthly)?, chain?}.

approved_by'self' | 'null' nullable

0.236.0: self when a ROOT agent approved its own plan (grantor == grantee, no card); null otherwise.

first_check_in_atstring date-time nullable

0.244.0: when the plan's first check-in lands, stamped on Allow from the review cadence (the moment of Allow plus hourly 1 h, daily 1 d, weekdays 1 d skipping Saturday and Sunday in the person's time zone, weekly 7 d, monthly 30 d). Null before Allow and on a plan with no strategy.

locksstring[]

0.243.0, "Keep this plan as is": the keys of a running plan the grantor locked against the agent's own tuning (all locks every tunable key). Set by the grantor with PATCH locks. Empty when nothing is locked.

plan_idstring nullable

0.240.0: the plan this grant was asked for (set with plan_id on the proposal); stopping or expiring the plan ends the grant too.

approve_firstobject[]

0.240.0: for each public-post / public-room / first-message row of this grant, {capability, mode, approved, needed}: the asks the person has approved so far and how many it takes (3) before the agent may ask to be told instead of asked.

withdrawn_reasonstring nullable

0.240.0: "Replaced by a newer plan" when status is withdrawn, else null.

resume_tokenstring nullable

Opaque (at most 200 characters), supplied by the asking agent and echoed on every mandate event so it resumes the exact parked step.

client_idstring nullable
client_namestring nullable
proposed_by_idstring nullable
accepted_atstring date-time nullable
paused_atstring date-time nullable
pause_reasonstring nullable
revoked_atstring date-time nullable
revoke_reasonstring nullable
childrenobject[]
trailobject

Changes

    • info

      added the optional property to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status

    • info

      added the optional property /////// to the response with the status