app.bivri.actor.putPreferences

lexicons.bivri.app

Documentation

Replace the authenticated account's own preferences. Every group sent is replaced whole and every group omitted is left as it was, so a client that knows about one group cannot silently reset another it has never heard of. Sending the same preferences twice is the same as sending them once. Preferences are the account's alone: nothing here names another account, and nothing here is served to one.

main procedure

Replace the authenticated account's own preferences. Every group sent is replaced whole and every group omitted is left as it was, so a client that knows about one group cannot silently reset another it has never heard of. Sending the same preferences twice is the same as sending them once. Preferences are the account's alone: nothing here names another account, and nothing here is served to one.

Input

Encodingapplication/json

Output

Encodingapplication/json

Errors

ConsentRequired The authenticated member has not confirmed age and accepted the Terms and Privacy Policy.
Unauthenticated Nobody is authenticated, so there are no preferences to replace.
InvalidInput The request body is not an object, a notification or content filter group is invalid, or interests, mutedWords or mutedTags is not a bounded array of non-empty strings. Nothing was stored.
UnavailableTag At least one interest is not a Tag present in the indexed Artwork catalog. Nothing was stored.
Try It

Requests are sent directly from your browser. Some servers may block requests due to CORS.

Base URL for XRPC calls (e.g., https://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "description": "Replace the authenticated account's own preferences. Every group sent is replaced whole and every group omitted is left as it was, so a client that knows about one group cannot silently reset another it has never heard of. Sending the same preferences twice is the same as sending them once. Preferences are the account's alone: nothing here names another account, and nothing here is served to one.",
  "errors": [
    {
      "description": "The authenticated member has not confirmed age and accepted the Terms and Privacy Policy.",
      "name": "ConsentRequired"
    },
    {
      "description": "Nobody is authenticated, so there are no preferences to replace.",
      "name": "Unauthenticated"
    },
    {
      "description": "The request body is not an object, a notification or content filter group is invalid, or interests, mutedWords or mutedTags is not a bounded array of non-empty strings. Nothing was stored.",
      "name": "InvalidInput"
    },
    {
      "description": "At least one interest is not a Tag present in the indexed Artwork catalog. Nothing was stored.",
      "name": "UnavailableTag"
    }
  ],
  "input": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "contentFilters": {
          "description": "Replace the caller's content filter group. All four labels are required together. Omit this group to leave it unchanged.",
          "ref": "app.bivri.actor.defs#contentFilterPreferences",
          "type": "ref"
        },
        "interests": {
          "description": "Replace the caller's complete interest Tag set. Omit this group to leave it unchanged; send an empty array to clear it.",
          "ref": "app.bivri.actor.defs#interestPreferences",
          "type": "ref"
        },
        "mutedTags": {
          "description": "Replace the caller's complete muted Tag set. Omit this group to leave it unchanged; send an empty array to clear it.",
          "ref": "app.bivri.actor.defs#mutedTagPreferences",
          "type": "ref"
        },
        "mutedWords": {
          "description": "Replace the caller's complete muted word set. Omit this group to leave it unchanged; send an empty array to clear it.",
          "ref": "app.bivri.actor.defs#mutedWordPreferences",
          "type": "ref"
        },
        "notifications": {
          "ref": "app.bivri.actor.defs#notificationPreferences",
          "type": "ref"
        }
      },
      "type": "object"
    }
  },
  "output": {
    "encoding": "application/json",
    "schema": {
      "properties": {
        "contentFilters": {
          "description": "The caller's stored content filter group, or the defaults when none was stored.",
          "ref": "app.bivri.actor.defs#contentFilterPreferences",
          "type": "ref"
        },
        "interests": {
          "description": "The caller's complete stored interest Tag set.",
          "ref": "app.bivri.actor.defs#interestPreferences",
          "type": "ref"
        },
        "mutedTags": {
          "description": "The caller's complete stored muted Tag set, normalized and in lexical order.",
          "ref": "app.bivri.actor.defs#mutedTagPreferences",
          "type": "ref"
        },
        "mutedWords": {
          "description": "The caller's complete stored muted word set, normalized and in lexical order.",
          "ref": "app.bivri.actor.defs#mutedWordPreferences",
          "type": "ref"
        },
        "notifications": {
          "ref": "app.bivri.actor.defs#notificationPreferences",
          "type": "ref"
        }
      },
      "required": [
        "notifications"
      ],
      "type": "object"
    }
  },
  "type": "procedure"
}

Lexicon Garden

@