social.colibri.labeler.linkExternalAccount

colibri.social

{
  "id": "social.colibri.labeler.linkExternalAccount",
  "defs": {
    "main": {
      "type": "procedure",
      "input": {
        "schema": {
          "type": "object",
          "required": [
            "platform"
          ],
          "properties": {
            "native": {
              "type": "boolean",
              "description": "True when the caller is a native app that expects the completed flow to hand back control over a custom URL scheme rather than a web redirect."
            },
            "platform": {
              "type": "string",
              "description": "The external platform to link.",
              "knownValues": [
                "opencollective"
              ]
            }
          }
        },
        "encoding": "application/json"
      },
      "errors": [
        {
          "name": "AuthRequired",
          "description": "Missing, malformed, or unverifiable service auth."
        },
        {
          "name": "InvalidRequest",
          "description": "A parameter was missing or malformed."
        },
        {
          "name": "NotEnabled",
          "description": "This labeler is not configured to link the requested platform."
        }
      ],
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "authorizeUrl"
          ],
          "properties": {
            "authorizeUrl": {
              "type": "string",
              "format": "uri",
              "description": "Where to send the user to authorize the link. Single use and short lived."
            }
          }
        },
        "encoding": "application/json"
      },
      "description": "Starts linking the calling account to an account on an external funding platform, so the labeler can issue supporter badges automatically. Returns the platform's authorization URL, which the client opens in a browser. The caller's identity comes from service auth (aud = the labeler's did with the `#atproto_labeler` fragment, lxm = this method), and the returned URL carries a signed, short-lived state token binding the flow to that DID. On success the labeler publishes a `social.colibri.labeler.attestation` record and evaluates the subject's entitlements immediately. This grants no privileged access: any authenticated account may link itself, and only itself."
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1,
  "revision": 1
}

Validate Record

Validate a record against social.colibri.labeler.linkExternalAccount

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:mprdjqjluoswa7awzggaggj3
CID
bafyreiebp3w6w3aypxunxuifobedmixcl7v2prvainnhtlfb7iqon7thne
Indexed At
2026-08-15 21:21 UTC
AT-URI
at://did:plc:mprdjqjluoswa7awzggaggj3/com.atproto.lexicon.schema/social.colibri.labeler.linkExternalAccount

Lexicon Garden

@