# Sandbox.Services.Database.Record

An immutable snapshot of a record. Updates return a new snapshot; keep the returned record
for subsequent changes. Concurrent edits fail with status 409 rather than overwriting data.

- Kind: class
- Assembly: `Sandbox.Engine`
- Modifiers: sealed

## Properties

- [`CreatedAt`](/api/Sandbox.Services.Database.Record/CreatedAt): When this record was created.
- [`Group`](/api/Sandbox.Services.Database.Record/Group): The group containing this record, or null for an ungrouped record.
- [`Id`](/api/Sandbox.Services.Database.Record/Id): The stable ID of this record.
- [`IsPublic`](/api/Sandbox.Services.Database.Record/IsPublic): Whether anyone can read this record.
- [`Key`](/api/Sandbox.Services.Database.Record/Key): The record key, unique within its owner's package and table.
- [`OwnerSteamId`](/api/Sandbox.Services.Database.Record/OwnerSteamId): The Steam ID of the player who owns this record.
- [`Revision`](/api/Sandbox.Services.Database.Record/Revision): The revision captured when this snapshot was fetched, used to detect conflicting edits.
- [`UpdatedAt`](/api/Sandbox.Services.Database.Record/UpdatedAt): When this record was last changed.
- [`Value`](/api/Sandbox.Services.Database.Record/Value): The stored text, which may contain serialized JSON.

## Methods

- [`Delete`](/api/Sandbox.Services.Database.Record/Delete): Delete this revision as its owner or a moderator. A stale revision fails with status 409.
- [`Deserialize`](/api/Sandbox.Services.Database.Record/Deserialize): Deserialize a JSON payload. Invalid JSON or an incompatible type throws.
- [`MakePrivate`](/api/Sandbox.Services.Database.Record/MakePrivate): Allow only you to read your record, preserving its value. Returns a new snapshot with the new revision.
- [`MakePublic`](/api/Sandbox.Services.Database.Record/MakePublic): Allow anyone to read your record, preserving its value. Returns a new snapshot with the new revision.
- [`Update`](/api/Sandbox.Services.Database.Record/Update): Replace your record's value while preserving its visibility. Returns a new snapshot with the new revision.
