# com.pimstash.stuff.kind

> A Kind in a Stuff Trove: the fields its Things share unless a Thing sets its own.

- Kind: record
- Record key: any
- Authority: stuff.pimstash.com
- Lexicon: 1
- Published by [lexicons.pimstash.com](https://lexicon.garden/identity/did:plc:kl7rkydjioe5qsucfce3uubx), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:kl7rkydjioe5qsucfce3uubx/com.pimstash.stuff.kind)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:kl7rkydjioe5qsucfce3uubx/com.pimstash.stuff.kind/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:kl7rkydjioe5qsucfce3uubx/com.pimstash.stuff.kind/analytics)

## Record (`com.pimstash.stuff.kind`)

Type: record · key any

### Properties

- `category` (string)
  - Constraints: maxLength: 1000, maxGraphemes: 100
- `createdAt` (string · datetime, required)
- `lifespanMonths` (integer): Months of service before the Thing is due for replacement.
  - Constraints: minimum: 1
- `make` (string)
  - Constraints: maxLength: 1000, maxGraphemes: 100
- `measure` (string): How the amount is read. Absent on a Thing inherits the Kind's; absent on a Kind reads as quantity.
  - Constraints: maxLength: 64, knownValues: quantity | count | level
- `model` (string)
  - Constraints: maxLength: 1000, maxGraphemes: 100
- `name` (string, required)
  - Constraints: minLength: 1, maxLength: 1000, maxGraphemes: 100
- `notes` (string)
  - Constraints: maxLength: 10000, maxGraphemes: 1000
- `photo` (blob)
  - Constraints: maxSize: 1000000, accept: image/jpeg, image/webp, image/avif
- `ratedUsage` (string): Usage the Thing is rated for, in usageUnit, as a decimal string ("2.375") so it round-trips exactly.
  - Constraints: maxLength: 64
- `updatedAt` (string · datetime)
- `usageUnit` (string)
  - Constraints: maxLength: 1000, maxGraphemes: 100

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A Kind in a Stuff Trove: the fields its Things share unless a Thing sets its own.",
      "key": "any",
      "record": {
        "properties": {
          "category": {
            "maxGraphemes": 100,
            "maxLength": 1000,
            "type": "string"
          },
          "createdAt": {
            "format": "datetime",
            "type": "string"
          },
          "lifespanMonths": {
            "description": "Months of service before the Thing is due for replacement.",
            "minimum": 1,
            "type": "integer"
          },
          "make": {
            "maxGraphemes": 100,
            "maxLength": 1000,
            "type": "string"
          },
          "measure": {
            "description": "How the amount is read. Absent on a Thing inherits the Kind's; absent on a Kind reads as quantity.",
            "knownValues": [
              "quantity",
              "count",
              "level"
            ],
            "maxLength": 64,
            "type": "string"
          },
          "model": {
            "maxGraphemes": 100,
            "maxLength": 1000,
            "type": "string"
          },
          "name": {
            "maxGraphemes": 100,
            "maxLength": 1000,
            "minLength": 1,
            "type": "string"
          },
          "notes": {
            "maxGraphemes": 1000,
            "maxLength": 10000,
            "type": "string"
          },
          "photo": {
            "accept": [
              "image/jpeg",
              "image/webp",
              "image/avif"
            ],
            "maxSize": 1000000,
            "type": "blob"
          },
          "ratedUsage": {
            "description": "Usage the Thing is rated for, in usageUnit, as a decimal string (\"2.375\") so it round-trips exactly.",
            "maxLength": 64,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          },
          "usageUnit": {
            "maxGraphemes": 100,
            "maxLength": 1000,
            "type": "string"
          }
        },
        "required": [
          "name",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "com.pimstash.stuff.kind",
  "lexicon": 1
}
```
