The Version Object

Version objects represent specific releases or versions of scholarly papers ("Works").

Each version captures the state of a paper at a particular point in time, including its metadata, processing status, and expandable content such as sections, blocks, assets, and citations. Versions are linked to their parent Work object and can be retrieved individually or as part of a Work's version history.

Each version has a stable public_id and supports expansion of structured content that has been normalized by parsing JATS XML into structured JSON. Sections, paragraphs, figures, tables, and references are extracted and categorized into a consistent schema, enabling reconstruction of the paper's structure and content programmatically.

Versions track their processing status (ingested, normalized) and provide counts of available content types. Use the expand parameter to include full content when needed, or access specific sub-resources via the provided links.

This is the standard structure of the core Version Object:

VERSION OBJECT
{
   "public_id":"1642632597.v1",
   "work_id":"1642632597",
   "version_label":"v1",
   "source":"medrxiv",
   "source_id":"2025.08.07.25333034",
   "doi":"10.1101/2025.08.07.25333034",
   "open_access":true,
   "license":"CC-BY-4.0",
   "ingested":true,
   "normalized":true,
   "released_at":"2025-08-07T00:00:00.000Z",
   "created_at":"2025-01-15T10:30:00.000Z",
   "updated_at":"2025-01-15T10:30:00.000Z",
   "counts":{
      "sections":12,
      "figures":5,
      "tables":3,
      "blocks":156,
      "citations":45
   },
   "_links":{
      "self":"/v1/version/1642632597.v1",
      "work":"/v1/work/1642632597",
      "normalized":"/v1/version/1642632597.v1/normalized",
      "sections":"/v1/version/1642632597.v1/sections",
      "assets":"/v1/version/1642632597.v1/assets",
      "blocks":"/v1/version/1642632597.v1/blocks",
      "citations":"/v1/version/1642632597.v1/citations"
   },
   
   // The following items are only returned if the user specifies
   // so with the use of the `expand` query parameter:
   
   "raw":{
      "available":true,
      "bytes":2048576,
      "sha256":"sha256:abc123...",
      "etag":"\"etag-value\"",
      "s3_key":"versions/raw/medrxiv/2025/08/07/25333034/v1.xml"
   }, // Optional, with ?expand=raw
   "normalized_data":{
      "available":true,
      "spec_version":"1.0.0",
      "bytes":1024768,
      "sha256":"sha256:def456...",
      "etag":"\"etag-value\"",
      "s3_key":"versions/normalized/medrxiv/2025/08/07/25333034/v1.json"
   }, // Optional, with ?expand=normalized

   "sections":Sections[], // Optional, with ?expand=sections
   "blocks":Blocks[], // Optional, with ?expand=blocks
   "assets":Assets[], // Optional, with ?expand=assets
   "citations":Citations[], // Optional, with ?expand=citations
   
   "work":{
      "public_id":"1642632597",
      "title":"Example Research Paper Title",
      "doi":"10.1101/2025.08.07.25333034"
   }, // Optional, with ?expand=work
}

It is returned as a response by the Version Routes, explained in the next section.

Last updated