{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Pushes the requesting user's mute list and list of left threads to the AppView, so they take effect immediately instead of waiting for a sync notification. The client writes the underlying mute records to its own personal space first, then calls this. Each list the request carries replaces the AppView's whole copy of that list.",
      "errors": [
        {
          "description": "The request has no valid service auth.",
          "name": "AuthRequired"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "leftThreads": {
              "description": "The complete, replacement list of left threads. Leave it out to keep the list as it is. An entry for a thread where someone pinged the user after its leftAt is dropped, since that ping brought the user back.",
              "items": {
                "ref": "social.colibri.beta.actor.defs#leftThread",
                "type": "ref"
              },
              "type": "array"
            },
            "mutes": {
              "description": "The complete, replacement mute list. Leave it out to keep the mute list as it is.",
              "items": {
                "ref": "social.colibri.beta.actor.defs#mute",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "preferences": {
              "description": "The requesting user's settings, after the update.",
              "ref": "social.colibri.beta.actor.defs#preferences",
              "type": "ref"
            }
          },
          "required": [
            "preferences"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "social.colibri.beta.actor.putMutes",
  "lexicon": 1
}
