The following API is updated to always return entryType, even if the OData $select query options is used and it doesn't include entryType:
GET /Repositories/{repositoryId}/Entries/{entryId}The following API is updated to always return entryType, even if the OData $select query options is used and it doesn't include entryType:
GET /Repositories/{repositoryId}/Searches/{taskId}/ResultsThe following API is updated to always return entryType, even if the OData $select query options is used and it doesn't include entryType:
POST /Repositories/{repositoryId}/SimpleSearchesThe following compares the Laserfiche Repository API V1 with V2 at time of release.
[BREAKING] Restructured the response body to return a single wrapped list for the following API:
GET /Repositories/{repoId}/AuditReasons[NEW] Added export APIs:
POST /Repositories/{repositoryId}/Entries/{entryId}/Export
/ExportAsync if you run into this restriction.POST /Repositories/{repositoryId}/Entries/{entryId}/ExportAsync
/Export API. See below to learn more about the long operations.[BREAKING] Removed export related APIs:
HEAD /Repositories/{repoId}/Entries/{entryId}/Laserfiche.Repository.Document/edocGET /Repositories/{repoId}/Entries/{entryId}/Laserfiche.Repository.Document/edocPOST /Repositories/{repoId}/Entries/{entryId}/Laserfiche.Repository.Document/GetEdocWithAuditReason[NEW] Added import APIs:
POST /Repositories/{repositoryId}/Entries/{entryId}/Folder/Import
/ImportAsync if you run into this restriction.POST /Repositories/{repositoryId}/Entries/CreateMultipartUploadUrls
/ImportUploadedParts API.POST /Repositories/{repositoryId}/Entries/{entryId}/Folder/ImportUploadedParts
/Import API. See below to learn more about the long operations.[BREAKING] Removed import API:
POST /Repositories/{repoId}/Entries/{parentEntryId}/{fileName} [BREAKING] Renamed the request body properties, renamed the response body properties, and changed the success status code to 202 Accepted for the following API:
DELETE /Repositories/{repoId}/Entries/{entryId} [BREAKING] Moved the autoRename query parameter to the request body for the following API:
PATCH /Repositories/{repoId}/Entries/{entryId} [BREAKING] Removed the Laserfiche.Repository. in the URL and changed the response to return an Entry for the following APIs:
DELETE /Repositories/{repoId}/Entries/{entryId}/Laserfiche.Repository.Document/edocDELETE /Repositories/{repoId}/Entries/{entryId}/Laserfiche.Repository.Document/pages [BREAKING] Removed the Laserfiche.Repository. in the URL, renamed the formatFields query parameter, and restructured the fields portion of the response body for the following API:
GET /Repositories/{repoId}/Entries/{entryId}/Laserfiche.Repository.Folder/children [BREAKING] Removed the Laserfiche.Repository. in the URL and moved the autoRename query parameter to the request body for the following API. Additionally, moved the copy functionality out to a new POST /Repositories/{repositoryId}/Entries/{entryId}/Folder/Copy API.
POST /Repositories/{repoId}/Entries/{entryId}/Laserfiche.Repository.Folder/children [BREAKING] Removed the Laserfiche.Repository. in the URL, moved the autoRename query parameter to the request body, renamed the response body properties, and changed the success status code to 202 Accepted for the following API:
POST /Repositories/{repoId}/Entries/{entryId}/Laserfiche.Repository.Folder/CopyAsync [BREAKING] Renamed the formatValue query parameter and restructured the response body for the following API:
GET /Repositories/{repoId}/Entries/{entryId}/fields[BREAKING] Restructured the request body and restructured the response body for the following API:
PUT /Repositories/{repoId}/Entries/{entryId}/fields[BREAKING] Restructured the request body and renamed the response body properties for the following API:
PUT /Repositories/{repoId}/Entries/{entryId}/links[BREAKING] Renamed the response body properties for the following APIs:
GET /Repositories/{repoId}/Entries/{entryId}/linksGET /Repositories/{repoId}/Entries/{entryId}/tagsPUT /Repositories/{repoId}/Entries/{entryId}/tags[BREAKING] Restructured the request body for the following API:
PUT /Repositories/{repoId}/Entries/{entryId}/template[BREAKING] Renamed the response body properties for the following APIs:
GET /Repositories/{repoId}/LinkDefinitionsGET /Repositories/{repoId}/LinkDefinitions/{linkTypeId}[BREAKING] Restructured the response body to return a wrapped list with renamed properties for the following API:
GET /Repositories[BREAKING] Removed APIs for getting a search status and cancelling a search. Use the new v2 Tasks APIs for getting the status and cancelling a set of one or more Tasks, including Search.
GET /Repositories/{repoId}/Searches/{searchToken}DELETE /Repositories/{repoId}/Searches/{searchToken} [BREAKING] Changed the URL to POST /Repositories/{repositoryId}/Searches/SearchAsync, renamed the response body properties, and changed the success status code to 202 Accepted for the following API:
POST /Repositories/{repoId}/Searches [BREAKING] Renamed the formatFields query parameter and restructured the fields portion of the response body for the following API:
GET /Repositories/{repoId}/Searches/{taskId}/Results [BREAKING] In the past, it was necessary to call POST /Repositories/{repoId}/ServerSession/Create first before making any other API calls. This is no longer required as any API can be called after receiving an access token. As a result, the following APIs have been removed.
POST /Repositories/{repoId}/ServerSession/CreatePOST /Repositories/{repoId}/ServerSession/RefreshPOST /Repositories/{repoId}/ServerSession/Invalidate [BREAKING] Renamed the formatFields query parameter and restructured the fields portion of the response body for the following API. Additionally, 200 OK status code is returned with an empty array instead of 204 No Content when no search results are found.
GET /Repositories/{repoId}/SimpleSearches[BREAKING] Renamed the response body properties for the following APIs:
GET /Repositories/{repoId}/TagDefinitionsPUT /Repositories/{repoId}/TagDefinitions/{tagId}[NEW] Added APIs for getting the status and cancelling a set of one or more Tasks.
GET /Repositories/{repositoryId}/TasksDELETE /Repositories/{repositoryId}/Tasks[BREAKING] Removed APIs for getting the status and cancelling a single Task.
GET /Repositories/{repoId}/Tasks/{operationToken}DELETE /Repositories/{repoId}/Tasks/{operationToken}[BREAKING] Getting the status of a Task, now uses the long polling technique and could return the result immediately (e.g. if the long operation failed or completed successfully) or after at most 60 seconds.
[BREAKING] Changed the /Fields portion of the URL to /FieldDefinitions for the following APIs:
GET /Repositories/{repoId}/TemplateDefinitions/{templateId}/FieldsGET /Repositories/{repoId}/TemplateDefinitions/Fields[BREAKING] Applies to the following APIs:
DELETE /Repositories/{repositoryId}/Entries/{entryId}POST /Repositories/{repositoryId}/Entries/{entryId}/Folder/CopyAsyncPOST /Repositories/{repositoryId}/Entries/{entryId}/ExportAsyncPOST /Repositories/{repositoryId}/Entries/{entryId}/Folder/ImportUploadedPartsPOST /Repositories/{repositoryId}/Searches/SearchAsyncLong operations will return a taskId property instead of a token. The taskId will still be used by the Tasks APIs for getting the status and cancelling long operations.
Error handling has now been centralized. Long operations will return a taskId property immediately if possible, and errors (e.g. validation errors or the errors that may occur during the execution of the operation) can be found by checking the status of the long operation using GET /Repositories/{repositoryId}/Tasks. Previously in v1, errors could be returned when creating the API or when checking the status of the long operation.
OAuth 2.0 scopes are mandatory in v2 and will issue a 403 Forbidden response if your access token does not have the correct scopes. See the documentation in the Swagger Playground for the required OAuth scope needed to access each API. Learn more about OAuth scopes here.
Properties with null value are omitted during response serialization, if the corresponding property is a Collection type, or a Nullable Integral type.