community.buynothing.listing

buynothing.community View official

Documentation

An offer or request for a free item, discoverable by approximate location.

main record

An offer or request for a free item, discoverable by approximate location.

Record Key tid Timestamp-based ID

Properties

createdAt string datetime Required

An RFC 3339 formatted timestamp.

description string Required

Required free text describing the item being offered or requested.

maxLength: 3000 bytesminLength: 1 bytesmaxGraphemes: 1500 graphemesminGraphemes: 1 graphemes
geohash string Required

Approximate location as a geohash, precision 6 (~1.2km cell). This is a privacy floor: indexers MUST truncate any finer-precision value to 6 characters before indexing or display.

maxLength: 6 bytesminLength: 1 bytes
imageAlts array of string Optional

Alt text for images, parallel to the images array by index.

maxLength: 4 items
images array of blob Optional

Up to 4 images of the item, stored as blobs in the poster's repo.

maxLength: 4 items
intent string Required

Whether the poster is giving away an item or looking for one.

Allowed: offer, request
locationName string Optional

Optional human-readable area name. App-populated via reverse geocoding of the geohash cell. Display only; MUST NOT be used for proximity matching or filtering.

maxLength: 300 bytesmaxGraphemes: 100 graphemes
status string Optional

Current availability. Clients should treat a missing value as 'available'.

Allowed: available, pending, gone
title string Required

Required short title for the item being offered or requested.

maxLength: 200 bytesminLength: 1 bytesmaxGraphemes: 100 graphemesminGraphemes: 1 graphemes
View raw schema
{
  "key": "tid",
  "type": "record",
  "record": {
    "type": "object",
    "required": [
      "title",
      "intent",
      "description",
      "geohash",
      "createdAt"
    ],
    "properties": {
      "title": {
        "type": "string",
        "maxLength": 200,
        "minLength": 1,
        "description": "Required short title for the item being offered or requested.",
        "maxGraphemes": 100,
        "minGraphemes": 1
      },
      "images": {
        "type": "array",
        "items": {
          "type": "blob",
          "accept": [
            "image/jpeg",
            "image/png",
            "image/webp"
          ],
          "maxSize": 1000000
        },
        "maxLength": 4,
        "description": "Up to 4 images of the item, stored as blobs in the poster's repo."
      },
      "intent": {
        "enum": [
          "offer",
          "request"
        ],
        "type": "string",
        "description": "Whether the poster is giving away an item or looking for one."
      },
      "status": {
        "enum": [
          "available",
          "pending",
          "gone"
        ],
        "type": "string",
        "description": "Current availability. Clients should treat a missing value as 'available'."
      },
      "geohash": {
        "type": "string",
        "maxLength": 6,
        "minLength": 1,
        "description": "Approximate location as a geohash, precision 6 (~1.2km cell). This is a privacy floor: indexers MUST truncate any finer-precision value to 6 characters before indexing or display."
      },
      "createdAt": {
        "type": "string",
        "format": "datetime"
      },
      "imageAlts": {
        "type": "array",
        "items": {
          "type": "string",
          "maxGraphemes": 1000
        },
        "maxLength": 4,
        "description": "Alt text for images, parallel to the images array by index."
      },
      "description": {
        "type": "string",
        "maxLength": 3000,
        "minLength": 1,
        "description": "Required free text describing the item being offered or requested.",
        "maxGraphemes": 1500,
        "minGraphemes": 1
      },
      "locationName": {
        "type": "string",
        "maxLength": 300,
        "description": "Optional human-readable area name. App-populated via reverse geocoding of the geohash cell. Display only; MUST NOT be used for proximity matching or filtering.",
        "maxGraphemes": 100
      }
    }
  },
  "description": "An offer or request for a free item, discoverable by approximate location."
}

Lexicon Garden

@