city.atls.actor.location

atls.city

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "address": {
      "description": "A physical location (mirrors community.lexicon.location.address).",
      "properties": {
        "country": {
          "description": "ISO 3166 country code.",
          "maxLength": 10,
          "minLength": 2,
          "type": "string"
        },
        "locality": {
          "description": "City or town name.",
          "type": "string"
        },
        "name": {
          "description": "Display name of the location.",
          "type": "string"
        },
        "region": {
          "description": "Administrative region (e.g. state/province).",
          "type": "string"
        }
      },
      "required": [
        "country"
      ],
      "type": "object"
    },
    "atlasKey": {
      "description": "Optional ATlas canonical location key (e.g. US-OR-Portland). When present, ATlas uses this for exact matching instead of fuzzy text matching. Look up valid keys at https://atls.city/api/locations/lookup",
      "type": "string"
    },
    "locationEntry": {
      "properties": {
        "addedAt": {
          "format": "datetime",
          "type": "string"
        },
        "address": {
          "description": "Location in community.lexicon.location.address format.",
          "ref": "#address",
          "type": "ref"
        },
        "atlasKey": {
          "ref": "#atlasKey",
          "type": "ref"
        },
        "isPrimary": {
          "description": "Whether this is the user's primary location.",
          "type": "boolean"
        },
        "osmId": {
          "ref": "#osmId",
          "type": "ref"
        },
        "osmType": {
          "ref": "#osmType",
          "type": "ref"
        }
      },
      "required": [
        "address",
        "isPrimary"
      ],
      "type": "object"
    },
    "main": {
      "description": "Singleton record of the user's location tags.",
      "key": "literal:self",
      "record": {
        "properties": {
          "locations": {
            "description": "The user's tagged locations (max 3).",
            "items": {
              "ref": "#locationEntry",
              "type": "ref"
            },
            "maxLength": 3,
            "type": "array"
          },
          "updatedAt": {
            "description": "Timestamp of the most recent change.",
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "locations",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    },
    "osmId": {
      "description": "Optional OpenStreetMap node/relation ID for the location. Globally unique geographic identifier. See https://www.openstreetmap.org/node/{id} or /relation/{id}",
      "type": "integer"
    },
    "osmType": {
      "description": "OSM element type: node, way, or relation.",
      "knownValues": [
        "node",
        "way",
        "relation"
      ],
      "type": "string"
    }
  },
  "description": "A user's self-declared geographic locations, stored on their PDS. Wraps community.lexicon.location.address for forward compatibility.",
  "id": "city.atls.actor.location",
  "lexicon": 1
}

Validate Record

Validate a record against city.atls.actor.location

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:l37i5se642dgeb7kmrdwoqv4
CID
bafyreigeacvvdrpmulnbijpktncsoeiyvkq3qqx7ssoszp2djmqxvrlj6y
Indexed At
2026-07-22 20:28 UTC
AT-URI
at://did:plc:l37i5se642dgeb7kmrdwoqv4/com.atproto.lexicon.schema/city.atls.actor.location

Similar Lexicons

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

  • A location associated with the user's professional profile. Supports multiple locations per user (e.g. residential, business, travel).

  • A physical location in the form of a street address.

  • A place embedded inline in a passport entry. Self-contained: carries name, coordinates, and enough identifiers for any AT Proto consumer to look up richer data from ATGeo (https://atgeo.org). atgeoCollection + atgeoRkey…

  • The user's Placita profile. One record per repo, key 'self'. Holds the home location the profile map centers on. City level by design, no street addresses; access control arrives with Spaces.

  • A physical location in the form of a WGS84 coordinate.

Lexicon Garden

@