Skip to main content
GET
/
v1
/
documents
/
{document_id}
/
versions
/
{version_id}
Get a specific version
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://api.factify.com/v1/documents/{document_id}/versions/{version_id}', options)
  .then(res => res.json())
  .then(res => console.log(res))
  .catch(err => console.error(err));
{
  "id": "ver_01h2xcejqtf2nbrexx3vqjhp41",
  "document_id": "doc_01h2xcejqtf2nbrexx3vqjhp41",
  "source_type": "pdf",
  "status": "ready",
  "title": "Draft v2",
  "created_at": "2025-01-15T10:30:00Z",
  "created_by": {
    "id": "usr_01h2xcejqtf2nbrexx3vqjhp41",
    "name": "Alice Chen"
  },
  "status_error": "unsupported file format",
  "description": "<string>",
  "payload_url": "https://factify-documents.s3.us-east-1.amazonaws.com/documents/org_.../doc_.../ver_..."
}

Documentation Index

Fetch the complete documentation index at: https://developers.factify.com/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

Authorization
string
header
required

Bearer authentication using a factapi-issued API key (ffy_<env>_<base32_uuid><base62_random>). Cookie-based sessions are accepted automatically by user-facing endpoints but are not surfaced as an OpenAPI auth scheme.

Path Parameters

document_id
string
required

Document ID

Example:

"doc_01h2xcejqtf2nbrexx3vqjhp41"

version_id
string
required

Version ID

Example:

"ver_01h2xcejqtf2nbrexx3vqjhp41"

Response

OK

A specific upload of a document. Each createVersion call produces one of these. The most recent successful version is referenced by Document.current_version.

id
string
required

Unique version ID. Pattern ver_[0-9a-hjkmnp-tv-z]{26}.

Example:

"ver_01h2xcejqtf2nbrexx3vqjhp41"

document_id
string
required

ID of the parent document.

Example:

"doc_01h2xcejqtf2nbrexx3vqjhp41"

source_type
string
required

Origin file format of the upload (pdf, docx, xlsx, csv, markdown).

Example:

"pdf"

status
string
required

Lifecycle state of this version's ingestion: pending, processing, ready, or failed. Inspect status_error when failed.

Example:

"ready"

title
string
required

Per-version display name. Defaults to empty string when no title was set.

Example:

"Draft v2"

created_at
string<date-time>
required

Timestamp when this version was uploaded.

Example:

"2025-01-15T10:30:00Z"

created_by
object
required

Subject reference for the version's uploader (type, id, name). name is resolved at read time from the user profile; empty string when the user is unknown or the lookup failed.

status_error
string

Human-readable error explaining why processing failed. Present only when status == "failed".

Example:

"unsupported file format"

description
string | null

Optional per-version description. Tri-state: absent/null = not set; empty string = explicitly empty; any string = description text.

Maximum string length: 10000
payload_url
string

Internal pointer to the version's source file in object storage. Use exportDocument (current version) or a follow-up presigning endpoint to obtain a downloadable URL — payload_url itself is not directly fetchable by clients.

Example:

"https://factify-documents.s3.us-east-1.amazonaws.com/documents/org_.../doc_.../ver_..."