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