# camera.swap.listing

> Published by [swap.camera](https://lexicon.garden/identity/did:plc:37rhok2ls3ltydjh42fjljyc)

✓ This is the authoritative definition for this NSID.

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:37rhok2ls3ltydjh42fjljyc/camera.swap.listing)
- [Documentation](https://lexicon.garden/lexicon/did:plc:37rhok2ls3ltydjh42fjljyc/camera.swap.listing/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:37rhok2ls3ltydjh42fjljyc/camera.swap.listing/examples)

## Definitions

### `camera.swap.listing`

**Type**: `record`

A piece of camera gear the author is offering for swap, lend, or gift. Lives in the author's own repo.

**Key**: `tid`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `area` | `string` | Yes | 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` | `string` | No | e.g. "Fujifilm" |
| `model` | `string` | No | e.g. "X-T10" |
| `images` | `array` | No |  |
| `seeking` | `array` | No | Free-text hints of what the owner wants in return. Display-only in v1, not a match axis. |
| `category` | `string` | Yes | Primary match axis. |
| `exchange` | `string` | Yes | How the owner wants to part with it. swap = trade for other gear; lend = borrow & return; gift = give away. |
| `condition` | `integer` | No | 1-10; 9-10 Mint, 7-8 Excellent, 5-6 Good, 3-4 Fair, 1-2 Poor. |
| `createdAt` | `string` (datetime) | Yes |  |
| `description` | `string` | No |  |

## Raw Schema

```json
{
  "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
}
```
