{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Bivri refuses content longer than 200 graphemes, which is stricter than the 1000 the record schema permits: the record admits what any client may write, this method admits what this service accepts. A refusal is InvalidComment and nothing is written.",
      "errors": [
        {
          "description": "The authenticated member has not confirmed age and accepted the Terms and Privacy Policy.",
          "name": "ConsentRequired"
        },
        {
          "description": "Nobody is authenticated, so there is no repository to write to.",
          "name": "Unauthenticated"
        },
        {
          "description": "The comment is not one this service accepts — longer than 200 graphemes, or otherwise refused by the write boundary. Nothing was written.",
          "name": "InvalidComment"
        },
        {
          "description": "The commenter and the Artwork's author, or the author of the comment being replied to, have a block between them in either direction. Nothing was written.",
          "name": "Blocked"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "content": {
              "description": "Comment text.",
              "maxGraphemes": 1000,
              "maxLength": 10000,
              "type": "string"
            },
            "parent": {
              "description": "Strong reference to the comment being replied to. Omit for a top-level comment.",
              "ref": "com.atproto.repo.strongRef",
              "type": "ref"
            },
            "subject": {
              "description": "Strong reference to the artwork to comment on.",
              "ref": "com.atproto.repo.strongRef",
              "type": "ref"
            }
          },
          "required": [
            "subject",
            "content"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "cid": {
              "description": "CID of the comment record that was written.",
              "format": "cid",
              "type": "string"
            },
            "uri": {
              "description": "AT URI of the comment record that was written.",
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "uri",
            "cid"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "description": "Post a comment from the authenticated member's repository.",
  "id": "app.bivri.feed.createComment",
  "lexicon": 1
}
