{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "A durable asset anchor record for an uploaded blob and optional tags.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "description": "Timestamp of record creation in the ATProto PDS.",
            "format": "datetime",
            "type": "string"
          },
          "file": {
            "accept": [
              "*/*"
            ],
            "description": "Uploaded file blob. This record can be used as a durable anchor so temporary uploads are not garbage-collected before final attachment.",
            "maxSize": 10485760,
            "type": "blob"
          },
          "tags": {
            "description": "Optional machine-readable tags for quick checks and filtering.",
            "items": {
              "knownValues": [
                "image-in-linear-document"
              ],
              "maxGraphemes": 64,
              "type": "string"
            },
            "maxLength": 32,
            "type": "array"
          }
        },
        "required": [
          "file",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "description": "Generic durable asset record for uploaded blobs. Example use: anchoring uploads during draft editing so blobs persist until final records reference them.",
  "id": "app.gainforest.asset.file",
  "lexicon": 1
}
