org.simocracy.alias

gainforest.earth

Documentation

A globally unique URL slug pointing at a gathering or sim. Written by the facilitator account so that PDS-level rkey uniqueness inside the facilitator's repo gives us a single global namespace. The rkey IS the slug — there is at most one alias record per slug across the entire platform.

main record

A globally unique URL slug pointing at a gathering or sim. Written by the facilitator account so that PDS-level rkey uniqueness inside the facilitator's repo gives us a single global namespace. The rkey IS the slug — there is at most one alias record per slug across the entire platform.

Record Key any Any valid record key

Properties

createdAt string datetime Required

Timestamp when the alias was claimed.

kind string Required

Which collection the target lives in. Used by routers to decide whether the alias resolves under /events/<slug> or /sims/<slug>.

Known values: gathering, sim
owner string did Required

DID of the user who claimed this slug. Must equal the DID in the target record's repo. Used for authorising release without re-fetching the target.

slug string Required

URL-safe slug. Must equal the rkey of this record. Lowercase letters, digits, and hyphens only; no leading or trailing hyphen. Mirrored as a field so consumers that don't expose rkey can still read the slug.

maxLength: 64 bytesminLength: 2 bytes
View raw schema
{
  "key": "any",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "slug",
      "kind",
      "target",
      "owner",
      "createdAt"
    ],
    "properties": {
      "kind": {
        "type": "string",
        "description": "Which collection the target lives in. Used by routers to decide whether the alias resolves under /events/<slug> or /sims/<slug>.",
        "knownValues": [
          "gathering",
          "sim"
        ]
      },
      "slug": {
        "type": "string",
        "maxLength": 64,
        "minLength": 2,
        "description": "URL-safe slug. Must equal the rkey of this record. Lowercase letters, digits, and hyphens only; no leading or trailing hyphen. Mirrored as a field so consumers that don't expose rkey can still read the slug."
      },
      "owner": {
        "type": "string",
        "format": "did",
        "description": "DID of the user who claimed this slug. Must equal the DID in the target record's repo. Used for authorising release without re-fetching the target."
      },
      "target": {
        "ref": "com.atproto.repo.strongRef",
        "type": "ref",
        "description": "StrongRef to the gathering or sim record this slug points to."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Timestamp when the alias was claimed."
      }
    }
  },
  "description": "A globally unique URL slug pointing at a gathering or sim. Written by the facilitator account so that PDS-level rkey uniqueness inside the facilitator's repo gives us a single global namespace. The rkey IS the slug — there is at most one alias record per slug across the entire platform."
}

Lexicon Garden

@