AddObjectFile
Adds new document file to a document.
Syntax
// Assumes shellUI has been initialized with IShellUI instance
const results = await shellUI.Vault.ObjectOperations.AddObjectFile({
  obj_ver: {
    obj_id: {
      type: 0,
      item_id: {
        internal_id: 0,
        external_repository_id: {
          connection: "<!< The external repository connection identifier.>",
          item: "<item>",
        },
      },
    },
    version: {
      type: 7 /* Enum: ObjVerVersionType */,
      internal_version: 0,
      external_repository_version: "<external_repository_version>",
      external_repository_sort_key: 0,
    },
  },
  title: "<!< The title of the file.>",
  extension: "<extension>",
  created_at_utc: { seconds: 0, nanos: 0 } /* google.protobuf.Timestamp */,
  accessed_at_utc: { seconds: 0, nanos: 0 } /* google.protobuf.Timestamp */,
  written_at_utc: { seconds: 0, nanos: 0 } /* google.protobuf.Timestamp */,
  changed_at_utc: { seconds: 0, nanos: 0 } /* google.protobuf.Timestamp */,
  can_update_object_last_modified_timestamp: false,
});
Message
| Name | Description | Type | 
|---|---|---|
obj_ver | The object version as JSON. (represented by MF_ObjVer struct) | ObjVer | 
title | The title of the file. | string | 
extension | File extension, not including the dot ( e.g. "doc" ). | string | 
created_at_utc | The time in UTC the file was originally created. | google.protobuf.Timestamp | 
accessed_at_utc | The time in UTC the file was last accessed (e.g. read). | google.protobuf.Timestamp | 
written_at_utc | The time in UTC the file was last written to. | google.protobuf.Timestamp | 
changed_at_utc | The time in UTC the file was last written to or its attributes were changed. | google.protobuf.Timestamp | 
can_update_object_last_modified_timestamp | True if the server is allowed to update the document's LastModified timestamp based on this call. | boolean | 
Return type
| Name | Description | Type | 
|---|---|---|
file_ver | The version of the new document file as JSON (represented by MFFileVer struct)  TRUE: [ out ] boolean pbDocumentVisible, //!< True if any version of the document is visible after the operation. FROM LATEST: [ out ] MF_DocumentLevelInfo pdoclevelinfo, //!< Document-level information (if _pbDocumentVisible is true). TRUE: [ out ] boolean pbLatestVisible, //!< True if the latest version of the document is visible after the operation.  | FileVer | 
result | Information about the latest version of the document after the operation (if pbLatestVisible is true) as JSON.  NOT CHANGED: [ out ] MF_PropertyValueArray_2950 ppropvalarrLatest, //!< Receives the property values of the latest version of the document after the operation (if *pbLatestVisible is true).  | ObjectVersionEx | 
Example
{
  "file_ver": {
    "file_id": {
      "type": 3 /* Enum: FileIDType */,
      "internal_id": 0,
      "external_repository_id": "<!< External file id.>"
    },
    "type": 3 /* Enum: FileVerType */,
    "internal_version": 0,
    "external_repository_version": "<external_repository_version>",
    "external_repository_sort_key": 0
  },
  "result": {
    "version_info": {
      "version": {
        "type": 7 /* Enum: ObjVerVersionType */,
        "internal_version": 0,
        "external_repository_version": "<external_repository_version>",
        "external_repository_sort_key": 0
      },
      "title": "<!< The title of the object.>",
      "is_single_file_object": false,
      "has_assignments": false,
      "last_modified_at_utc": {
        "seconds": 0,
        "nanos": 0
      } /* google.protobuf.Timestamp */,
      "files": [] /* Array of File */,
      "object_version_flags": {
        "all": false,
        "is_assignment_completed": false,
        "has_related_objects": false,
        "is_assignment_rejected": false,
        "has_file_duplicates": false
      },
      "class_id": 0,
      "version_guid": "<!< GUID of the object version.>",
      "primary_file": {} /* FileID */
    },
    "object_info": {
      "obj_id": {
        "type": 0,
        "item_id": {
          "internal_id": 0,
          "external_repository_id": {
            "connection": "<!< The external repository connection identifier.>",
            "item": "<item>"
          }
        }
      },
      "external_id_status": 5 /* Enum: ExtIDStatus */,
      "external_id": "<external_id>",
      "checked_out_version": {} /* ObjVerVersion */,
      "checked_out_to_user_id": 0,
      "checked_out_to_user_name": "<checked_out_to_user_name>",
      "checked_out_to_host_name": "<checked_out_to_host_name>",
      "checked_out_at_utc": {
        "seconds": 0,
        "nanos": 0
      } /* google.protobuf.Timestamp */,
      "checked_in_version": {} /* ObjVerVersion */,
      "created_at_utc": {
        "seconds": 0,
        "nanos": 0
      } /* google.protobuf.Timestamp */,
      "accessed_by_me_utc": {
        "seconds": 0,
        "nanos": 0
      } /* google.protobuf.Timestamp */,
      "guid": "<!< Object GUID.>",
      "options": {
        "all": false,
        "is_shortcut": false,
        "is_deleted": false,
        "is_accessed_by_valid": false,
        "has_shared_files": false,
        "is_conflict_object": false,
        "is_normal": false,
        "is_view": false,
        "has_external_data": false,
        "is_referred_external_object": false
      },
      "original_vault_guid": "<original_vault_guid>",
      "original_vault_obj_id": {} /* ObjID */,
      "associated_view_id": {} /* ItemID */,
      "external_repository_icon_id": "<external_repository_icon_id>",
      "primary_view_id": {} /* ItemID */,
      "capabilities": {
        "all": false,
        "can_have_history": false,
        "can_have_relationships": false,
        "can_edit_old_versions": false,
        "can_delete": false,
        "can_destroy": false,
        "can_undelete": false,
        "can_rename": false,
        "can_edit_metadata": false,
        "can_edit_assignments": false,
        "can_edit_workflows": false,
        "can_edit_files": false,
        "can_edit_version_comments": false,
        "can_convert_single_multi_file": false,
        "can_add_and_remove_files": false,
        "can_change_file_type": false,
        "can_change_permissions": false
      }
    }
  }
}