full diff

social.colibri.beta.category.create

colibri.social +41 −1
From
bafyreibdytdpsw74ynmtk4h464d7dzidhsgvxzaktdx4fc3quhb2432vcm indexed 2026-08-23 12:32 UTC View this version
To
bafyreihsvssoc5ykmn4ziyawv4xm7nxsa543xjoafz5lipllkmdwupl7rm 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.create:input.allowedMembers" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.create:input.allowedMembers:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.create:input.allowedRoles" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.create:input.allowedRoles:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.create:input.ownerOnly" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.create:input.visibleToMembers" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.create:input.visibleToMembers:items" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.create:input.visibleToRoles" }
  • AddedVertex AddedVertex { vertex_id: "social.colibri.beta.category.create:input.visibleToRoles:items" }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input", tgt: "social.colibri.beta.category.create:input.allowedMembers", kind: "prop", name: Some("allowedMembers") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input", tgt: "social.colibri.beta.category.create:input.allowedRoles", kind: "prop", name: Some("allowedRoles") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input", tgt: "social.colibri.beta.category.create:input.ownerOnly", kind: "prop", name: Some("ownerOnly") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input", tgt: "social.colibri.beta.category.create:input.visibleToMembers", kind: "prop", name: Some("visibleToMembers") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input", tgt: "social.colibri.beta.category.create:input.visibleToRoles", kind: "prop", name: Some("visibleToRoles") }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input.allowedMembers", tgt: "social.colibri.beta.category.create:input.allowedMembers:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input.allowedRoles", tgt: "social.colibri.beta.category.create:input.allowedRoles:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input.visibleToMembers", tgt: "social.colibri.beta.category.create:input.visibleToMembers:items", kind: "items", name: None }
  • AddedEdge AddedEdge { src: "social.colibri.beta.category.create:input.visibleToRoles", tgt: "social.colibri.beta.category.create:input.visibleToRoles:items", kind: "items", name: None }

Migration guidance

Added

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

Notes

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

Changes

11{
22 "$type": "com.atproto.lexicon.schema",
33 "defs": {
44 "main": {
55 "description": "Creates a category in a community.",
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.create permission.",
12 "description": "The caller lacks the category.create 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": "The AppView cannot act as the community because its stored credentials are missing or unusable.",
2121 "name": "CredentialsUnavailable"
2222 }
2323 ],
2424 "input": {
2525 "encoding": "application/json",
2626 "schema": {
2727 "properties": {
28 "allowedMembers": {
29 "description": "Members allowed to post in the category's channels in addition to allowedRoles.",
30 "items": {
31 "description": "A member permitted to post.",
32 "format": "did",
33 "type": "string"
34 },
35 "type": "array"
36 },
37 "allowedRoles": {
38 "description": "Roles allowed to post in the category's channels. Empty means no role restriction. A channel that sets its own posting restriction overrides this.",
39 "items": {
40 "description": "A role permitted to post.",
41 "format": "record-key",
42 "type": "string"
43 },
44 "type": "array"
45 },
2846 "community": {
2947 "description": "The community to create the category in.",
3048 "format": "did",
3149 "type": "string"
3250 },
3351 "name": {
3452 "description": "The category's name.",
3553 "maxLength": 32,
3654 "minLength": 1,
3755 "type": "string"
56 },
57 "ownerOnly": {
58 "description": "Whether only community admins may post in the category's channels. A channel that sets its own posting restriction overrides this.",
59 "type": "boolean"
60 },
61 "visibleToMembers": {
62 "description": "Members that may read the category's channels in addition to visibleToRoles.",
63 "items": {
64 "description": "A member permitted to read.",
65 "format": "did",
66 "type": "string"
67 },
68 "type": "array"
69 },
70 "visibleToRoles": {
71 "description": "Roles that may read the category's channels. Empty or absent means every member may read them. A channel with its own non-empty visibleToRoles or visibleToMembers overrides this. A non-empty list makes the category's other channels private, enforced the same way as a private channel.",
72 "items": {
73 "description": "A role permitted to read.",
74 "format": "record-key",
75 "type": "string"
76 },
77 "type": "array"
3878 }
3979 },
4080 "required": [
4181 "community",
4282 "name"
4383 ],
4484 "type": "object"
4585 }
4686 },
4787 "output": {
4888 "encoding": "application/json",
4989 "schema": {
5090 "properties": {
5191 "category": {
5292 "description": "The newly created category.",
5393 "ref": "social.colibri.beta.community.defs#categoryView",
5494 "type": "ref"
5595 }
5696 },
5797 "required": [
5898 "category"
5999 ],
60100 "type": "object"
61101 }
62102 },
63103 "type": "procedure"
64104 }
65105 },
66106 "id": "social.colibri.beta.category.create",
67107 "lexicon": 1
68108}

Compare other versions