AI and memory

chiefOfStaff.servers.update

Change how the Chief of Staff behaves in one Discord server: turn it on or off there, choose how it replies in channels that don't say otherwise, a default profile, and instructions for the whole server. Pass the server's revision as expectedRevision (0 the first time). Only the platform owner's workspace has a Chief of Staff. Administrator access required.

POST/api/v1/accounting/chiefOfStaff.servers.update

Permissions

accounting:readaccounting:writeaccounting:admin

Who can call it

admin

Retries

Idempotency key required, with expectedRevision

MCP

accounting_chief_of_staff_servers_update

Fields

  • guildIdstringRequired

    Matches ^\d{17,20}$

  • namestring or null

    A display name.

  • enabledboolean

    Off keeps the Chief of Staff out of the whole server: no replies and no scheduled posts.

  • replyModeenum

    How it replies in channels that don't say otherwise: conversation (answers mentions and replies and may join in on threads it follows), mentions (only when mentioned or replied to) or off.

    conversationmentionsoff
  • defaultProfileIdenum or null

    The profile for channels whose name picks none. Null uses the agent's default (general).

    generalhackathonorganizernews
  • instructionsstring

    Extra instructions the Chief of Staff follows there, in plain words. Empty clears them.

    at most 2000 characters

  • expectedRevisioninteger

    The revision you last read: 0 for something never saved. A different revision means someone else changed it first.

    0 to 9007199254740990

  • idempotencyKeystringRequired

    Any unique text you generate once per intended change, so a retried request only happens once. Send it as the Idempotency-Key header instead if you prefer; if you send both they must match.

    8–200 characters

Example

curl https://app.getoatmilk.com/api/v1/accounting/chiefOfStaff.servers.update \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "guildId": "11111111111111111"
}'
Response
{
  "data": { … }
}

Try it

Try it

Checks your input with this action’s real schema and answers like the API, with synthetic data. No key needed, and nothing changes.

POST/api/v1/accounting/chiefOfStaff.servers.update
curl https://app.getoatmilk.com/api/v1/accounting/chiefOfStaff.servers.update \
  -H "Authorization: Bearer $OATMILK_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: $(uuidgen)" \
  -d '{
  "guildId": "11111111111111111"
}'

More in AI and memory.