ObjectStackObjectStack

Document

Document protocol schemas

Document Version Schema

Represents a single version of a document in a version-controlled system.

Each version is immutable and maintains its own metadata and download URL.

@example


\{

"versionNumber": 2,

"createdAt": 1704067200000,

"createdBy": "user_123",

"size": 2048576,

"checksum": "a1b2c3d4e5f6",

"downloadUrl": "https://storage.example.com/docs/v2/file.pdf",

"isLatest": true

\}

Source: packages/spec/src/data/document.zod.ts

TypeScript Usage

import { Document, DocumentTemplate, DocumentVersion, ESignatureConfig } from '@objectstack/spec/data';
import type { Document, DocumentTemplate, DocumentVersion, ESignatureConfig } from '@objectstack/spec/data';

// Validate data
const result = Document.parse(data);

Document

Properties

PropertyTypeRequiredDescription
idstringDocument ID
namestringDocument name
descriptionstringoptionalDocument description
fileTypestringFile MIME type
fileSizenumberFile size in bytes
categorystringoptionalDocument category
tagsstring[]optionalDocument tags
versioningObjectoptionalVersion control
templateObjectoptionalDocument template
eSignatureObjectoptionalE-signature config
accessObjectoptionalAccess control
metadataRecord<string, any>optionalCustom metadata

DocumentTemplate

Properties

PropertyTypeRequiredDescription
idstringTemplate ID
namestringTemplate name
descriptionstringoptionalTemplate description
fileUrlstringTemplate file URL
fileTypestringFile MIME type
placeholdersObject[]Template placeholders

DocumentVersion

Properties

PropertyTypeRequiredDescription
versionNumbernumberVersion number
createdAtnumberCreation timestamp
createdBystringCreator user ID
sizenumberFile size in bytes
checksumstringFile checksum
downloadUrlstringDownload URL
isLatestbooleanIs latest version

ESignatureConfig

Properties

PropertyTypeRequiredDescription
providerEnum<'docusign' | 'adobe-sign' | 'hellosign' | 'custom'>E-signature provider
enabledbooleanE-signature enabled
signersObject[]Document signers
expirationDaysnumberExpiration days
reminderDaysnumberReminder interval days

On this page