full diff

social.colibri.beta.category.update

colibri.social +42 −2
From
bafyreihpj3swicwjy7432b5dc5o7xajpbz4huyxymenrxfobedfjmlcw4y indexed 2026-08-23 12:32 UTC View this version
To
bafyreihlpdq7gne2vhsurmgohdcyq67irpyx35jyidmpxq5nsmd6xbbd3m indexed 2026-10-15 15:34 UTC View this version

Compatibility

backward compatible Backward compatible. 18 non-breaking changes.

Non-breaking changes (18)
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.allowedMembers" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.allowedMembers:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.allowedRoles" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.allowedRoles:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.ownerOnly" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.visibleToMembers" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.visibleToMembers:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.visibleToRoles" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.update:input.visibleToRoles:items" }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.allowedMembers", kind: "prop", name: Some("allowedMembers") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.allowedRoles", kind: "prop", name: Some("allowedRoles") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.ownerOnly", kind: "prop", name: Some("ownerOnly") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.visibleToMembers", kind: "prop", name: Some("visibleToMembers") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.visibleToRoles", kind: "prop", name: Some("visibleToRoles") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input.allowedMembers", tgt: "social.colibri.beta.category.update:input.allowedMembers:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input.allowedRoles", tgt: "social.colibri.beta.category.update:input.allowedRoles:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input.visibleToMembers", tgt: "social.colibri.beta.category.update:input.visibleToMembers:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.update:input.visibleToRoles", tgt: "social.colibri.beta.category.update:input.visibleToRoles:items", kind: "items", name: None }

Migration guidance

Added

  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.allowedMembers" }
  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.allowedMembers:items" }
  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.allowedRoles" }
  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.allowedRoles:items" }
  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.ownerOnly" }
  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.visibleToMembers" }
  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.visibleToMembers:items" }
  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.visibleToRoles" }
  • AddedVertex { vertex_id: "social.colibri.beta.category.update:input.visibleToRoles:items" }

Notes

  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.allowedMembers", kind: "prop", name: Some("allowedMembers") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.allowedRoles", kind: "prop", name: Some("allowedRoles") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.ownerOnly", kind: "prop", name: Some("ownerOnly") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.visibleToMembers", kind: "prop", name: Some("visibleToMembers") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input", tgt: "social.colibri.beta.category.update:input.visibleToRoles", kind: "prop", name: Some("visibleToRoles") }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input.allowedMembers", tgt: "social.colibri.beta.category.update:input.allowedMembers:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input.allowedRoles", tgt: "social.colibri.beta.category.update:input.allowedRoles:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input.visibleToMembers", tgt: "social.colibri.beta.category.update:input.visibleToMembers:items", kind: "items", name: None }
  • Non-breaking: AddedEdge { src: "social.colibri.beta.category.update:input.visibleToRoles", tgt: "social.colibri.beta.category.update:input.visibleToRoles:items", kind: "items", name: None }

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
5 "description": "Updates a category's name.",
5 "description": "Updates a category's name and the permissions its channels inherit.",
66 "errors": [
77 {
88 "description": "The request is missing, malformed, or unverifiable service auth.",
99 "name": "AuthRequired"
1010 },
1111 {
12 "description": "The caller lacks the category.update permission.",
12 "description": "The caller lacks the category.update permission, or grants visibility to a role at or above their own highest position.",
1313 "name": "Forbidden"
1414 },
1515 {
1616 "description": "No community exists at the given DID.",
1717 "name": "CommunityNotFound"
1818 },
1919 {
2020 "description": "No category exists at the given record key.",
2121 "name": "CategoryNotFound"
2222 },
2323 {
2424 "description": "The AppView cannot act as the community because its stored credentials are missing or unusable.",
2525 "name": "CredentialsUnavailable"
2626 }
2727 ],
2828 "input": {
2929 "encoding": "application/json",
3030 "schema": {
3131 "properties": {
32 "allowedMembers": {
33 "description": "Members allowed to post in the category's channels in addition to allowedRoles. Absent leaves the current value unchanged.",
34 "items": {
35 "description": "A member permitted to post.",
36 "format": "did",
37 "type": "string"
38 },
39 "type": "array"
40 },
41 "allowedRoles": {
42 "description": "Roles allowed to post in the category's channels. Absent leaves the current value unchanged.",
43 "items": {
44 "description": "A role permitted to post.",
45 "format": "record-key",
46 "type": "string"
47 },
48 "type": "array"
49 },
3250 "category": {
3351 "description": "The category's record key.",
3452 "format": "record-key",
3553 "type": "string"
3654 },
3755 "community": {
3856 "description": "The community the category belongs to.",
3957 "format": "did",
4058 "type": "string"
4159 },
4260 "name": {
4361 "description": "The category's new name.",
4462 "maxLength": 32,
4563 "minLength": 1,
4664 "type": "string"
65 },
66 "ownerOnly": {
67 "description": "Whether only community admins may post in the category's channels. Absent leaves the current value unchanged.",
68 "type": "boolean"
69 },
70 "visibleToMembers": {
71 "description": "Members that may read the category's channels in addition to visibleToRoles. Absent leaves the current value unchanged.",
72 "items": {
73 "description": "A member permitted to read.",
74 "format": "did",
75 "type": "string"
76 },
77 "type": "array"
78 },
79 "visibleToRoles": {
80 "description": "Roles that may read the category's channels. Absent leaves the current value unchanged.",
81 "items": {
82 "description": "A role permitted to read.",
83 "format": "record-key",
84 "type": "string"
85 },
86 "type": "array"
4787 }
4888 },
4989 "required": [
5090 "community",
5191 "category"
5292 ],
5393 "type": "object"
5494 }
5595 },
5696 "output": {
5797 "encoding": "application/json",
5898 "schema": {
5999 "properties": {
60100 "category": {
61101 "description": "The updated category.",
62102 "ref": "social.colibri.beta.community.defs#categoryView",
63103 "type": "ref"
64104 }
65105 },
66106 "required": [
67107 "category"
68108 ],
69109 "type": "object"
70110 }
71111 },
72112 "type": "procedure"
73113 }
74114 },
75115 "id": "social.colibri.beta.category.update",
76116 "lexicon": 1
77117}

Compare other versions