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
application/jsonnative
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
application/jsonauthorizeUrl
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.
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."
}