fyi.opensocial.requestJoin

Ask to join a group, optionally redeeming an invitation. An invite the group has sent the caller, neither taken back nor past its expiresAt, admits them at once, whatever the group's join policy, with the group's default roles; one named that is not such an invite is refused. Unnamed, a waiting invite is redeemed all the same. No role required; authenticated as the requester.

Details · procedure
Kindprocedure
Authorityopensocial.fyi
Indexed
cid bafyreiaofa3ho6jck7t7x2hw5idhp23uv75w2szx2js6j5gsssctclolxi

Checks

Valid
  • unlimited-string defs.main.output.schema.properties.statusNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Ask to join a group, optionally redeeming an invitation. An invite the group has sent the caller, neither taken back nor past its expiresAt, admits them at once, whatever the group's join policy, with the group's default roles; one named that is not such an invite is refused. Unnamed, a waiting invite is redeemed all the same. No role required; authenticated as the requester.",
      "errors": [
        {
          "description": "The group isn't hosted here.",
          "name": "GroupNotFound"
        },
        {
          "description": "The invitation is expired, revoked, or not addressed to the caller.",
          "name": "InvalidInvite"
        },
        {
          "description": "The group requires an invitation.",
          "name": "JoinClosed"
        },
        {
          "description": "The caller is a member already.",
          "name": "AlreadyMember"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "group": {
              "description": "The group DID. Every method is served by the group's host and authorized against that group's roles.",
              "format": "did",
              "type": "string"
            },
            "invite": {
              "description": "An invitation from this group to the caller.",
              "format": "at-uri",
              "type": "string"
            },
            "message": {
              "maxGraphemes": 2000,
              "maxLength": 20000,
              "type": "string"
            }
          },
          "required": [
            "group"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "membership": {
              "description": "Present when admitted.",
              "ref": "com.atproto.repo.strongRef",
              "type": "ref"
            },
            "request": {
              "description": "Present when pending.",
              "ref": "fyi.opensocial.defs#joinRequest",
              "type": "ref"
            },
            "status": {
              "knownValues": [
                "pending",
                "admitted"
              ],
              "type": "string"
            }
          },
          "required": [
            "status"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "fyi.opensocial.requestJoin",
  "lexicon": 1
}