{
"id": "camera.swap.listing",
"defs": {
"main": {
"key": "tid",
"type": "record",
"record": {
"type": "object",
"required": [
"category",
"exchange",
"area",
"createdAt"
],
"properties": {
"area": {
"type": "string",
"maxLength": 64,
"description": "Coarse metro/region code from the app's fixed area vocabulary (see web/src/lib/areas.ts). City-level only, never coordinates. Match axis."
},
"make": {
"type": "string",
"maxLength": 128,
"description": "e.g. \"Fujifilm\""
},
"model": {
"type": "string",
"maxLength": 128,
"description": "e.g. \"X-T10\""
},
"images": {
"type": "array",
"items": {
"type": "blob",
"accept": [
"image/*"
],
"maxSize": 2000000
},
"maxLength": 4
},
"seeking": {
"type": "array",
"items": {
"type": "string",
"maxLength": 128
},
"maxLength": 16,
"description": "Free-text hints of what the owner wants in return. Display-only in v1, not a match axis."
},
"category": {
"type": "string",
"maxLength": 32,
"description": "Primary match axis.",
"knownValues": [
"body",
"lens",
"flash",
"bag",
"filter",
"tripod",
"film",
"accessory",
"other"
]
},
"exchange": {
"type": "string",
"maxLength": 16,
"description": "How the owner wants to part with it. swap = trade for other gear; lend = borrow & return; gift = give away.",
"knownValues": [
"swap",
"lend",
"gift"
]
},
"condition": {
"type": "integer",
"maximum": 10,
"minimum": 1,
"description": "1-10; 9-10 Mint, 7-8 Excellent, 5-6 Good, 3-4 Fair, 1-2 Poor."
},
"createdAt": {
"type": "string",
"format": "datetime"
},
"description": {
"type": "string",
"maxLength": 3000,
"maxGraphemes": 600
}
}
},
"description": "A piece of camera gear the author is offering for swap, lend, or gift. Lives in the author's own repo."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}