Skip to content

Update Desk Autonomy

PUT
/desk/autonomy

Decide what the desk may do WITHOUT asking this rep first.

This is not a preference. A lane of autopilot means the desk executes that decision type on the rep’s behalf, and the types that can be automated include ones that reach a real person - which is why POST /desk/decisions/ {id}/undo exists at all, and why this operation is not tiered a plain write.

lanes MERGES into the stored map rather than replacing it, and a lane asking for autopilot on a type with no executor is downgraded rather than refused - so a bulk save echoing back a stale lane still succeeds. An omitted autonomy_families leaves the family answers alone; an explicit {} clears them.

Authorizations

Parameters

Header Parameters

X-Target-Org-Id
Any of:
string

Request Body required

Which decisions the desk may act on WITHOUT asking the rep first.

A lane of autopilot means the desk executes that decision type on the rep’s behalf - including the ones that send. approve asks first, off stops the type being raised at all. The app validates both maps against its own DecisionType / AutonomyLane / lane-family vocabularies and answers 400 on anything it could not act on, so this surface forwards them as open maps rather than freezing a copy of three enums that move with the product.

An omitted autonomy_families means “I did not touch the family questions”, so a partial save cannot wipe them. An explicit {} clears them and hands every type back to its own lane - the only way back once a family has been answered.

object
autonomy_families
Any of:
object
key
additional properties
string
lanes
required

Map of decision_type -> lane (autopilot/approve/off).

object
key
additional properties
string

Responses

200

Successful Response

object
data
required

An open envelope for one desk object.

Open on purpose - see the module docstring. A rebuilder gets every field the desk returns, including ones added after this contract version.

object
key
additional properties
any
pagination
Any of:
object
has_next
required

Whether there are more pages

boolean
limit
required

Items per page

integer
next_cursor
Any of:
string
notes
Any of:
Array<string>
page
required

Current page number (1-indexed)

integer
total
required

Total number of items

integer
total_available
Any of:
integer
total_is_lower_bound
Any of:
boolean

422

Validation Error

object
detail
Array<object>
object
loc
required
Array
msg
required
string
type
required
string