eu.atcommons.member

atcommons.eu

Documentation

A self-asserted declaration that the account is part of an AT Protocol community commons, in one or more countries. Written by the member to their own repository; nobody else can add or remove it. Absence of a record means nothing — it is not evidence of non-membership.

main record

A self-asserted declaration that the account is part of an AT Protocol community commons, in one or more countries. Written by the member to their own repository; nobody else can add or remove it. Absence of a record means nothing — it is not evidence of non-membership.

Record Key tid Timestamp-based ID

Properties

community string did Required

DID of the community being joined. A DID rather than a handle so the declaration survives the community changing domains.

countries array of string Required

Countries the member is part of the community in. Accumulating and sticky: joining a second country adds to this list rather than replacing it, and moving away does not remove one. Membership is not residency — someone who moves abroad stays part of the community they joined. There is deliberately no primary country here; current location, including which one is primary, belongs in id.sifa.profile.location, which the member maintains for themselves.

maxLength: 8 itemsminLength: 1 items
createdAt string datetime Required

Client-declared timestamp of when the record was created.

View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "community",
      "countries",
      "createdAt"
    ],
    "properties": {
      "community": {
        "type": "string",
        "format": "did",
        "description": "DID of the community being joined. A DID rather than a handle so the declaration survives the community changing domains."
      },
      "countries": {
        "type": "array",
        "items": {
          "type": "string",
          "maxLength": 2,
          "minLength": 2,
          "description": "ISO 3166-1 alpha-2 country code, lowercase (e.g. \"nl\", \"be\"). Never a region or continent code — an EU-wide item is expressed with a scope field on that item's own record type, not by putting \"eu\" here."
        },
        "maxLength": 8,
        "minLength": 1,
        "description": "Countries the member is part of the community in. Accumulating and sticky: joining a second country adds to this list rather than replacing it, and moving away does not remove one. Membership is not residency — someone who moves abroad stays part of the community they joined. There is deliberately no primary country here; current location, including which one is primary, belongs in id.sifa.profile.location, which the member maintains for themselves."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime",
        "description": "Client-declared timestamp of when the record was created."
      }
    }
  },
  "description": "A self-asserted declaration that the account is part of an AT Protocol community commons, in one or more countries. Written by the member to their own repository; nobody else can add or remove it. Absence of a record means nothing — it is not evidence of non-membership."
}

Lexicon Garden

@