openapi: 3.2.0 info: version: '1' title: MOVEit Transfer REST Files API x-swagger-net-version: 8.5.28.001 x-logo: url: images/MOVEitLogo.svg description: '**Release 2025.1**, **version 17.01** *MOVEit securely collects, stores, manages, and distributes information within organizations, between businesses, and more...* > **Important!** The REST API is an optionally licensed feature that runs at the MOVEit Transfer Server.' servers: - url: https://127.0.0.1 tags: - name: Files paths: /api/v1/files/{Id}: get: tags: - Files summary: Return file details operationId: GETapi/v1/files/{Id}-1.0 parameters: - name: Id in: path description: File ID required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileDetailsModel' text/json: schema: $ref: '#/components/schemas/FileDetailsModel' application/problem+json: schema: $ref: '#/components/schemas/FileDetailsModel' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] delete: tags: - Files summary: Delete file operationId: DELETEapi/v1/files/{Id}-1.0 parameters: - name: Id in: path description: File ID required: true schema: type: string responses: '204': description: No Content content: application/json: schema: $ref: '#/components/schemas/Void' text/json: schema: $ref: '#/components/schemas/Void' application/problem+json: schema: $ref: '#/components/schemas/Void' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] patch: tags: - Files summary: Partial file update operationId: PATCHapi/v1/files/{Id}-1.0 parameters: - name: Id in: path description: ID of the file to update required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileDetailsModel' text/json: schema: $ref: '#/components/schemas/FileDetailsModel' application/problem+json: schema: $ref: '#/components/schemas/FileDetailsModel' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/FilePatchModel' text/json: schema: $ref: '#/components/schemas/FilePatchModel' application/problem+json: schema: $ref: '#/components/schemas/FilePatchModel' description: Request body required: true /api/v1/files/{Id}/download: get: tags: - Files summary: Download file operationId: GETapi/v1/files/{Id}/download-1.0 parameters: - name: Id in: path description: File ID required: true schema: type: string responses: '200': description: OK content: application/octet-stream: schema: type: string format: binary '403': description: Forbidden content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/octet-stream: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] /api/v1/files/{Id}/newstates: get: tags: - Files summary: Return collection of users with file is new information description: Available for org admin or higher operationId: GETapi/v1/files/{Id}/newstates?Page={Page}&PerPage={PerPage}&SortField={SortField}&SortDirection={SortDirection}-1.0 parameters: - name: Id in: path description: File ID required: true schema: type: string - name: page in: query description: Page number to display required: false schema: type: integer format: int32 - name: perPage in: query description: Items per page in result collection; Default is 25 required: false schema: type: integer format: int32 - name: sortField in: query description: Name of field to sort the results by. (username, isnew); Default is username. required: false schema: type: string - name: sortDirection in: query description: Sort direction; Default is ascending. required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/PagedModelOfFileIsNewForUserModel' text/json: schema: $ref: '#/components/schemas/PagedModelOfFileIsNewForUserModel' application/problem+json: schema: $ref: '#/components/schemas/PagedModelOfFileIsNewForUserModel' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] post: tags: - Files summary: Set file is new for user description: Available for org admin or higher operationId: POSTapi/v1/files/{Id}/newstates-1.0 parameters: - name: Id in: path description: File ID required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileIsNewForUserModel' text/json: schema: $ref: '#/components/schemas/FileIsNewForUserModel' application/problem+json: schema: $ref: '#/components/schemas/FileIsNewForUserModel' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/FileSetIsNewForUserModel' text/json: schema: $ref: '#/components/schemas/FileSetIsNewForUserModel' application/problem+json: schema: $ref: '#/components/schemas/FileSetIsNewForUserModel' description: Request body required: true /api/v1/files: get: tags: - Files summary: Get list of files current user can view operationId: GETapi/v1/files?Page={Page}&PerPage={PerPage}&SortField={SortField}&SortDirection={SortDirection}&NewOnly={NewOnly}&SinceDate={SinceDate}-1.0 parameters: - name: page in: query description: Page number to display required: false schema: type: integer format: int32 - name: perPage in: query description: Items per page in result collection; Default is 25 required: false schema: type: integer format: int32 - name: sortField in: query description: Name of field to sort the results by. (name, size, datetime, uploadstamp or path); Default is Path. required: false schema: type: string - name: sortDirection in: query description: Sort direction; Default is ascending. required: false schema: type: string - name: newOnly in: query description: Filter new files required: false schema: type: boolean - name: sinceDate in: query description: 'Optional parameter if we want to filter files uploaded from the given date. Date should not be older than 7 days.' required: false schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/SimpleFileResourcePagedModel' text/json: schema: $ref: '#/components/schemas/SimpleFileResourcePagedModel' application/problem+json: schema: $ref: '#/components/schemas/SimpleFileResourcePagedModel' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] /api/v1/files/detailed: get: tags: - Files summary: Retrieves a list of files that match the specified wildcard path and file mask… operationId: GETapi/v1/files/detailed?PathMask={PathMask}&FileMask={FileMask}&Recursive={Recursive}&NewOnly={NewOnly}&SortField={SortField}&SortDirection={SortDirection}&SinceDate={SinceDate}-1.0 parameters: - name: pathMask in: query description: 'The path that may contain wildcards to specify the target directory for the search. For example, "home/user/*" will search in any folder that matches this pattern under "home/user".' required: true schema: type: string - name: fileMask in: query description: An optional file mask used to filter the search results, such as "*.pdf" for text files. required: true schema: type: string - name: recursive in: query description: Indicates whether the search should include files in subdirectories (recursive search). required: false schema: type: boolean - name: newOnly in: query description: Determines whether only files that are new should be included in the results. required: false schema: type: boolean - name: sortField in: query description: "The field by which the search results should be sorted. \nAcceptable values include:\n- UploadStamp: Sort by the date and time the file was uploaded.\n- FileSize: Sort by the size of the file.\nIf an unsupported value is provided, the results will be sorted by the file path." required: false schema: type: string - name: sortDirection in: query description: The order in which to sort the search results, "asc" for ascending or "desc" for descending. required: false schema: type: string - name: sinceDate in: query description: The date used to filter results. required: false schema: type: string responses: '200': description: OK content: application/json: schema: items: $ref: '#/components/schemas/FileDetailsModel' xml: name: FileDetailsModel wrapped: true type: array text/json: schema: items: $ref: '#/components/schemas/FileDetailsModel' xml: name: FileDetailsModel wrapped: true type: array application/problem+json: schema: items: $ref: '#/components/schemas/FileDetailsModel' xml: name: FileDetailsModel wrapped: true type: array '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] /api/v1/files/{Id}/copy: post: tags: - Files summary: Copy file into another folder operationId: POSTapi/v1/files/{Id}/copy-1.0 parameters: - name: Id in: path description: ID of the file to copy required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileDetailsModel' text/json: schema: $ref: '#/components/schemas/FileDetailsModel' application/problem+json: schema: $ref: '#/components/schemas/FileDetailsModel' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '404': description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '409': description: Operation Conflicted content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/FileCopyMoveModel' text/json: schema: $ref: '#/components/schemas/FileCopyMoveModel' application/problem+json: schema: $ref: '#/components/schemas/FileCopyMoveModel' description: File copy request details required: true /api/v1/files/{Id}/move: post: tags: - Files summary: Move file into another folder operationId: POSTapi/v1/files/{Id}/move-1.0 parameters: - name: Id in: path description: ID of the file to move required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileDetailsModel' text/json: schema: $ref: '#/components/schemas/FileDetailsModel' application/problem+json: schema: $ref: '#/components/schemas/FileDetailsModel' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '404': description: Resource Not Found content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '409': description: Operation Conflicted content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/FileCopyMoveModel' text/json: schema: $ref: '#/components/schemas/FileCopyMoveModel' application/problem+json: schema: $ref: '#/components/schemas/FileCopyMoveModel' description: File move request details required: true /api/v1/files/{Id}/attachments: post: tags: - Files summary: Create attachment from existing file operationId: POSTapi/v1/files/{Id}/attachments-1.0 parameters: - name: Id in: path description: ID for file existing in MOVEit Transfer required: true schema: type: string responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/FileDetailsModel' text/json: schema: $ref: '#/components/schemas/FileDetailsModel' application/problem+json: schema: $ref: '#/components/schemas/FileDetailsModel' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] /api/v1/files/{Id}/newstates/{userId}: delete: tags: - Files summary: Set file as not new for user description: Available for org admin or higher operationId: DELETEapi/v1/files/{Id}/newstates/{userId}-1.0 parameters: - name: Id in: path description: File ID required: true schema: type: string - name: userId in: path description: ID for existing user required: true schema: type: string responses: '204': description: No Content content: application/json: schema: $ref: '#/components/schemas/Void' text/json: schema: $ref: '#/components/schemas/Void' application/problem+json: schema: $ref: '#/components/schemas/Void' '403': description: Forbidden content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' '500': description: Server Error content: application/json: schema: $ref: '#/components/schemas/ErrorModel' text/json: schema: $ref: '#/components/schemas/ErrorModel' application/problem+json: schema: $ref: '#/components/schemas/ErrorModel' security: - Authorization: [] components: schemas: SimpleFileResourcePagedModel: properties: currentTimestamp: type: string items: description: Items on the given page items: $ref: '#/components/schemas/SimpleFileResourceModel' readOnly: true xml: name: SimpleFileResourceModel wrapped: true type: array paging: $ref: '#/components/schemas/PagingInfoModel' description: Paging data for given response sorting: description: Sorting data for given response items: $ref: '#/components/schemas/SortFieldDto' xml: name: SortFieldDto wrapped: true type: array xml: name: SimpleFileResourcePagedModel type: object FileIsNewForUserModel: properties: user: $ref: '#/components/schemas/SimpleUserModel' isNew: type: boolean xml: name: FileIsNewForUserModel type: object FileCopyMoveModel: properties: destinationFolderId: type: string xml: name: FileCopyMoveModel type: object SimpleFileResourceModel: description: 'Container object used to provide information about a specific file on a MOVEit Transfer server.' properties: folderID: description: ID of the folder this file is currently in. type: integer format: int32 uploadUsername: description: The username of the user account which uploaded this file. type: string path: description: The full path of this file. type: string uploadStamp: description: The date and time this file was uploaded. type: string isNew: description: Indicating whether the file is considered new for the current user type: boolean name: description: The name of this file. type: string size: description: Size in bytes of this file. type: integer format: int64 id: description: The unique ID of the file. Also known as the tracking number. type: string xml: name: SimpleFileResourceModel type: object FileDetailsModel: description: Represents a file and all available attributes properties: orgID: description: ID of the organization this file exists in. type: string originalFileType: description: Describes what type of file this file was originally. type: string enum: - Any - Text - HTML - CSV - XML - WebPost - AuditLog - Message - MessageArchive - MessageDraft - MessageTemplate - Upload31 - Upload32 currentFileType: description: Describes what type of file this file is currently. type: string enum: - Any - Text - HTML - CSV - XML - WebPost - AuditLog - Message - MessageArchive - MessageDraft - MessageTemplate - Upload31 - Upload32 uploadComment: description: Any optional comments uploaded with this file. type: string uploadIP: description: The IP Address, if any, from which this file was uploaded. type: string uploadAgentBrand: description: Brand of the agent used to upload this file. type: string uploadAgentVersion: description: Version of the agent used to upload this file. type: string uploadIntegrity: description: 1 if file was uploaded with integrity checking, 0 if file was not. type: integer format: int32 dlpChecked: description: If true, the file was determined to not have a DLP violation; otherwise, the file was either not checked, or does contain a violation. type: boolean dlpMetaData: description: If 1, the file’s metadata contains DLP violations, and should not be displayed. Otherwise, if 0, there are no DLP violations in the file metadata. type: integer format: int32 dlpViolation: description: File DLP violation info type: string dlpBlocked: description: When true, the file contains DLP violations that prevent it from being downloaded, according to currently configured DLP rules. type: boolean uploadUserFullName: description: The real name of the user account which uploaded this file. type: string downloadCount: description: Number of times this file has been downloaded. type: integer format: int32 originalFilename: description: The original name of this file. type: string hash: description: SHA-1 hash of the file type: string folderID: description: ID of the folder this file is currently in. type: integer format: int32 uploadUsername: description: The username of the user account which uploaded this file. type: string path: description: The full path of this file. type: string uploadStamp: description: The date and time this file was uploaded. type: string isNew: description: Indicating whether the file is considered new for the current user type: boolean name: description: The name of this file. type: string size: description: Size in bytes of this file. type: integer format: int64 id: description: The unique ID of the file. Also known as the tracking number. type: string xml: name: FileDetailsModel type: object SimpleUserModel: description: Simple user model for user lists. properties: id: description: User ID. type: string orgID: description: ID of organization user is a member of. type: integer format: int32 username: description: User login name. type: string fullName: description: User full name. type: string permission: description: User permission. type: string enum: - Anonymous - TemporaryUser - User - AuditUser - FileAdmin - Admin - SysAdmin email: description: User email address. type: string status: description: User security status. type: string enum: - Active - Suspended - Template lastLoginStamp: description: Time of last user login. Null if user has not logged in yet. type: string xml: name: SimpleUserModel type: object FileSetIsNewForUserModel: properties: userId: description: User ID for user you want to reset/set file isNew state for type: string xml: name: FileSetIsNewForUserModel type: object SortFieldDto: properties: sortField: type: string sortDirection: type: string enum: - asc - desc xml: name: SortFieldDto type: object PagingInfoModel: description: Information about paging for collection response properties: page: description: Current page in collection type: integer format: int32 perPage: description: Items per page type: integer format: int32 totalItems: description: Total items in collection type: integer format: int64 totalPages: description: Total number of pages in collection readOnly: true type: integer format: int32 xml: name: PagingInfoModel type: object FilePatchModel: description: File Update parameters properties: name: description: New file name to set type: string isNew: description: IsNew to set type: boolean xml: name: FilePatchModel type: object Void: properties: {} xml: name: Void type: object ErrorModel: description: Represents an error returned by API properties: detail: description: An explanation specific to this occurrence of the error type: string errorCode: description: An error number, defined by the application type: integer format: int32 default: 0 title: description: Short summary of the error type type: string xml: name: ErrorModel type: object PagedModelOfFileIsNewForUserModel: description: Represents paged response object with proper navigations properties: items: description: Items on the given page items: $ref: '#/components/schemas/FileIsNewForUserModel' readOnly: true xml: name: FileIsNewForUserModel wrapped: true type: array paging: $ref: '#/components/schemas/PagingInfoModel' description: Paging data for given response sorting: description: Sorting data for given response items: $ref: '#/components/schemas/SortFieldDto' xml: name: SortFieldDto wrapped: true type: array xml: name: PagedModel`1 type: object securitySchemes: Authorization: type: apiKey description: 'Transfer API token. Put token value obtained using following format: "Bearer {token}"' name: Authorization in: header