space.highport.manage.connectSpace

lexicons.highport.space

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Connect a space so bard reads and publishes the authority's site and tile records from it. Authority only, and the delegation token must be the authority's own. Bard exchanges the token for a credential under its own key, registers for notifications, bootstraps the authority's repo, and records the space. Idempotent.",
      "errors": [
        {
          "description": "Only the space's authority may connect it.",
          "name": "NotSpaceAuthority"
        },
        {
          "description": "The delegation token's issuer is not the calling identity.",
          "name": "GrantIssuerMismatch"
        },
        {
          "description": "The delegation token is past its lifetime.",
          "name": "GrantExpired"
        },
        {
          "description": "The space host refused the exchange.",
          "name": "GrantRefused"
        },
        {
          "description": "The space's app access does not admit bard; the space is recorded and will sync once it does.",
          "name": "AppNotAllowed"
        },
        {
          "description": "This identity has reached its connected-space limit.",
          "name": "SpaceQuotaExceeded"
        },
        {
          "description": "Space support is disabled on this deployment.",
          "name": "SpacesDisabled"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "delegationToken": {
              "description": "A delegation token minted by the authority for this space; spent immediately and never stored.",
              "type": "string"
            },
            "space": {
              "description": "The space, at://{authority}/space/space.highport.sites.space/{skey}.",
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "space",
            "delegationToken"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "ref": "space.highport.defs#spaceView",
          "type": "ref"
        }
      },
      "type": "procedure"
    }
  },
  "id": "space.highport.manage.connectSpace",
  "lexicon": 1
}

Validate Record

Validate a record against space.highport.manage.connectSpace

Validation Options
Automatically resolve and include external schemas for full validation
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:ciygg5hma4q7ah2kxaszkyob
CID
bafyreihcyc2qtgtjgcuevf2gooxkodbhq24haqz5eu6czfsiyyx7en2su4
Indexed At
2026-09-01 13:03 UTC
AT-URI
at://did:plc:ciygg5hma4q7ah2kxaszkyob/com.atproto.lexicon.schema/space.highport.manage.connectSpace

Version History (2 versions)

Referenced Schemas (1)

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Give bard a delegation token so it can keep reading a space. Any member can call this with a token they issued. Bard trades it for a credential, renews its notification registration when due, and catches up on anything …

  • Hands the AppView access to one of the requesting user's personal spaces. The client mints a delegation token on its own PDS for the space and passes it here, because a delegation token is single-use and short-lived and…

  • Pull the authority's repo in a space now, instead of waiting for a write notification. Authority only.

  • What bard knows about a connected space: its sync state, when bard's credential expires, and its counts. Available to the space's authority and to viewers (identities with a grant inside the viewer window).

  • Issue a space credential (JWT) for a space the caller is a member of. The credential is multi-use until it expires and is bound to the caller's DPoP key (cnf.jkt, RFC 9449): it must be presented under the DPoP auth sche…

Lexicon Garden

@