social.colibri.labeler.linkExternalAccount

colibri.social

Documentation

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.

main procedure

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.

Input

Encodingapplication/json
native boolean Optional

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 string Required

The external platform to link.

Output

Encodingapplication/json
authorizeUrl stringuri Required

Where to send the user to authorize the link. Single use and short lived.

Errors

AuthRequired Missing, malformed, or unverifiable service auth.
InvalidRequest A parameter was missing or malformed.
NotEnabled This labeler is not configured to link the requested platform.
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://bsky.social)
Enter valid JSON for the request body
View raw schema
{
  "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."
}

Lexicon Garden

@