fyi.opensocial.provisionGroup
Host-level: an app creates a group for a person and gets its own OAuth session on it. Authenticated twice: the person asking, by service auth from their PDS (they become the founder), and the app, by OAuth client authentication in the body (a client assertion for a confidential client) with a DPoP proof in the `DPoP` header, exactly as at the token endpoint. The app must be one this host provisions for. Returns the group and a token response bound to the proof's key, issued to the app's client id: refreshed, listed and revoked like any other session on the group.
Details · procedure
| Kind | procedure |
|---|---|
| Authority | opensocial.fyi |
| Indexed |
Procedure
procedure · POSTInput
application/jsonclientAssertion
stringmaxLength: 8192
clientAssertionType
stringmaxLength: 256
The app's OAuth client id, its client metadata's URL.
maxLength: 2048
description
stringmaxLength: 3000maxGraphemes: 300
maxLength: 640maxGraphemes: 64
joinPolicy
stringknownValues: fyi.opensocial.profile#open | fyi.opensocial.profile#request | fyi.opensocial.profile#invite
metaReadableBy
arrayThe OAuth scope the app wants on the group. Must include `atproto`, and every entry must be one the app's client metadata declares.
maxLength: 2048
stewards
arrayAccounts that run the group alongside the founder.
Output
application/jsonErrors
UntrustedApp
No description in schema.
InvalidScope
No description in schema.
use_dpop_nonce
No description in schema.
HandleTaken
No description in schema.
Similar lexicons
semantic matchLexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
fyi.opensocial.createGroup
procedureHost-level: create a new group on this host. Authenticated as the founder (service auth from their PDS). The founder and any listed stewards become its first admins. Mints the group DID, creates the meta and members spaces, writes the bootstrap records and, for a discoverable group, a declaration. Modality spaces are left to the apps that use them (createSpace).
-
fyi.opensocial.getGroupAuth
procedureObtain a DPoP-bound OAuth access token to act as the group DID. The host is the group's PDS and authorization server: the caller authenticates with their personal account (service auth) and presents a DPoP proof; the host issues a short-lived token for the group DID whose space: scopes are exactly what the caller's roles are granted by the space's access record. No group password is involved. The same token may write those kinds of record in the group's public repo too (repoCollections): publish
-
Start a group on Grain's group host. The host creates the group with the viewer as its founder and hands Grain its own session on it (fyi.opensocial.provisionGroup); Grain then gives the group its pool and its Grain profile. The viewer never leaves Grain.