{
  "slug": "object-version-id",
  "term": "Object version ID",
  "aliases": [
    "S3 version ID",
    "VersionId"
  ],
  "definition": "An object version ID is a service-assigned identifier used with a bucket and key to select an S3 object version.",
  "note": "Scope: S3 general-purpose buckets. Generated S3 IDs are opaque, not chronological counters or checksums. A version can also be a delete marker rather than data. The literal null ID is a special case: a same-key write while versioning is suspended can replace that version's contents without changing its ID. [s3-version-ids] [s3-suspended-write]",
  "status": "shipping",
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-15",
  "advantages": [
    {
      "text": "An explicit versionId selects a retained revision for GET even when it is not current, subject to s3:GetObjectVersion permission.",
      "citationIds": [
        "get"
      ]
    }
  ],
  "limitations": [
    {
      "text": "Existing objects retain null IDs when versioning is first enabled; generated version IDs are not retroactively assigned.",
      "citationIds": [
        "s3-version-ids"
      ]
    },
    {
      "text": "A version identifier does not prevent an authorized permanent deletion of that version.",
      "citationIds": [
        "s3-delete-api"
      ]
    },
    {
      "text": "A checksum must still be verified separately; selecting a version is not proof that downloaded bytes match the expected data.",
      "citationIds": [
        "get"
      ]
    }
  ],
  "related": [
    "object-versioning",
    "delete-marker",
    "entity-tag",
    "object-storage"
  ],
  "citations": [
    {
      "id": "s3-version-ids",
      "title": "Amazon S3: How S3 Versioning works, version IDs",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/versioning-workflows.html",
      "accessed": "2026-10-15"
    },
    {
      "id": "s3-suspended-write",
      "title": "Amazon S3: Adding objects to versioning-suspended buckets",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/userguide/AddingObjectstoVersionSuspendedBuckets.html",
      "accessed": "2026-10-15"
    },
    {
      "id": "s3-delete-api",
      "title": "Amazon S3 API: DeleteObject, versioning-dependent effects",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html",
      "accessed": "2026-10-15"
    },
    {
      "id": "get",
      "title": "Amazon S3 API: GetObject, version selection and checksum fields",
      "url": "https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html",
      "accessed": "2026-10-15"
    },
    {
      "id": "hesela-object",
      "title": "Hesela: Object ETags, checksums and conditional writes",
      "url": "https://hesela.com/analyses/object-etags-checksums-conditional-writes/",
      "accessed": "2026-10-15"
    }
  ]
}
