{ "$schema": "https://json-structure.org/meta/core/v0/#", "$id": "https://raw.githubusercontent.com/api-evangelist/veeva/refs/heads/main/json-structure/veeva-vault-document-structure.json", "name": "Veeva Vault Document", "description": "A document record in the Veeva Vault platform \u2014 a controlled document with lifecycle, version, and audit trail", "type": "object", "properties": { "id": { "type": "int32", "description": "Unique Vault document ID" }, "name__v": { "type": "string", "description": "Document name (required)" }, "type__v": { "type": "string", "description": "Document type API name (e.g., study_protocol__c)" }, "subtype__v": { "type": "string", "description": "Document subtype API name" }, "classification__v": { "type": "string", "description": "Document classification API name" }, "lifecycle__v": { "type": "string", "description": "Document lifecycle API name (controls allowed states and actions)" }, "status__v": { "type": "string", "description": "Current lifecycle state API name" }, "document_number__v": { "type": "string", "description": "Auto-generated document number" }, "major_version_number__v": { "type": "int32", "minimum": 0, "description": "Major version number (increments on approval)" }, "minor_version_number__v": { "type": "int32", "minimum": 0, "description": "Minor version number (increments on draft revisions)" }, "created_by__v": { "type": "int32", "description": "User ID of document creator" }, "last_modified_by__v": { "type": "int32", "description": "User ID of last modifier" }, "created_date__v": { "type": "datetime", "description": "Document creation timestamp" }, "last_modified_date__v": { "type": "datetime", "description": "Last modification timestamp" }, "description__v": { "type": "string", "description": "Document description" }, "size__v": { "type": "int32", "minimum": 0, "description": "Source file size in bytes" }, "format__v": { "type": "string", "description": "MIME type of source file (e.g., application/pdf)" }, "external_id__v": { "type": "string", "description": "External system identifier for integration" }, "owner__v": { "type": "int32", "description": "User ID of document owner" }, "approver__v": { "type": "int32", "description": "User ID of document approver" }, "effective_date__v": { "type": "date", "description": "Date document becomes effective (approved state)" }, "expiration_date__v": { "type": "date", "description": "Document expiration date" } }, "required": [ "id", "name__v", "type__v", "lifecycle__v", "status__v" ], "additionalProperties": { "description": "Custom field values (API names ending in __c)" } }