Retrieve Version Routes

Use these endpoints to retrieve individual versions of a work.

VERSION ROUTES
GET /version/:versionId // Get a single version by Version ID
GET /work/:workId/versions/:versionLabel // Get a specific version by work ID and version label 
GET /work/:workId/versions // List all versions for a work

Get a version using Version ID

Retrieves a version by its Drylab Version ID. Multiple expandable fields can be included in the response.

GET https://api.drylab.bio/v1/version/:versionId
curl https://api.drylab.bio/v1/version/1642632597.v1 \
     -H "Authorization: Bearer <YOUR_API_KEY>"
     
curl https://api.drylab.bio/v1/version/1642632597.v1?expand=sections,blocks \
     -H "Authorization: Bearer <YOUR_API_KEY>"

Path parameters

Parameter
Type
Description

versionId

string

Drylab version ID

Query parameters

Parameter
Type
Description

expand

string

Comma-separated fields to expand: sections, blocks, assets, citations, all.

Response

Identical to the generic response included at the top of the page, with the contents of "data" depending on what the user passes in the expand query parameter.

Response

SUCCESS (200)
 {
    "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/medrxiv:2025.08.07.25333034",
       "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
    "metadata":MetadataObject, // Optional, with ?expand=metadata
    "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
 }

Get a version using Work ID and Version Label

Retrieves a version by work ID and version label.

GET https://api.drylab.bio/v1/work/:workId/versions/:versionLabel
curl https://api.drylab.bio/v1/work/1642632597/versions/v1 \
     -H "Authorization: Bearer <YOUR_API_KEY>"

Path parameters

Parameter
Type
Description

workId

string

Work identifier (public ID or external ID like DOI/PMID)

versionLabel

string

Version label (e.g., "v1", "v2", "published")

Query parameters

Content inclusion

Parameter
Type
Description

expand

string

Comma-separated fields to include.

Response

SUCCESS (200)
{
   "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",
      "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 `include` query parameter:
   
   "work":{
      "public_id":"1642632597",
      "title":"Example Research Paper Title",
      "doi":"10.1101/2025.08.07.25333034"
   } // Optional, with ?include=work
}

List versions for a work

Returns a paginated list of versions for a work.

GET https://api.drylab.bio/v1/work/:workId/versions
curl https://api.drylab.bio/v1/work/1642632597/versions \
     -H "Authorization: Bearer <YOUR_API_KEY>"

Path parameters

Parameter
Type
Description

workId

string

Work identifier (public ID or external ID like DOI/PMID)

Query parameters

Filtering

Parameter
Type
Description

versionLabel

string

Filter by specific version label

doi

string

Filter by DOI

releasedAfter

string

Filter versions released after this date (ISO 8601)

releasedBefore

string

Filter versions released before this date (ISO 8601)

Pagination and sorting

Parameter
Type
Description

sort

string

Sort by id or releasedAt (default: releasedAt)

order

string

Sort order asc or desc (default: desc)

limit

integer

Number of results per page (default: 20, max: 100)

cursor

string

Pagination cursor

Content inclusion

Parameter
Type
Description

expand

string

Comma-separated fields to include (work)

Response

SUCCESS (200)
{
   "items":[
      {
         "public_id":"1642632597.v1",
         "work_id":"1642632597",
         "version_label":"v2",
         "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-15T00:00:00.000Z",
         "created_at":"2025-01-15T10:30:00.000Z",
         "updated_at":"2025-01-15T10:30:00.000Z",
         "counts":{
            "sections":13,
            "figures":6,
            "tables":3,
            "blocks":162,
            "citations":47
         },
         "_links":{
            "self":"/v1/version/1642632597.v1",
            "work":"/v1/work/1642632597",
            "sections":"/v1/version/1642632597.v1/sections",
            "assets":"/v1/version/1642632597.v1/assets",
            "blocks":"/v1/version/1642632597.v1/blocks",
            "citations":"/v1/version/1642632597.v1/citations"
         }
      },
      {
         "public_id":"1642632597.v2",
         "work_id":"1642632597",
         "version_label":"v2",
         "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.v2",
            "work":"/v1/work/1642632597",
            "sections":"/v1/version/1642632597.v2/sections",
            "assets":"/v1/version/1642632597.v2/assets",
            "blocks":"/v1/version/1642632597.v2/blocks",
            "citations":"/v1/version/1642632597.v2/citations"
         }
      }
   ],
   "next_cursor":"eyJzb3J0IjoicmVsZWFzZWRBdCIsIm9yZGVyIjoiZGVzYyIsInAiOiIyMDI1LTA4LTA3VDAwOjAwOjAwLjAwMFoiLCJpZCI6InZlcjptZWRyeGl2OjIwMjUuMDguMDcuMjUzMzMwMzM0OnYxIn0="
}

Last updated