social.colibri.beta.community.listMigratable

colibri.social

Documentation

Lists the repo-backed communities the requesting user belongs to that have not been migrated onto spaces yet, so a client can offer them as a choice rather than asking for a handle. The AppView reads this live from the user's own public repo and each candidate's public repo, because nothing about an unmigrated community is indexed. Only a community that holds its own DID is listed: an older community that lived in its owner's repo cannot be migrated.

main query

Lists the repo-backed communities the requesting user belongs to that have not been migrated onto spaces yet, so a client can offer them as a choice rather than asking for a handle. The AppView reads this live from the user's own public repo and each candidate's public repo, because nothing about an unmigrated community is indexed. Only a community that holds its own DID is listed: an older community that lived in its owner's repo cannot be migrated.

Parameters

includeUnadministered boolean Optional

Whether to include communities the user belongs to but cannot migrate. They come back with viewerIsAdmin false.

Output

Encodingapplication/json
communities array Required

Unmigrated legacy communities, in the user's preferred sidebar order where the legacy repo recorded one. This is not paginated: a user's community list is small and every entry costs a live read.

unreadable array Optional

Communities named by the user's repo whose own repo could not be read, so the client can say so instead of silently dropping them.

Errors

AuthRequired The request is missing, malformed, or unverifiable service auth.
UpstreamFailure The requesting user's own PDS could not be read, so no candidate list could be built at all.
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://api.bsky.social)
Parameters
Whether to include communities the user belongs to but cannot migrate. They come back with viewerIsAdmin false.
View raw schema
{
  "type": "query",
  "errors": [
    {
      "name": "AuthRequired",
      "description": "The request is missing, malformed, or unverifiable service auth."
    },
    {
      "name": "UpstreamFailure",
      "description": "The requesting user's own PDS could not be read, so no candidate list could be built at all."
    }
  ],
  "output": {
    "schema": {
      "type": "object",
      "required": [
        "communities"
      ],
      "properties": {
        "unreadable": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "did",
            "description": "A community DID whose repo could not be read."
          },
          "description": "Communities named by the user's repo whose own repo could not be read, so the client can say so instead of silently dropping them."
        },
        "communities": {
          "type": "array",
          "items": {
            "ref": "social.colibri.beta.community.defs#legacyCommunityView",
            "type": "ref",
            "description": "An unmigrated legacy community."
          },
          "description": "Unmigrated legacy communities, in the user's preferred sidebar order where the legacy repo recorded one. This is not paginated: a user's community list is small and every entry costs a live read."
        }
      }
    },
    "encoding": "application/json"
  },
  "parameters": {
    "type": "params",
    "required": [],
    "properties": {
      "includeUnadministered": {
        "type": "boolean",
        "default": false,
        "description": "Whether to include communities the user belongs to but cannot migrate. They come back with viewerIsAdmin false."
      }
    }
  },
  "description": "Lists the repo-backed communities the requesting user belongs to that have not been migrated onto spaces yet, so a client can offer them as a choice rather than asking for a handle. The AppView reads this live from the user's own public repo and each candidate's public repo, because nothing about an unmigrated community is indexed. Only a community that holds its own DID is listed: an older community that lived in its owner's repo cannot be migrated."
}

Lexicon Garden

@