# io.atcr.hold.layer

> Represents metadata about a container layer stored in the hold. Stored in the hold's embedded PDS for tracking and analytics.

- Kind: record
- Record key: tid
- Authority: hold.atcr.io
- Lexicon: 1
- Published by [did:web:lexicon.atcr.io](https://lexicon.garden/identity/did:web:lexicon.atcr.io), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:web:lexicon.atcr.io/io.atcr.hold.layer)
- [Schema JSON](https://lexicon.garden/lexicon/did:web:lexicon.atcr.io/io.atcr.hold.layer/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:web:lexicon.atcr.io/io.atcr.hold.layer/analytics)

## Record (`io.atcr.hold.layer`)

Type: record · key tid

### Properties

- `createdAt` (string · datetime, required): RFC3339 timestamp of when the layer was uploaded
- `digest` (string, required): Layer digest (e.g., sha256:abc123...)
  - Constraints: maxLength: 128
- `manifest` (string · at-uri, required): AT-URI of the manifest that included this layer (e.g., at://did:plc:xyz/io.atcr.manifest/abc123)
- `mediaType` (string, required): Media type (e.g., application/vnd.oci.image.layer.v1.tar+gzip)
  - Constraints: maxLength: 128
- `size` (integer, required): Size in bytes
- `userDid` (string · did, required): DID of user who uploaded this layer

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Represents metadata about a container layer stored in the hold. Stored in the hold's embedded PDS for tracking and analytics.",
      "key": "tid",
      "record": {
        "properties": {
          "createdAt": {
            "description": "RFC3339 timestamp of when the layer was uploaded",
            "format": "datetime",
            "type": "string"
          },
          "digest": {
            "description": "Layer digest (e.g., sha256:abc123...)",
            "maxLength": 128,
            "type": "string"
          },
          "manifest": {
            "description": "AT-URI of the manifest that included this layer (e.g., at://did:plc:xyz/io.atcr.manifest/abc123)",
            "format": "at-uri",
            "type": "string"
          },
          "mediaType": {
            "description": "Media type (e.g., application/vnd.oci.image.layer.v1.tar+gzip)",
            "maxLength": 128,
            "type": "string"
          },
          "size": {
            "description": "Size in bytes",
            "type": "integer"
          },
          "userDid": {
            "description": "DID of user who uploaded this layer",
            "format": "did",
            "type": "string"
          }
        },
        "required": [
          "digest",
          "size",
          "mediaType",
          "manifest",
          "userDid",
          "createdAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "io.atcr.hold.layer",
  "lexicon": 1
}
```
