AddObjectWithFiles
Adds a new object with files.
Syntax
// Assumes shellUI has been initialized with IShellUI instance
const results = await shellUI.Vault.ObjectOperations.AddObjectWithFiles({
  object_type_id: 0,
  properties: [] /* Array of PropertyValue */,
  acl: {
    checked_out_to_user: 0,
    is_fully_authoritative: false,
    custom_component: {
      named_acl_id: 0,
      has_named_acl: false,
      current_user_id: 0,
      has_current_user: false,
      permissions: [] /* Array of AccessControlEntry */,
      overridability_permissions: [] /* Array of AccessControlEntry */,
      status: {
        all: false,
        deleted: false,
        source_item_linked_via_pseudo_users: false,
      },
    },
    restrictive_components:
      [] /* Array of AccessControlListComponentMapEntry */,
    secondary_access_control_list: {} /* AccessControlList */,
    additive_components: [] /* Array of AccessControlListComponentMapEntry */,
  },
  options: {
    all: false,
    require_read_access_after_operation: false,
    require_edit_access_after_operation: false,
    disallow_name_change: false,
    require_change_permissions_access_after_operation: false,
    require_full_access_after_operation: false,
    change_acl_in_all_versions: false,
    verify_check_in_wopi_locked_document: false,
  },
  check_in: false,
  files: {
    type: 4 /* Enum: ObjFileSourceType */,
    data: {
      blank_template: {
        name: "<!< Blank template file name.>",
      },
      user_defined_template: {
        obj_id: {
          type: 0,
          item_id: {
            internal_id: 0,
            external_repository_id: {
              connection: "<!< The external repository connection identifier.>",
              item: "<item>",
            },
          },
        },
      },
      uploaded_file: {
        upload_id: 0,
        title: "<!< The title of the file.>",
        extension: "<extension>",
        size: 0,
      },
      uploaded_files: {
        uploaded_file_array: [] /* Array of UploadedFile */,
      },
    },
  },
});
Message
| Name | Description | Type | 
|---|---|---|
object_type_id | The object type of the new object. | number | 
properties | Properties of the new object as JSON array (represented by MF_PropertyValue struct). | PropertyValue[] | 
acl | The ACL for the new object as JSON (represented by MF_ACL struct). | AccessControlList | 
options | Flags that control this operation. | OBJECTOPFLAGS | 
check_in | If true, the object is checked in immediately, otherwise the object is left to checked-out state. | boolean | 
files | File source. | ObjFileSource | 
Return type
| Name | Description | Type | 
|---|---|---|
is_visible_to_user | True if the latest version of the object is visible after the operation. | boolean | 
created_object | The information, properties, and ACL of the latest version of the object after the operation as JSON (if *pbLatestVisible is true). represented by MF_ObjectVersionExWP struct.) | ObjectVersionExWP | 
Example
{
  "is_visible_to_user": false,
  "created_object": {
    "object_version": {
      "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": {
          "type": 3 /* Enum: FileIDType */,
          "internal_id": 0,
          "external_repository_id": "<!< External file id.>"
        }
      },
      "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
        }
      }
    },
    "properties": [] /* Array of PropertyValue */,
    "acl": {
      "checked_out_to_user": 0,
      "is_fully_authoritative": false,
      "custom_component": {
        "named_acl_id": 0,
        "has_named_acl": false,
        "current_user_id": 0,
        "has_current_user": false,
        "permissions": [] /* Array of AccessControlEntry */,
        "overridability_permissions": [] /* Array of AccessControlEntry */,
        "status": {
          "all": false,
          "deleted": false,
          "source_item_linked_via_pseudo_users": false
        }
      },
      "restrictive_components": [] /* Array of AccessControlListComponentMapEntry */,
      "secondary_access_control_list": {} /* AccessControlList */,
      "additive_components": [] /* Array of AccessControlListComponentMapEntry */
    },
    "current_user_permissions": {
      "can_user_see": false,
      "can_user_edit": false,
      "can_user_delete": false,
      "can_user_change_permissions": false
    }
  }
}