Document toolboxDocument toolbox

Batch FileHandle and File URL Services

When we added the Bulk File Download feature we set up security infrastructure to allow users to download any Synapse file using the following triple: FileHandleAssociation.  This set the stage for building a new web-service that could replace the following calls with a single call:

APIStatusAssociationObjectIdAssociationObjectType

GET /entity/{id}/file

REPLACEDentityIdFileEntity

GET /entity/{id}/version/{versionNumber}/file

REPLACEDentityIdFileEntity

GET /entity/{id}/filepreview




GET /entity/{id}/version/{versionNumber}/filepreview




GET /entity/{id}/filehandles

REPLACEDentityIdFileEntity
GET /entity/{id}/version/{versionNumber}/filehandlesREPLACEDentityIdFileEntity

GET /fileHandle/{handleId}/url

REPLACED

GET /file/{id}

REPLACED

GET /fileHandle/{handleId}

REPLACED

POST /entity/{id}/table/filehandles




GET /entity/{id}/table/column/{columnId}/row/{rowId}/version/{versionNumber}/file

REPLACEDentityIdTableEntity

GET /entity/{id}/table/column/{columnId}/row/{rowId}/version/{versionNumber}/filepreview




GET /team/{id}/iconREPLACEDteamIdTeamAttachment

GET /userProfile/{profileId}/image

REPLACEDuserIdUserProfileAttachment

GET /userProfile/{profileId}/image/preview




GET /entity/{ownerId}/wiki/{wikiId}/attachmenthandles

REPLACEDwikiIdWikiAttachment

GET /evaluation/{ownerId}/wiki/{wikiId}/attachmenthandles




GET /entity/{ownerId}/wiki/{wikiId}/attachment

REPLACEDwikiIdWikiAttachment

GET /evaluation/{ownerId}/wiki/{wikiId}/attachment




GET /evaluation/{ownerId}/wiki/{wikiId}/attachmentpreview


GET /entity/{ownerId}/wiki2/{wikiId}/attachmenthandles

REPLACEDwikiIdWikiAttachment

GET /access_requirement/{ownerId}/wiki2/{wikiId}/attachmenthandles




GET /evaluation/{ownerId}/wiki2/{wikiId}/attachmenthandles




GET /entity/{ownerId}/wiki2/{wikiId}/attachment

REPLACEDwikiIdWikiAttachment

GET /access_requirement/{ownerId}/wiki2/{wikiId}/attachment




GET /evaluation/{ownerId}/wiki2/{wikiId}/attachment




GET /entity/{ownerId}/wiki2/{wikiId}/attachmentpreview




GET /access_requirement/{ownerId}/wiki2/{wikiId}/attachmentpreview




GET /evaluation/{ownerId}/wiki2/{wikiId}/attachmentpreview




GET /entity/{ownerId}/wiki2/{wikiId}/markdown

REPLACEDwikiIdWikiMarkdown

GET /access_requirement/{ownerId}/wiki2/{wikiId}/markdown




GET /evaluation/{ownerId}/wiki2/{wikiId}/markdown




GET /message/{messageId}/file

REPLACEDmessageIdMessageAttachment


Related Issues

Download Audit Record

For each file included in the results, an audit record will capture the following data:

  • FileHandleId
  • AssociatedObjectId
  • AssociatedObjectType
  • UserId
  • Timestamp

Object Model

Rest API

URLMethodRequest BodyResponse Body

Authorization

Description
/filehandle/batchPOSTBatchFileRequestBatchFileResultAnyoneCall to request a batch of FileHandles, presignedUrls, or both.  A FileResult will be unconditionally returned for each FileRequest.  If the requested FileHandle does not exist then a failureCode=NOT_FOUND will be returned.  If the caller is not authorized to download a requested file then a failurecode=UNAUTHORIZED will be returned.  Returns status code: 201.  Limit of 100 FileRequests per call.