// Copyright Laserfiche. // Licensed under the MIT License. // THIS "swagger": "2.0" DEFINITION IS NOT SUPPORTED OR TESTED BY LASERFICHE. USE AT YOUR OWN RISK. { "x-generator": "NSwag v14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0))", "swagger": "2.0", "info": { "title": "Laserfiche Repository API", "description": "Welcome to the Laserfiche API Swagger Playground. You can try out any of our API calls against your live Laserfiche Cloud account. Visit the developer center for more details: https://developer.laserfiche.com

Visit the changelog for the list of changes: /repository/v2/changelog

Build# : develop_localbuild+69c7f337a8ae3b90af88dc1080328c042d5a13df

", "version": "2" }, "host": "localhost:11211", "basePath": "/repository", "schemes": [ "http", "https" ], "paths": { "/v2/Repositories/{repositoryId}/Attributes": { "get": { "tags": [ "Attributes" ], "summary": "Returns the attribute key value pairs associated with the authenticated user.", "description": "- Returns the attribute key value pairs associated with the authenticated user. Alternatively, return only the attribute key value pairs that are associated with the \"Everyone\" group.\n- Attribute keys can be used with subsequent calls to get specific attribute values.\n- Optional query parameters: everyone (bool, default false). When true, this route does not return the attributes that are tied to the currently authenticated user, but rather the attributes assigned to the \"Everyone\" group. Note when this is true, the response does not include both the \"Everyone\" groups attribute and the currently authenticated user, but only the \"Everyone\" groups.\n- Default page size: 100. Allowed OData query options: Select, Count, OrderBy, Skip, Top, SkipToken, Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListAttributes", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "boolean", "name": "everyone", "in": "query", "description": "Indicates if attributes associated with the \"Everyone\" group or the currently authenticated user is returned. The default value is false.", "default": false, "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of attributes associated with the authenticated user.", "schema": { "$ref": "#/definitions/AttributeCollectionResponse" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Attributes/{attributeKey}": { "get": { "tags": [ "Attributes" ], "summary": "Returns an attribute object associated with the authenticated user.", "description": "- Returns the attribute associated with the key. Alternatively, return the attribute associated with the key within \"Everyone\" group.\n- Optional query parameters: everyone (bool, default false). When true, the server only searches for the attribute value with the given key upon the authenticated users attributes. If false, only the authenticated users attributes will be queried.\n- Required OAuth scope: repository.Read", "operationId": "GetAttribute", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "attributeKey", "in": "path", "required": true, "description": "The requested attribute key.", "x-nullable": false }, { "type": "boolean", "name": "everyone", "in": "query", "description": "Indicates if attributes associated with the \"Everyone\" group or the currently authenticated user is returned. The default value is false.", "default": false, "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A single attribute associated with the authenticated user.", "schema": { "$ref": "#/definitions/Attribute" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested attribute key not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/AuditReasons": { "get": { "tags": [ "AuditReasons" ], "summary": "Returns the audit reasons associated with the authenticated user.", "description": "- Returns the audit reasons associated with the authenticated user. Inherited audit reasons are included.\n- Only includes audit reasons associated with available API functionalities, like delete entry and export document.\n- If the authenticated user does not have the appropriate Laserfiche feature right, the audit reasons associated with that feature right will not be included.\n- Required OAuth scope: repository.Read", "operationId": "ListAuditReasons", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of audit reasons.", "schema": { "$ref": "#/definitions/AuditReasonCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/FieldDefinitions/{fieldId}": { "get": { "tags": [ "FieldDefinitions" ], "summary": "Returns a single field definition object.", "description": "- Returns a single field definition associated with the specified ID. \n- Useful when a route provides a minimal amount of details and more information about the specific field definition is needed.\n- Allowed OData query options: Select\n- Required OAuth scope: repository.Read", "operationId": "GetFieldDefinition", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "fieldId", "in": "path", "required": true, "description": "The requested field definition ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "A single field definition.", "schema": { "$ref": "#/definitions/FieldDefinition" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested field definition id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/FieldDefinitions": { "get": { "tags": [ "FieldDefinitions" ], "summary": "Returns the paged listing of the field definitions available in a repository.", "description": "- Returns a paged listing of field definitions available in the specified repository.\n- Useful when trying to find a list of all field definitions available, rather than only those assigned to a specific entry/template.\n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListFieldDefinitions", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of field definitions.", "schema": { "$ref": "#/definitions/FieldDefinitionCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/LinkDefinitions": { "get": { "tags": [ "LinkDefinitions" ], "summary": "Returns the link definitions associated with a repository.", "description": "- Returns the link definitions in the repository.\n- Provide a repository ID and get a paged listing of link definitions available in the repository. Useful when trying to display all link definitions available, not only links assigned to a specific entry.\n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListLinkDefinitions", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of link definitions.", "schema": { "$ref": "#/definitions/LinkDefinitionCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/LinkDefinitions/{linkDefinitionId}": { "get": { "tags": [ "LinkDefinitions" ], "summary": "Returns a single link definition object.", "description": "- Returns a single link definition associated with the specified ID.\n- Provide a link definition ID and get the associated link definition. Useful when a route provides a minimal amount of details and more information about the specific link definition is needed.\n- Allowed OData query options: Select\n- Required OAuth scope: repository.Read", "operationId": "GetLinkDefinition", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "linkDefinitionId", "in": "path", "required": true, "description": "The requested link definition ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "A single link definition.", "schema": { "$ref": "#/definitions/LinkDefinition" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested link definition ID not found", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/CreateMultipartUploadUrls": { "post": { "tags": [ "Entries" ], "summary": "Requests Upload URLs to upload a large file in chunks.", "description": "- Requests Upload URLs to upload a large file in chunks.\n- Returns an UploadId and an array of URLs to which the file chunks should be written in the same order.\n- To request a new batch of Upload URLs for the same file, set the value of UploadId to the one returned when the first batch of Upload URLs was requested. For requesting the first batch of Upload URLs, leave UploadId empty or null.\n- Example: if a file is going to be uploaded in 10 chunks, the 10 Upload URLs can be retrieved by two successive calls to this api, each call requesting 5 Upload URLs. For this, the first call should have StartingPartNumber=1 and NumberOfParts=5, and the second call should have StartingPartNumber=6 and NumberOfParts=5, along with UploadId returned in the first call.\n- Each Upload URL expires after 15 minutes.\n- Each file chunk written to an Upload URL should be at least 5 MB and at most 5 GB. There is no minimum size limit for the last chunk.\n- The value of NumberOfParts must be in the range [1, 100], meaning that in each call to this api, a maximum of 100 Upload URLs can be requested. \n- The total number of Upload URLs for a single file is 1000, which means (StartingPartNumber + NumberOfParts) should be less than or equal to 1001.\n- Required OAuth scope: repository.Write", "operationId": "CreateMultipartUploadUrls", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/CreateMultipartUploadUrlsRequest" }, "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A response containing an upload id and an array of upload URLs.", "schema": { "$ref": "#/definitions/CreateMultipartUploadUrlsResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested repository not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Folder/ImportUploadedParts": { "post": { "tags": [ "Entries" ], "summary": "Starts an asynchronous import task to import a document into a folder.", "description": "- Imports a new file in the specified folder. The file should be already written (in chunks) to the upload URLs obtained by calling the Upload api. The maximum file size allowed is 64 GB.\n- This route does not support partial success.\n- Required OAuth scope: repository.Write", "operationId": "StartImportUploadedParts", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The entry ID of the folder that the document will be created in.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "description": "The request body.", "schema": { "$ref": "#/definitions/StartImportUploadedPartsRequest" }, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag. This may be used when setting field values with tokens.", "default": "", "x-nullable": true } ], "responses": { "202": { "x-nullable": false, "description": "A long operation task id.", "schema": { "$ref": "#/definitions/StartTaskResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested repository not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "x-nullable": false, "description": "Import operation failed due to an internal server error.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/ExportAsync": { "post": { "tags": [ "Entries" ], "summary": "Starts an asynchronous export task to export an entry.", "description": "- Starts an asynchronous export operation to export an entry.\n- If successful, it returns a taskId which can be used to check the status of the export operation or download the export result, otherwise, it returns an error.\n- Required OAuth scope: repository.Read", "operationId": "StartExportEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The ID of entry to export.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "pageRange", "in": "query", "description": "A comma-separated range of pages to include. Ex: 1,3,4 or 1-3,5-7,9. This value is ignored when part=Edoc.", "x-nullable": true }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/StartExportEntryRequest" }, "x-nullable": false } ], "responses": { "202": { "x-nullable": false, "description": "A long operation task id.", "schema": { "$ref": "#/definitions/StartTaskResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested repository not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "x-nullable": false, "description": "Export operation failed due to an internal server error.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Folder/CopyAsync": { "post": { "tags": [ "Entries" ], "summary": "Starts an asynchronous copy task to copy an entry into a folder.", "description": "- Copy a new child entry in the designated folder async, and potentially return a taskId.\n- Provide the parent folder ID, and copy an entry as a child of the designated folder.\n- The status of the operation can be checked via the Tasks route.\n- Token substitution in the name of the copied entry is not supported.\n- Required OAuth scope: repository.Write", "operationId": "StartCopyEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The folder ID that the entry will be created in.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/StartCopyEntryRequest" }, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag.", "default": "", "x-nullable": true } ], "responses": { "202": { "x-nullable": false, "description": "A long operation task id.", "schema": { "$ref": "#/definitions/StartTaskResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Operation limit or request limit reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested repository not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}": { "delete": { "tags": [ "Entries" ], "summary": "Starts an asynchronous delete task to delete an entry.", "description": "- Begins a task to delete an entry, and returns a taskId.\n- Provide an entry ID, and queue a delete task to remove it from the repository (includes nested objects if the entry is a Folder type). The entry will not be deleted immediately.\n- Optionally include an audit reason ID and comment in the JSON body. This route returns a taskId, and will run as an asynchronous operation. Check the progress via the Tasks route.\n- Required OAuth scope: repository.Write", "operationId": "StartDeleteEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "description": "The submitted audit reason.", "schema": { "$ref": "#/definitions/StartDeleteEntryRequest" }, "x-nullable": false } ], "responses": { "202": { "x-nullable": false, "description": "A long operation task id.", "schema": { "$ref": "#/definitions/StartTaskResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested repository not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Operation limit or request limit reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "get": { "tags": [ "Entries" ], "summary": "Returns a single entry object.", "description": "- Returns a single entry object.\n- Provide an entry ID, and get the entry associated with that ID. Useful when detailed information about the entry is required, such as metadata, path information, etc.\n- If the entry is a subtype (Folder, Document, or Shortcut), the entry will automatically be converted to include those model-specific properties.\n- Allowed OData query options: Select.\n- When OData Select query option is used, 'entryType' is always included in the result.\n- Required OAuth scope: repository.Read", "operationId": "GetEntry", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "A single entry.", "schema": { "$ref": "#/definitions/Entry" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "patch": { "tags": [ "Entries" ], "summary": "Update an entry. (Move and/or Rename)", "description": "- Update an entry. (Move and/or Rename)\n- Move an entry to a new folder by setting the ParentId in the request body.\n- Rename an entry by setting the Name in the request body.\n- Required OAuth scope: repository.Write", "operationId": "UpdateEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The request containing the folder ID that the entry will be moved to and the new name the entry will be renamed to.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/UpdateEntryRequest" }, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag.", "default": "", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "The updated entry.", "schema": { "$ref": "#/definitions/Entry" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "409": { "x-nullable": false, "description": "Entry name conflicts.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Folder/Import": { "post": { "tags": [ "Entries" ], "summary": "Imports a file into a folder (max length: 100 MB).", "description": "- Import a new document in the specified folder, and optionally assigns metadata.\n- The import may fail if the file is greater than 100 MB or time out if it takes longer than 60 seconds. These values are subject to change at anytime. Use the long operation asynchronous import if you run into these restrictions.\n- Required OAuth scope: repository.Write", "operationId": "ImportEntry", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The entry ID of the folder that the document will be created in.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag. This may be used when setting field values with tokens.", "default": "", "x-nullable": true }, { "name": "body", "in": "body", "schema": { "type": "object", "additionalProperties": {}, "required": [ "file", "request" ], "properties": { "file": { "type": "string", "format": "binary" }, "request": { "additionalProperties": {}, "$ref": "#/components/schemas/ImportEntryRequest" } } } } ], "responses": { "201": { "x-nullable": false, "description": "The created entry.", "schema": { "$ref": "#/definitions/Entry" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "x-nullable": false, "description": "Document creation is completely failed.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Export": { "post": { "tags": [ "Entries" ], "summary": "Exports an entry.", "description": "- Export an entry.\n- The export may time out if it takes longer than 60 seconds. This value is subject to change at anytime. Use the long operation asynchronous export if you run into this restriction.\n- Required OAuth scope: repository.Read", "operationId": "ExportEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The ID of entry to export.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "pageRange", "in": "query", "description": "A comma-separated range of pages to include. Ex: 1,3,4 or 1-3,5-7,9. This value is ignored when exporting as Edoc.", "x-nullable": true }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/ExportEntryRequest" }, "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A link to download the exported entry.", "schema": { "$ref": "#/definitions/ExportEntryResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "500": { "x-nullable": false, "description": "Export operation failed due to an internal server error.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/ByPath": { "get": { "tags": [ "Entries" ], "summary": "Returns a single entry object using the entry path.", "description": "- Returns a single entry object using the entry path.\n- Optional query parameter: fallbackToClosestAncestor. Use the fallbackToClosestAncestor query parameter to return the closest existing ancestor if the initial entry path is not found.\n- Required OAuth scope: repository.Read", "operationId": "GetEntryByPath", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "fullPath", "in": "query", "required": true, "description": "The requested entry path.", "x-nullable": false }, { "type": "boolean", "name": "fallbackToClosestAncestor", "in": "query", "description": "An optional query parameter used to indicate whether or not the closest ancestor in the path should be returned if the initial entry path is not found. The default value is false.", "default": false, "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "The found entry or ancestor entry.", "schema": { "$ref": "#/definitions/GetEntryByPathResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested entry path not found", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Folder/Children": { "get": { "tags": [ "Entries" ], "summary": "Returns the children entries of a folder.", "description": "- Returns the children entries of a folder in the repository.\n- Provide an entry ID (must be a folder), and get a paged listing of entries in that folder. Used as a way of navigating through the repository.\n- Entries returned in the listing are not automatically converted to their subtype (Folder, Shortcut, Document), so clients who want model-specific information should request it via the GET entry by ID route.\n- Optional query parameters: groupByEntryType (bool). This query parameter decides if results are returned in groups based on their entry type. \n- Optionally returns field values for the entries in the folder. Each field name needs to be specified in the request. Maximum limit of 10 field names. If field values are requested, only the first value is returned if it is a multi value field. The remaining field values can be retrieved via the GET fields route. Null or Empty field values should not be used to determine if a field is assigned to the entry.\n- Default page size: 150. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer. OData $OrderBy syntax should follow: \"PropertyName direction,PropertyName2 direction\". Sort order can be either value \"asc\" or \"desc\".\n- Required OAuth scope: repository.Read", "operationId": "ListEntries", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The folder ID.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "groupByEntryType", "in": "query", "description": "Indicates if the result should be grouped by entry type or not. The default value is false.", "default": false, "x-nullable": false }, { "type": "array", "name": "fields", "in": "query", "description": "Optional array of field names. Field values corresponding to the given field names will be returned for each entry.", "collectionFormat": "multi", "x-nullable": true, "items": { "type": "string" } }, { "type": "boolean", "name": "formatFieldValues", "in": "query", "description": "Indicates if field values should be formatted. Only applicable if Fields are specified. The default value is false.", "default": false, "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag. The formatFieldValues query parameter must be set to true, otherwise culture will not be used for formatting.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of children entries of a folder.", "schema": { "$ref": "#/definitions/EntryCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "post": { "tags": [ "Entries" ], "summary": "Creates a new child entry in a folder.", "description": "- Create a new child entry in the designated folder.\n- Provide the parent folder ID, and based on the request body, create a folder/shortcut as a child entry of the designated folder.\n- Required OAuth scope: repository.Write", "operationId": "CreateEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The folder ID that the entry will be created in.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/CreateEntryRequest" }, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag.", "default": "", "x-nullable": true } ], "responses": { "201": { "x-nullable": false, "description": "The created entry.", "schema": { "$ref": "#/definitions/Entry" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "409": { "x-nullable": false, "description": "Entry name conflicts.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Fields": { "get": { "tags": [ "Entries" ], "summary": "Returns the fields assigned to an entry.", "description": "- Returns the fields assigned to an entry.\n- Provide an entry ID, and get a paged listing of all fields assigned to that entry.\n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListFields", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "boolean", "name": "formatFieldValues", "in": "query", "description": "An optional query parameter used to indicate if the field values should be formatted. The default value is false.", "default": false, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag. The formatFieldValues query parameter must be set to true, otherwise culture will not be used for formatting.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of fields assigned to the entry.", "schema": { "$ref": "#/definitions/FieldCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "put": { "tags": [ "Entries" ], "summary": "Updates the field values assigned to an entry.", "description": "- Update the field values assigned to an entry.\n- Provide the new field values to assign to the entry, and remove/reset all previously assigned field values.\n- This is an overwrite action. The request body must include all desired field values, including any existing field values that should remain assigned to the entry. Field values that are not included in the request will be deleted from the entry. If the field value that is not included is part of a template, it will still be assigned (as required by the template), but its value will be reset.\n- Required OAuth scope: repository.Write", "operationId": "SetFields", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The entry ID of the entry that will have its fields updated.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "$ref": "#/definitions/SetFieldsRequest" }, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag. This may be used when setting field values with tokens.", "default": "", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "A collection of fields assigned to the entry.", "schema": { "$ref": "#/definitions/FieldCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Tags": { "get": { "tags": [ "Entries" ], "summary": "Returns the tags assigned to an entry.", "description": "- Returns the tags assigned to an entry.\n- Provide an entry ID, and get a paged listing of tags assigned to that entry.\n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListTags", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of tags assigned to the entry.", "schema": { "$ref": "#/definitions/TagCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "put": { "tags": [ "Entries" ], "summary": "Assigns tags to an entry.", "description": "- Assign tags to an entry.\n- Provide an entry ID and a list of tags to assign to that entry.\n- This is an overwrite action. The request must include all tags to assign to the entry, including existing tags that should remain assigned to the entry.\n- Required OAuth scope: repository.Write", "operationId": "SetTags", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The tags to add.", "schema": { "$ref": "#/definitions/SetTagsRequest" }, "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of tags assigned to the entry.", "schema": { "$ref": "#/definitions/TagCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Links": { "put": { "tags": [ "Entries" ], "summary": "Assigns links to an entry.", "description": "- Assign links to an entry.\n- Provide an entry ID and a list of links to assign to that entry.\n- This is an overwrite action. The request must include all links to assign to the entry, including existing links that should remain assigned to the entry.\n- Required OAuth scope: repository.Write", "operationId": "SetLinks", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The request repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "$ref": "#/definitions/SetLinksRequest" }, "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of links assigned to the entry.", "schema": { "$ref": "#/definitions/LinkCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "get": { "tags": [ "Entries" ], "summary": "Returns the links assigned to an entry.", "description": "- Returns the links assigned to an entry.\n- Provide an entry ID, and get a paged listing of links assigned to that entry.\n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListLinks", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional odata header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of links assigned to the entry.", "schema": { "$ref": "#/definitions/LinkCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Folder/Copy": { "post": { "tags": [ "Entries" ], "summary": "Copies a new child entry in a folder.", "description": "- Copy a new child entry in the designated folder.\n- Provide the parent folder ID, and based on the request body, copy a child entry of the designated folder.\n- Required OAuth scope: repository.Write", "operationId": "CopyEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The folder ID that the entry will be created in.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/CopyEntryRequest" }, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag.", "default": "", "x-nullable": true } ], "responses": { "201": { "x-nullable": false, "description": "The copied entry.", "schema": { "$ref": "#/definitions/Entry" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry ID not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "409": { "x-nullable": false, "description": "Entry name conflicts.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Document/Edoc": { "delete": { "tags": [ "Entries" ], "summary": "Deletes the edoc associated with an entry.", "description": "- Delete the edoc associated with the provided entry ID.\n- Required OAuth scope: repository.Write", "operationId": "DeleteElectronicDocument", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested document ID.", "format": "int32", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "The updated entry.", "schema": { "$ref": "#/definitions/Entry" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Document/Pages": { "delete": { "tags": [ "Entries" ], "summary": "Deletes the pages associated with an entry.", "description": "- Delete the pages associated with the provided entry ID. If no pageRange is specified, all pages will be deleted.\n- Optional parameter: pageRange (default empty). The value should be a comma-separated string which contains non-overlapping single values, or page ranges. Ex: \"1,2,3\", \"1-3,5\", \"2-7,10-12.\"\n- Required OAuth scope: repository.Write", "operationId": "DeletePages", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested document ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "pageRange", "in": "query", "description": "The pages to be deleted.", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "The updated entry.", "schema": { "$ref": "#/definitions/Entry" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Fields/GetDynamicFieldLogicValue": { "post": { "tags": [ "Entries" ], "summary": "Returns the dynamic field logic values assigned to an entry.", "description": "- Returns dynamic field logic values with the current values of the fields in the template.\n- Provide an entry ID and field values in the JSON body to get dynamic field logic values.\n- Independent and non-dynamic fields in the request body will be ignored, and only related dynamic field logic values for the assigned template will be returned.\n- Required OAuth scope: repository.Read", "operationId": "ListDynamicFieldValues", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The requested entry ID.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The request body.", "schema": { "$ref": "#/definitions/ListDynamicFieldValuesRequest" }, "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of dynamic field values.", "schema": { "type": "object", "additionalProperties": { "type": "array", "items": { "type": "string" } } } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Entries/{entryId}/Template": { "delete": { "tags": [ "Entries" ], "summary": "Removes the currently assigned template from an entry.", "description": "- Remove the currently assigned template from the specified entry.\n- Provide an entry ID to clear template value on.\n- If the entry does not have a template assigned, no change will be made.\n- Required OAuth scope: repository.Write", "operationId": "RemoveTemplate", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The ID of the entry that will have its template removed.", "format": "int32", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "The updated entry.", "schema": { "$ref": "#/definitions/Entry" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "put": { "tags": [ "Entries" ], "summary": "Assigns a template to an entry.", "description": "- Assign a template to an entry.\n- Provide an entry ID, template name, and a list of template fields to assign to that entry.\n- Only template values will be modified. Any existing independent fields on the entry will not be modified, nor will they be added if included in the request. The only modification to fields will only occur on templated fields. If the previously assigned template includes common template fields as the newly assigned template, the common field values will not be modified.\n- Required OAuth scope: repository.Write", "operationId": "SetTemplate", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "entryId", "in": "path", "required": true, "description": "The ID of entry that will have its template updated.", "format": "int32", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The template and template fields that will be assigned to the entry.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/SetTemplateRequest" }, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used. The value should be a standard language tag. This may be used when setting field values with tokens.", "default": "", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "The updated entry.", "schema": { "$ref": "#/definitions/Entry" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request entry id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "423": { "x-nullable": false, "description": "Entry is locked.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories": { "get": { "tags": [ "Repositories" ], "summary": "Returns the list of repositories accessible to the user.", "description": "- Returns the repository resource list that current user has access to.\n- Required OAuth scope: repository.Read", "operationId": "ListRepositories", "responses": { "200": { "x-nullable": false, "description": "A collection of respositories.", "schema": { "$ref": "#/definitions/RepositoryCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Searches/SearchAsync": { "post": { "tags": [ "Searches" ], "summary": "Starts an asynchronous search task.", "description": "- Runs a search operation on the repository.\n- The status for search operations must be checked via the Tasks route.\n- For datetime search criteria that relate to time zone like CreateDate and ModifiedDate, the value should be in UTC time.\n- Optional body parameters: FuzzyType: (default none), which can be used to determine what is considered a match by number of letters or percentage. FuzzyFactor: integer value that determines the degree to which a search will be considered a match (integer value for NumberOfLetters, or int value representing a percentage).\n- Required OAuth scope: repository.Read", "operationId": "StartSearchEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The Laserfiche search command to run, optionally include fuzzy search settings.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/StartSearchEntryRequest" }, "x-nullable": false } ], "responses": { "202": { "x-nullable": false, "description": "A long operation task id.", "schema": { "$ref": "#/definitions/StartTaskResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Requested repository not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Operation limit or request limit reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Searches/{taskId}/Results": { "get": { "tags": [ "Searches" ], "summary": "Returns the results listing associated with a search task.", "description": "- Returns a search result listing if the search is completed.\n- Search results expire after 5 minutes, but can be refreshed by retrieving the results again.\n- Optional query parameter: groupByOrderType (default false). This query parameter decides whether or not results are returned in groups based on their entry type.\n- Optional query parameter: refresh (default false). If the search listing should be refreshed to show updated values.\n- Optionally returns field values for the entries in the folder. Each field name needs to be specified in the request. Maximum limit of 10 field names. If field values are requested, only the first value is returned if it is a multi value field. The remaining field values can be retrieved via the GET fields route. Null or Empty field values should not be used to determine if a field is assigned to the entry.\n- Default page size: 150. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer. OData $OrderBy syntax should follow: \"PropertyName direction,PropertyName2 direction\". sort order can be either \"asc\" or \"desc\".\n- When OData Select query option is used, 'entryType' is always included in the result.\n- Required OAuth scope: repository.Read", "operationId": "ListSearchResults", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "taskId", "in": "path", "required": true, "description": "The requested task ID.", "x-nullable": false }, { "type": "boolean", "name": "groupByEntryType", "in": "query", "description": "Indicates if the result should be grouped by entry type or not. The default value is false.", "default": false, "x-nullable": false }, { "type": "boolean", "name": "refresh", "in": "query", "description": "Indicates if the search listing should be refreshed to show updated values. The default value is false.", "default": false, "x-nullable": false }, { "type": "array", "name": "fields", "in": "query", "description": "Optional array of field names. Field values corresponding to the given field names will be returned for each search result. ", "collectionFormat": "multi", "x-nullable": true, "items": { "type": "string" } }, { "type": "boolean", "name": "formatFieldValues", "in": "query", "description": "Indicates if field values should be formatted. Only applicable if Fields are specified. The default value is false.", "default": false, "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional odata header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag. The formatFieldValues query parameter must be set to true, otherwise culture will not be used for formatting.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of entry search results.", "schema": { "$ref": "#/definitions/EntryCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request taskId not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Searches/{taskId}/Results/{rowNumber}/ContextHits": { "get": { "tags": [ "Searches" ], "summary": "Returns the context hits associated with a search result entry.", "description": "- Returns the context hits associated with a search result entry.\n- Given a taskId, and rowNumber associated with a search entry in the listing, return the context hits for that entry.\n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListSearchContextHits", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "taskId", "in": "path", "required": true, "description": "The requested task ID.", "x-nullable": false }, { "type": "integer", "name": "rowNumber", "in": "path", "required": true, "description": "The search result listing row number to get context hits for.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of context hits for a search result.", "schema": { "$ref": "#/definitions/SearchContextHitCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request taskId not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/SimpleSearches": { "post": { "tags": [ "SimpleSearches" ], "summary": "Runs a \"simple\" search operation.", "description": "- Runs a \"simple\" search operation on the repository.\n- Returns a truncated search result listing.\n- Search result listing may be truncated, depending on number of results. Additionally, searches may time out if they take too long. Use the other search route to run full searches.\n- For datetime search criteria that relate to time zone like CreateDate and ModifiedDate, the value should be in UTC time.\n- Optionally returns field values for the entries in the folder. Each field name needs to be specified in the request. Maximum limit of 10 field names. If field values are requested, only the first value is returned if it is a multi value field. The remaining field values can be retrieved via the GET fields route. Null or Empty field values should not be used to determine if a field is assigned to the entry.\n- When OData Select query option is used, 'entryType' is always included in the result.\n- Required OAuth scope: repository.Read", "operationId": "SearchEntry", "consumes": [ "application/json;odata.metadata=minimal;odata.streaming=true", "application/json;odata.metadata=minimal;odata.streaming=false", "application/json;odata.metadata=minimal", "application/json;odata.metadata=full;odata.streaming=true", "application/json;odata.metadata=full;odata.streaming=false", "application/json;odata.metadata=full", "application/json;odata.metadata=none;odata.streaming=true", "application/json;odata.metadata=none;odata.streaming=false", "application/json;odata.metadata=none", "application/json;odata.streaming=true", "application/json;odata.streaming=false", "application/json", "application/xml", "application/prs.odatatestxx-odata", "application/json-patch+json", "text/json", "application/*+json" ], "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "array", "name": "fields", "in": "query", "description": "Optional array of field names. Field values corresponding to the given field names will be returned for each search result. ", "collectionFormat": "multi", "x-nullable": true, "items": { "type": "string" } }, { "type": "boolean", "name": "formatFieldValues", "in": "query", "description": "Indicates if field values should be formatted. Only applicable if Fields are specified. The default value is false.", "default": false, "x-nullable": false }, { "name": "request", "in": "body", "required": true, "description": "The Laserfiche search command to run.", "schema": { "additionalProperties": {}, "$ref": "#/components/schemas/SearchEntryRequest" }, "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag. The formatFieldValues query parameter must be set to true, otherwise culture will not be used for formatting.", "default": "", "x-nullable": true }, { "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "schema": { "type": "string" } }, { "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "schema": { "type": "string" } }, { "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "schema": { "type": "string" } } ], "responses": { "200": { "x-nullable": false, "description": "A collection of entry search results.", "schema": { "$ref": "#/definitions/EntryCollectionResponse" } }, "206": { "x-nullable": false, "description": "A truncated collection of entry search results.", "schema": { "$ref": "#/definitions/EntryCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "413": { "x-nullable": false, "description": "Request is too large.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Operation limit or request limit reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/TagDefinitions": { "get": { "tags": [ "TagDefinitions" ], "summary": "Returns the tag definitions associated with a repository.", "description": "- Returns all tag definitions in the repository.\n- Provide a repository ID and get a paged listing of tag definitions available in the repository. Useful when trying to display all tag definitions available, not only tags assigned to a specific entry.\n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListTagDefinitions", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of tag definitions.", "schema": { "$ref": "#/definitions/TagDefinitionCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/TagDefinitions/{tagId}": { "get": { "tags": [ "TagDefinitions" ], "summary": "Returns a single tag definition object.", "description": "- Returns a single tag definition.\n- Provide a tag definition ID, and get the single tag definition associated with that ID. Useful when another route provides a minimal amount of details, and more information about the specific tag is needed.\n- Allowed OData query options: Select\n- Required OAuth scope: repository.Read", "operationId": "GetTagDefinition", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "tagId", "in": "path", "required": true, "description": "The requested tag definition ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "A single tag definition.", "schema": { "$ref": "#/definitions/TagDefinition" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request tag definition id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/Tasks": { "get": { "tags": [ "Tasks" ], "summary": "Returns the status of a set of one or more tasks.", "description": "- Returns the status of a set of one or more tasks.\n- Provide a comma-separated list of task IDs to get the task status, progress, and any errors that may have occurred.\n- Leave the taskIds query parameter empty, to get the list of all the task IDs associated with the current access token.\n- TaskStatus can be one of the following values: NotStarted, InProgress, Completed, Cancelled, or Failed.\n- This API employs long polling technique and could return the result immediately (e.g. if the export operation is failed or completed successfully) or after at most 60 seconds.\n- Required OAuth scope: None", "operationId": "ListTasks", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID", "x-nullable": false }, { "type": "array", "name": "taskIds", "in": "query", "description": "An array of task IDs. Leave this parameter empty to get the list of all the tasks associated with the current access token.", "collectionFormat": "multi", "x-nullable": true, "items": { "type": "string" } } ], "responses": { "200": { "x-nullable": false, "description": "A collection of task progresses.", "schema": { "$ref": "#/definitions/TaskCollectionResponse" } }, "404": { "x-nullable": false, "description": "Repository is not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } }, "delete": { "tags": [ "Tasks" ], "summary": "Starts the cancellation for a set of one or more tasks.", "description": "- Starts the cancellation for a set of one or more tasks.\n- Provide comma-separated list of task IDs to cancel. Should be used if an operation was created in error, or is no longer necessary.\n- Check the status of the task to determine if the task has been cancelled successfully.\n- Leave the taskIds query parameter empty, to cancel the list of all the task IDs associated with the current access token.\n- Rollbacks must be done manually. For example, if a copy operation is started and is halfway complete when canceled, the client application is responsible for cleaning up the files that were successfully copied before the operation was canceled.\n- Required OAuth scope: None", "operationId": "CancelTasks", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID", "x-nullable": false }, { "type": "array", "name": "taskIds", "in": "query", "description": "An array of task IDs. Leave this parameter empty to cancel the list of all the tasks associated with the current access token.", "collectionFormat": "multi", "x-nullable": true, "items": { "type": "string" } } ], "responses": { "200": { "x-nullable": false, "description": "A collection of task cancellation results.", "schema": { "$ref": "#/definitions/CancelTasksResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Repository is not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/TemplateDefinitions": { "get": { "tags": [ "TemplateDefinitions" ], "summary": "Returns the template definitions associated with a repository.", "description": "- Returns all template definitions (including field definitions) in the repository. If a template name query parameter is given, then a single template definition is returned.\n- Provide a repository ID, and get a paged listing of template definitions available in the repository. Useful when trying to find a list of all template definitions available, rather than a specific one.\n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListTemplateDefinitions", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "templateName", "in": "query", "description": "An optional query parameter. Can be used to get a single template definition using the template name.", "x-nullable": true }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of template definitions.", "schema": { "$ref": "#/definitions/TemplateDefinitionCollectionResponse" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request template name not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/TemplateDefinitions/{templateId}": { "get": { "tags": [ "TemplateDefinitions" ], "summary": "Returns a single template definition object.", "description": "- Returns a single template definition (including field definitions, if relevant).\n- Provide a template definition ID, and get the single template definition associated with that ID. Useful when a route provides a minimal amount of details, and more information about the specific template is needed.\n- Allowed OData query options: Select\n- Required OAuth scope: repository.Read", "operationId": "GetTemplateDefinition", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "templateId", "in": "path", "required": true, "description": "The requested template definition ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true } ], "responses": { "200": { "x-nullable": false, "description": "A single template definition.", "schema": { "$ref": "#/definitions/TemplateDefinition" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request template id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/TemplateDefinitions/{templateId}/FieldDefinitions": { "get": { "tags": [ "TemplateDefinitions" ], "summary": "Returns the field definitions assigned to a template definition (by template definition ID).", "description": "- Returns the field definitions assigned to a template definition.\n- Provide a template definition ID, and get a paged listing of the field definitions assigned to that template. \n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListTemplateFieldDefinitionsByTemplateId", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "integer", "name": "templateId", "in": "path", "required": true, "description": "The requested template definition ID.", "format": "int32", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of template field definitions.", "schema": { "$ref": "#/definitions/TemplateFieldDefinitionCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request template id not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } }, "/v2/Repositories/{repositoryId}/TemplateDefinitions/FieldDefinitions": { "get": { "tags": [ "TemplateDefinitions" ], "summary": "Returns the field definitions assigned to a template definition (by template definition name).", "description": "- Returns the field definitions assigned to a template definition.\n- Provide a template definition name, and get a paged listing of the field definitions assigned to that template. \n- Default page size: 100. Allowed OData query options: Select | Count | OrderBy | Skip | Top | SkipToken | Prefer.\n- Required OAuth scope: repository.Read", "operationId": "ListTemplateFieldDefinitionsByTemplateName", "parameters": [ { "type": "string", "name": "repositoryId", "in": "path", "required": true, "description": "The requested repository ID.", "x-nullable": false }, { "type": "string", "name": "templateName", "in": "query", "required": true, "description": "A required query parameter for the requested template name.", "x-nullable": false }, { "type": "string", "name": "Prefer", "x-originalName": "prefer", "in": "header", "description": "An optional OData header. Can be used to set the maximum page size using odata.maxpagesize.", "x-nullable": true }, { "type": "string", "name": "culture", "in": "query", "description": "An optional query parameter used to indicate the locale that should be used for formatting. The value should be a standard language tag.", "default": "", "x-nullable": true }, { "type": "string", "name": "$select", "in": "query", "description": "Limits the properties returned in the result.", "x-nullable": true }, { "type": "string", "name": "$orderby", "in": "query", "description": "Specifies the order in which items are returned. The maximum number of expressions is 5.", "x-nullable": true }, { "type": "integer", "name": "$top", "in": "query", "description": "Limits the number of items returned from a collection.", "format": "int32", "x-nullable": false }, { "type": "integer", "name": "$skip", "in": "query", "description": "Excludes the specified number of items of the queried collection from the result.", "format": "int32", "x-nullable": false }, { "type": "boolean", "name": "$count", "in": "query", "description": "Indicates whether the total count of items within a collection are returned in the result.", "x-nullable": false } ], "responses": { "200": { "x-nullable": false, "description": "A collection of template field definitions.", "schema": { "$ref": "#/definitions/TemplateFieldDefinitionCollectionResponse" } }, "400": { "x-nullable": false, "description": "Invalid or bad request.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "403": { "x-nullable": false, "description": "Access denied for the operation.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "404": { "x-nullable": false, "description": "Request template name not found.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "401": { "x-nullable": false, "description": "Access token is invalid or expired.", "schema": { "$ref": "#/definitions/ProblemDetails" } }, "429": { "x-nullable": false, "description": "Rate limit is reached.", "schema": { "$ref": "#/definitions/ProblemDetails" } } } } } }, "definitions": { "AttributeCollectionResponse": { "type": "object", "description": "Response containing a collection of Attribute.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/Attribute" } } } }, "Attribute": { "type": "object", "description": "Represents a trustee attribute.", "properties": { "key": { "type": "string", "description": "The attribute key." }, "value": { "type": "string", "description": "The attribute value." } } }, "ProblemDetails": { "type": "object", "description": "A machine-readable format for specifying errors in HTTP API responses based on https://tools.ietf.org/html/rfc7807.", "additionalProperties": {}, "required": [ "status" ], "properties": { "type": { "type": "string", "description": "The problem type." }, "title": { "type": "string", "description": "A short, human-readable summary of the problem type." }, "status": { "type": "integer", "description": "The HTTP status code.", "format": "int32" }, "detail": { "type": "string", "description": "A human-readable explanation specific to this occurrence of the problem." }, "instance": { "type": "string", "description": "A URI reference that identifies the specific occurrence of the problem." }, "operationId": { "type": "string", "description": "The operation id." }, "errorSource": { "type": "string", "description": "The error source." }, "errorCode": { "type": "integer", "description": "The error code.", "format": "int32" }, "traceId": { "type": "string", "description": "The trace id." }, "instanceDetail": { "type": "string", "description": "The instance detail." } } }, "AuditReasonCollectionResponse": { "type": "object", "description": "Response containing a collection of AuditReason.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/AuditReason" } } } }, "AuditReason": { "type": "object", "description": "Represents a user-defined audit reason for an audit event.", "required": [ "id", "auditEventType" ], "properties": { "id": { "type": "integer", "description": "The audit reason id.", "format": "int32" }, "name": { "type": "string", "description": "The audit reason text." }, "auditEventType": { "description": "The audit event type for this audit reason.", "allOf": [ { "$ref": "#/definitions/AuditEventType" } ] } } }, "AuditEventType": { "type": "string", "description": "Enumeration of Laserfiche audit event types.", "x-enumNames": [ "DeleteEntry", "ExportDocument" ], "enum": [ "DeleteEntry", "ExportDocument" ] }, "FieldDefinition": { "type": "object", "description": "Represents a field definition.", "required": [ "id", "fieldType", "length", "isMultiValue", "isRequired", "format" ], "properties": { "name": { "type": "string", "description": "The name of the field." }, "displayName": { "type": "string", "description": "The localized name of the field." }, "id": { "type": "integer", "description": "The ID of the field.", "format": "int32" }, "description": { "type": "string", "description": "The description of the field." }, "fieldType": { "description": "The type of the field.", "allOf": [ { "$ref": "#/definitions/FieldType" } ] }, "length": { "type": "integer", "description": "The length of the field for variable length data types.", "format": "int32" }, "defaultValue": { "type": "string", "description": "The default value of the field for new entries that are assigned to a template the represented field is a member of." }, "isMultiValue": { "type": "boolean", "description": "A boolean indicating if the represented template field supports multiple values." }, "isRequired": { "type": "boolean", "description": "A boolean indicating if the represented field must have a value set on entries assigned to a template that the field is a member of." }, "constraint": { "type": "string", "description": "The constraint for values stored in the represented field." }, "constraintError": { "type": "string", "description": "The error string that will be returned when the field constraint is violated when setting a value for this field." }, "listValues": { "type": "array", "description": "The list of items assigned to the represented field.", "items": { "type": "string" } }, "format": { "description": "The display format of the represented field.", "allOf": [ { "$ref": "#/definitions/FieldFormat" } ] }, "currency": { "type": "string", "description": "The name of the currency that will be using when formatting the represented field when the Format property is set to the Currency member of the WFieldFormat enumeration." }, "formatPattern": { "type": "string", "description": "The custom format pattern for fields that are configured to use a custom format." } } }, "FieldType": { "type": "string", "description": "Enumeration of Laserfiche template field types.", "x-enumNames": [ "DateTime", "Blob", "Date", "ShortInteger", "LongInteger", "List", "Number", "String", "Time" ], "enum": [ "DateTime", "Blob", "Date", "ShortInteger", "LongInteger", "List", "Number", "String", "Time" ] }, "FieldFormat": { "type": "string", "description": "Enumeration of Laserfiche template field formats.", "x-enumNames": [ "None", "ShortDate", "LongDate", "ShortDateTime", "LongDateTime", "ShortTime", "LongTime", "GeneralNumber", "Currency", "Percent", "Scientific", "Custom" ], "enum": [ "None", "ShortDate", "LongDate", "ShortDateTime", "LongDateTime", "ShortTime", "LongTime", "GeneralNumber", "Currency", "Percent", "Scientific", "Custom" ] }, "FieldDefinitionCollectionResponse": { "type": "object", "description": "Response containing a collection of FieldDefinition.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/FieldDefinition" } } } }, "LinkDefinitionCollectionResponse": { "type": "object", "description": "Response containing a collection of LinkDefinition.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/LinkDefinition" } } } }, "LinkDefinition": { "type": "object", "description": "Represents an entry link definition.", "required": [ "id" ], "properties": { "id": { "type": "integer", "description": "The ID of the link definition.", "format": "int32" }, "sourceLabel": { "type": "string", "description": "The label for the source entry in the link definition." }, "targetLabel": { "type": "string", "description": "The label for the target entry in the link definition." }, "description": { "type": "string", "description": "The description of the link definition." } } }, "CreateMultipartUploadUrlsResponse": { "type": "object", "description": "Response for CreateMultipartUploadUrls.", "properties": { "uploadId": { "type": "string", "description": "A unique identifier for the whole upload process." }, "urls": { "type": "array", "description": "A list of URLs to which the file chunk should be written.", "items": { "type": "string" } } } }, "CreateMultipartUploadUrlsRequest": { "type": "object", "description": "Request body for creating multipart upload urls.", "required": [ "startingPartNumber", "numberOfParts" ], "properties": { "uploadId": { "type": "string", "description": "A unique identifier for the whole upload process.", "default": "" }, "startingPartNumber": { "type": "integer", "description": "Determines the starting position of the requested parts among all the parts associated with this upload. The default value is 1.", "format": "int32", "default": 1 }, "numberOfParts": { "type": "integer", "description": "The value must be in the range [1, 100], meaning that in each call to the CreateMultipartUploadUrls api, a maximum of 100 Upload URLs can be requested. Further, each file chunk written to an Upload URL should be at least 5 MB. There is no minimum size limit for the last chunk.", "format": "int32" }, "fileName": { "type": "string", "description": "The name of the file to be uploaded. The file extension in the name will be used as the extension of the imported entry." }, "mimeType": { "type": "string", "description": "The mime-type of the file to be uploaded." } } }, "StartTaskResponse": { "type": "object", "description": "Response containing a long operation task id.", "properties": { "taskId": { "type": "string", "description": "A task ID that can be used to check on the status of the task." } } }, "StartImportUploadedPartsRequest": { "type": "object", "description": "Request body for starting an asynchronous import entry task.", "required": [ "uploadId", "partETags", "name", "autoRename", "importAsElectronicDocument" ], "properties": { "uploadId": { "type": "string", "description": "The UploadId received when calling the CreateMultipartUploadUrls API to request upload URLs.", "minLength": 1 }, "partETags": { "type": "array", "description": "The array of the ETag values received when writing the file chunks into the upload URLs. The ETag values should be in the order of their associated upload URLs, i.e. {eTag received when writing to the first URL}, {eTag received when writing to the second URL}, ...", "items": { "type": "string" } }, "name": { "type": "string", "description": "The name for the imported entry.", "minLength": 1 }, "autoRename": { "type": "boolean", "description": "Indicates if the entry should be automatically renamed if an entry already exists with the given name in the folder. The default value is false.", "default": false }, "pdfOptions": { "description": "The options applied when importing a PDF.", "allOf": [ { "$ref": "#/definitions/ImportEntryRequestPdfOptions" } ] }, "importAsElectronicDocument": { "type": "boolean", "description": "Indicates if the document should be imported as an electronic document (true) or as image pages (false). The default value is false. This option is only applicable when importing the following document types: txt, tif, tiff, bmp, pcx, jpg, jpeg, gif, png.", "default": false }, "metadata": { "description": "The metadata that will be assigned to the entry.", "allOf": [ { "$ref": "#/definitions/ImportEntryRequestMetadata" } ] }, "volumeName": { "type": "string", "description": "The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud." } } }, "ImportEntryRequestPdfOptions": { "type": "object", "description": "PDF-related options for importing an entry.", "required": [ "generateText", "generatePages", "generatePagesImageType", "keepPdfAfterImport" ], "properties": { "generateText": { "type": "boolean", "description": "Indicates if the import operation should generate text. The default value is false.", "default": false }, "generatePages": { "type": "boolean", "description": "Indicates if the import operation should generate image pages. The default value is false.", "default": false }, "generatePagesImageType": { "description": "The image type used when generating image pages. The default value is StandardColor. This option is only applicable when GeneratePages is true.", "default": "StandardColor", "allOf": [ { "$ref": "#/definitions/GeneratePagesImageType" } ] }, "keepPdfAfterImport": { "type": "boolean", "description": "Indicates if the PDF file should be retained as an electronic document after generating image pages. The default value is true. This option is only applicable when GeneratePages is true.", "default": true } } }, "GeneratePagesImageType": { "type": "string", "description": "Enumeration for the image types when generating pages.", "x-enumNames": [ "BlackAndWhite", "StandardColor", "HighQualityColor" ], "enum": [ "BlackAndWhite", "StandardColor", "HighQualityColor" ] }, "ImportEntryRequestMetadata": { "type": "object", "description": "Represents the metadata that will be assigned to the imported entry.", "properties": { "templateName": { "type": "string", "description": "The name of the template assigned to the entry." }, "fields": { "type": "array", "description": "The fields that will be assigned to the entry.", "items": { "$ref": "#/definitions/FieldToUpdate" } }, "tags": { "type": "array", "description": "The tags that will be assigned to the entry.", "items": { "type": "string" } }, "links": { "type": "array", "description": "The links that will be assigned to the entry.", "items": { "$ref": "#/definitions/LinkToUpdate" } } } }, "FieldToUpdate": { "type": "object", "description": "Represents a field that will be assigned to the entry.", "required": [ "name" ], "properties": { "name": { "type": "string", "description": "The name of the field that will be assigned to the entry.", "minLength": 1 }, "values": { "type": "array", "description": "The field values that will be assigned to the field.", "items": { "type": "string" } } } }, "LinkToUpdate": { "type": "object", "description": "Represents a link that will be assigned to the entry.", "required": [ "linkDefinitionId", "otherEntryId", "isSource" ], "properties": { "linkDefinitionId": { "type": "integer", "description": "The id of the link definition to be assigned to the entry.", "format": "int32" }, "otherEntryId": { "type": "integer", "description": "The id of the other entry to be linked to the entry.", "format": "int32" }, "isSource": { "type": "boolean", "description": "Whether the entry is the source for the link. The default value is true.", "default": true }, "customProperties": { "type": "object", "description": "Custom properties (key, value pairs) to be added to the link.", "additionalProperties": { "type": "string" } } } }, "StartExportEntryRequest": { "type": "object", "description": "Request body for starting an asynchronous export entry task.", "required": [ "auditReasonId", "part" ], "properties": { "auditReasonId": { "type": "integer", "description": "The reason id for this audit event.", "format": "int32" }, "auditReasonComment": { "type": "string", "description": "The comment for this audit event.", "default": "" }, "part": { "description": "Specifies the part of the document to export.", "allOf": [ { "$ref": "#/definitions/ExportEntryRequestPart" } ] }, "imageOptions": { "description": "The options applied when exporting as Image.", "allOf": [ { "$ref": "#/definitions/ExportEntryRequestImageOptions" } ] }, "textOptions": { "description": "The options applied when exporting as Text.", "allOf": [ { "$ref": "#/definitions/ExportEntryRequestTextOptions" } ] } } }, "ExportEntryRequestPart": { "type": "string", "description": "Enumeration of the entry parts to export.", "x-enumNames": [ "Image", "Text", "Edoc" ], "enum": [ "Image", "Text", "Edoc" ] }, "ExportEntryRequestImageOptions": { "type": "object", "description": "Represents the options when exporting the image part of an entry.", "required": [ "format", "jPEGCompressionLevel", "includeAnnotations", "convertPdfAnnotations", "includeRedactions" ], "properties": { "format": { "description": "The image format to export as. Options include: MultiPageTIFF, SinglePageTIFF, PNG, PDF and JPEG. The default value is MultiPageTIFF. MultiPageTIFF format is a single multi-page TIFF file. SinglePageTIFF format is multiple single-page TIFF files (in a single zip file).", "default": "MultiPageTIFF", "allOf": [ { "$ref": "#/definitions/ExportEntryRequestImageFormat" } ] }, "jPEGCompressionLevel": { "type": "integer", "description": "The quality level for JPEG compression when exporting images. The value must be between 0 and 100 (inclusive). The default value is 70.", "format": "int32", "default": 70 }, "includeAnnotations": { "type": "boolean", "description": "Indicates if the annotations need to be included. The default value is true.", "default": true }, "convertPdfAnnotations": { "type": "boolean", "description": "Indicates if the annotations on the image need to be converted to PDF annotations when exporting to PDF format. The default value is true. This option is only applicable when exporting to PDF format and IncludeAnnotations is true.", "default": true }, "pagePrefix": { "type": "string", "description": "The page prefix of the individual files, when exporting to multi-file format (e.g.zip). The value must have a length of at most 10 characters and only valid characters that can be included in file names are allowed. The default value is \", Page \".", "default": ", Page " }, "includeRedactions": { "type": "boolean", "description": "Indicates if redactions are included. The default value is true.", "default": true }, "watermark": { "description": "The watermark element added to each image. No watermark will be added by default.", "allOf": [ { "$ref": "#/definitions/ExportEntryRequestWatermark" } ] } } }, "ExportEntryRequestImageFormat": { "type": "string", "description": "Enumeration of formats when exporting the image part of an entry.", "x-enumNames": [ "MultiPageTIFF", "SinglePageTIFF", "PNG", "PDF", "JPEG" ], "enum": [ "MultiPageTIFF", "SinglePageTIFF", "PNG", "PDF", "JPEG" ] }, "ExportEntryRequestWatermark": { "type": "object", "description": "Represents the watermark added to the images when exporting an entry.", "required": [ "position", "rotationAngle", "pageSpanPercentage" ], "properties": { "text": { "type": "string", "description": "The text of the watermark. The value must be a string with a length of at most 100 characters and must not be all whitespace characters.", "default": "" }, "position": { "description": "The position of the watermark. The default value is DeadCenter.", "default": "DeadCenter", "allOf": [ { "$ref": "#/definitions/WatermarkPosition" } ] }, "rotationAngle": { "type": "integer", "description": "The rotation angle of the watermark. The value must be between 0 and 360 (inclusive). The default value is 0.", "format": "int32", "default": 0 }, "pageSpanPercentage": { "type": "integer", "description": "The percentage of the page that the watermark spans on. The value must be between 1 and 100 (inclusive). The default value is 50.", "format": "int32", "default": 50 } } }, "WatermarkPosition": { "type": "string", "description": "An enumeration of possible positions on a page for watermarks.", "x-enumNames": [ "TopLeft", "TopCenter", "TopRight", "MiddleLeft", "DeadCenter", "MiddleRight", "BottomLeft", "BottomCenter", "BottomRight" ], "enum": [ "TopLeft", "TopCenter", "TopRight", "MiddleLeft", "DeadCenter", "MiddleRight", "BottomLeft", "BottomCenter", "BottomRight" ] }, "ExportEntryRequestTextOptions": { "type": "object", "description": "Represents the options when exporting the text part of an entry.", "required": [ "includeRedactions" ], "properties": { "includeRedactions": { "type": "boolean", "description": "Indicates if redactions are included. The default value is true.", "default": true }, "redactionCharacter": { "type": "string", "description": "The character that replaces the original character in a redacted text. The value must be a string of length 1 and must not be a whitespace character. The default value is 'X'.", "default": "X" } } }, "StartCopyEntryRequest": { "type": "object", "description": "Request body for starting an asynchronous copy entry task.", "required": [ "name", "autoRename", "sourceId" ], "properties": { "name": { "type": "string", "description": "The name of the entry.", "minLength": 1 }, "autoRename": { "type": "boolean", "description": "Indicates if the entry should be automatically renamed if an entry already exists with the given name in the folder. The default value is false.", "default": false }, "sourceId": { "type": "integer", "description": "The source entry Id to copy.", "format": "int32" }, "volumeName": { "type": "string", "description": "The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud." } } }, "StartDeleteEntryRequest": { "type": "object", "description": "Request body for starting an asynchronous delete entry task.", "properties": { "auditReasonId": { "type": "integer", "description": "The reason id for this audit event.", "format": "int32" }, "auditReasonComment": { "type": "string", "description": "The comment for this audit event." } } }, "Entry": { "type": "object", "description": "Base type for all types which represent entry objects in a Laserfiche repository.", "x-abstract": true, "required": [ "id", "creationTime", "lastModifiedTime", "entryType", "isContainer", "isLeaf", "templateId" ], "properties": { "id": { "type": "integer", "description": "The ID of the entry.", "format": "int32" }, "name": { "type": "string", "description": "The name of the entry." }, "parentId": { "type": "integer", "description": "The ID of the parent entry.", "format": "int32" }, "fullPath": { "type": "string", "description": "The full path in the Laserfiche repository to the entry." }, "folderPath": { "type": "string", "description": "The path in the Laserfiche repository to the parent folder." }, "creator": { "type": "string", "description": "The name of the user that created this entry." }, "creationTime": { "type": "string", "description": "The creation time of the entry.", "format": "date-time" }, "lastModifiedTime": { "type": "string", "description": "The last modification time of the entry.", "format": "date-time" }, "entryType": { "description": "The type of the entry.", "allOf": [ { "$ref": "#/definitions/EntryType" } ] }, "isContainer": { "type": "boolean", "description": "A boolean indicating if this entry is a container object; it can have other entries as children." }, "isLeaf": { "type": "boolean", "description": "A boolean indicating if this entry is a leaf object; it cannot have other entries as children." }, "templateName": { "type": "string", "description": "The name of the template assigned to this entry." }, "templateId": { "type": "integer", "description": "The id of the template assigned to this entry.", "format": "int32" }, "templateFieldNames": { "type": "array", "description": "The names of the fields assigned to the template assigned to this entry.", "items": { "type": "string" } }, "volumeName": { "type": "string", "description": "The name of the volume that this entry is associated with." }, "rowNumber": { "type": "integer", "description": "Row number assigned to this entry in the listing.", "format": "int32" }, "fields": { "type": "array", "description": "The fields assigned to this entry.", "items": { "$ref": "#/definitions/Field" } } } }, "EntryType": { "type": "string", "description": "Enumeration of entry types.", "x-enumNames": [ "Folder", "RecordSeries", "Document", "Shortcut" ], "enum": [ "Folder", "RecordSeries", "Document", "Shortcut" ] }, "Field": { "type": "object", "description": "Represents a field set on an entry.", "required": [ "fieldType", "id", "isMultiValue", "isRequired", "hasMoreValues" ], "properties": { "name": { "type": "string", "description": "The name of the field." }, "fieldType": { "description": "The type of the field. The possible field types are listed below.", "allOf": [ { "$ref": "#/definitions/FieldType" } ] }, "id": { "type": "integer", "description": "The ID of the field.", "format": "int32" }, "isMultiValue": { "type": "boolean", "description": "A boolean indicating if the represented field supports multiple values." }, "isRequired": { "type": "boolean", "description": "A boolean indicating if the represented field must have a value set on entries assigned to a template that the field is a member of." }, "hasMoreValues": { "type": "boolean", "description": "A boolean indicating if there are more field values." }, "groupId": { "type": "integer", "description": "The group id of the multi value field group. If the field is not a part of a multi value field group, then there is no group id.", "format": "int32" }, "values": { "type": "array", "description": "The values assigned to the field.", "items": { "type": "string" } } } }, "RecordSeries": { "allOf": [ { "$ref": "#/definitions/Entry" }, { "type": "object", "description": "Represents a Laserfiche record series." } ] }, "Document": { "allOf": [ { "$ref": "#/definitions/Entry" }, { "type": "object", "description": "Represents a document in a Laserfiche repository.", "required": [ "electronicDocumentSize", "isElectronicDocument", "isRecord", "pageCount", "isCheckedOut", "isUnderVersionControl" ], "properties": { "electronicDocumentSize": { "type": "integer", "description": "The size of the electronic document attached to the represented document, if there is one, in bytes.", "format": "int64" }, "extension": { "type": "string", "description": "The extension for the document." }, "isElectronicDocument": { "type": "boolean", "description": "A boolean indicating if there is an electronic document attached to the represented document." }, "isRecord": { "type": "boolean", "description": "A boolean indicating if the represented document is a record." }, "mimeType": { "type": "string", "description": "The MIME type of the electronic document." }, "pageCount": { "type": "integer", "description": "The page count of the represented document.", "format": "int32" }, "isCheckedOut": { "type": "boolean", "description": "A boolean indicating if the represented document is checked out." }, "isUnderVersionControl": { "type": "boolean", "description": "A boolean indicating if the represented document is under version control." } } } ] }, "Shortcut": { "allOf": [ { "$ref": "#/definitions/Entry" }, { "type": "object", "description": "Represents an entry shortcut in a Laserfiche repository.", "required": [ "targetId", "targetType" ], "properties": { "targetId": { "type": "integer", "description": "The entry ID of the shortcut target.", "format": "int32" }, "extension": { "type": "string", "description": "The extension of the shortcut target." }, "targetType": { "description": "The entry type of the shortcut target.", "allOf": [ { "$ref": "#/definitions/EntryType" } ] } } } ] }, "Folder": { "allOf": [ { "$ref": "#/definitions/Entry" }, { "type": "object", "description": "Represents a folder (standard or record folder) in a Laserfiche repository.", "required": [ "isRecordFolder", "isUnderRecordSeries" ], "properties": { "isRecordFolder": { "type": "boolean", "description": "A boolean indicating if the folder that this instance represents is known to be a record folder." }, "isUnderRecordSeries": { "type": "boolean", "description": "A boolean indicating if the folder that this instance represents is known to directly or indirectly under a record series in the repository." } } } ] }, "ImportEntryRequest": { "type": "object", "description": "Request body for importing an entry.", "required": [ "name", "autoRename", "importAsElectronicDocument" ], "properties": { "name": { "type": "string", "description": "The name for the imported entry." }, "autoRename": { "type": "boolean", "description": "Indicates if the entry should be automatically renamed if an entry already exists with the given name in the folder. The default value is false.", "default": false }, "pdfOptions": { "description": "The options applied when importing a PDF.", "allOf": [ { "$ref": "#/definitions/ImportEntryRequestPdfOptions" } ] }, "importAsElectronicDocument": { "type": "boolean", "description": "Indicates if the document should be imported as an electronic document (true) or as image pages (false). The default value is false. This option is only applicable when importing the following document types: txt, tif, tiff, bmp, pcx, jpg, jpeg, gif, png.", "default": false }, "metadata": { "description": "The metadata that will be assigned to the entry.", "allOf": [ { "$ref": "#/definitions/ImportEntryRequestMetadata" } ] }, "volumeName": { "type": "string", "description": "The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud." } } }, "ExportEntryResponse": { "type": "object", "description": "Response containing a link to download the exported entry.", "properties": { "value": { "type": "string" } } }, "ExportEntryRequest": { "type": "object", "description": "Request body for exporting an entry.", "required": [ "auditReasonId", "part" ], "properties": { "auditReasonId": { "type": "integer", "description": "The reason id for this audit event.", "format": "int32" }, "auditReasonComment": { "type": "string", "description": "The comment for this audit event.", "default": "" }, "part": { "description": "The part of the document to export. Options include: Image, Text, Edoc.", "allOf": [ { "$ref": "#/definitions/ExportEntryRequestPart" } ] }, "imageOptions": { "description": "The options applied when exporting as Image.", "allOf": [ { "$ref": "#/definitions/ExportEntryRequestImageOptions" } ] }, "textOptions": { "description": "The options applied when exporting as Text.", "allOf": [ { "$ref": "#/definitions/ExportEntryRequestTextOptions" } ] } } }, "GetEntryByPathResponse": { "type": "object", "description": "Response containing an entry or ancestor entry found by entry path.", "properties": { "entry": { "description": "The entry found by path. This property is set if entry is found.", "allOf": [ { "$ref": "#/definitions/Entry" } ] }, "ancestorEntry": { "description": "The closest entry ancestor. This property is set if entry is not found and fallbackToClosestAncestor is set to true.", "allOf": [ { "$ref": "#/definitions/Entry" } ] } } }, "UpdateEntryRequest": { "type": "object", "description": "Request body for updating an entry.", "required": [ "autoRename" ], "properties": { "parentId": { "type": "integer", "description": "The ID of the parent entry that the entry will be moved to.", "format": "int32" }, "name": { "type": "string", "description": "The name that will be assigned to the entry." }, "autoRename": { "type": "boolean", "description": "Indicates if the entry should be automatically renamed if an entry already exists with the given name in the folder. The default value is false.", "default": false } } }, "EntryCollectionResponse": { "type": "object", "description": "Response containing a collection of Entry.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/Entry" } } } }, "FieldCollectionResponse": { "type": "object", "description": "Response containing a collection of Field.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/Field" } } } }, "SetFieldsRequest": { "type": "object", "description": "Request body for assigning fields to an entry.", "properties": { "fields": { "type": "array", "description": "The fields that will be assigned to the entry.", "items": { "$ref": "#/definitions/FieldToUpdate" } } } }, "TagCollectionResponse": { "type": "object", "description": "Response containing a collection of Tag.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/Tag" } } } }, "Tag": { "type": "object", "description": "Represents a tag set on an entry.", "required": [ "id", "isSecure" ], "properties": { "id": { "type": "integer", "description": "The ID of the tag definition.", "format": "int32" }, "name": { "type": "string", "description": "The name of the tag definition." }, "displayName": { "type": "string", "description": "The localized name of the tag definition." }, "description": { "type": "string", "description": "The description of the tag definition." }, "isSecure": { "type": "boolean", "description": "A boolean indicating whether or not the tag definition is classified as a security tag (true) or an informational tag (false)." }, "watermark": { "description": "The watermark properties associated with the tag definition.", "allOf": [ { "$ref": "#/definitions/TagDefinitionWatermark" } ] } } }, "TagDefinitionWatermark": { "type": "object", "description": "Represents a watermark associated with a tag defintion.", "required": [ "pageSpanPercentage", "position", "rotationAngle", "isMandatory", "opacity" ], "properties": { "text": { "type": "string", "description": "The watermark text associated with the tag defintion." }, "pageSpanPercentage": { "type": "integer", "description": "The percentage of the page that the watermark associated with the tag definition spans on.", "format": "int32" }, "position": { "description": "The position of the watermark on the page.", "allOf": [ { "$ref": "#/definitions/WatermarkPosition" } ] }, "rotationAngle": { "type": "integer", "description": "The rotation angle, in degrees, of the watermark associated with the tag definition.", "format": "int32" }, "isMandatory": { "type": "boolean", "description": "A boolean indicating whether or not the watermark associated with the tag is mandatory." }, "opacity": { "type": "integer", "description": "The opacity of the watermark associated with the tag definition. Valid value ranges from 0 to 100, with -1 as the default values.", "format": "int32" } } }, "SetTagsRequest": { "type": "object", "description": "Request body for assigning tags to an entry.", "properties": { "tags": { "type": "array", "description": "The tag names to assign to the entry.", "items": { "type": "string" } } } }, "LinkCollectionResponse": { "type": "object", "description": "Response containing a collection of Link.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/Link" } } } }, "Link": { "type": "object", "description": "Represents a link between a source entry and a target entry.", "required": [ "id", "sourceId", "targetId", "linkDefinitionId" ], "properties": { "id": { "type": "integer", "description": "The ID of the represented link.", "format": "int32" }, "description": { "type": "string", "description": "The description for the represented link." }, "sourceId": { "type": "integer", "description": "The ID of the source entry of the represented link.", "format": "int32" }, "sourceFullPath": { "type": "string", "description": "The full path to the source entry of the represented link." }, "sourceLabel": { "type": "string", "description": "The label for the source entry in the link definition." }, "sourceLink": { "type": "string", "description": "The navigation link to the source entry." }, "targetId": { "type": "integer", "description": "The ID of the target entry of the represented link.", "format": "int32" }, "targetFullPath": { "type": "string", "description": "The full path to the target entry of the represented link." }, "targetLabel": { "type": "string", "description": "The label for the target entry in the link definition." }, "targetLink": { "type": "string", "description": "The navigation link to the target entry." }, "linkDefinitionId": { "type": "integer", "description": "The ID of the link definition.", "format": "int32" }, "linkDefinitionDescription": { "type": "string", "description": "The description of the link definition." }, "customProperties": { "type": "object", "description": "The custom properties for the represented link.", "additionalProperties": { "type": "string" } } } }, "SetLinksRequest": { "type": "object", "description": "Request body for assigning links to an entry.", "properties": { "links": { "type": "array", "description": "The links that will be assigned to the entry.", "items": { "$ref": "#/definitions/LinkToUpdate" } } } }, "CopyEntryRequest": { "type": "object", "description": "Request body for copying an entry.", "required": [ "name", "autoRename", "sourceId" ], "properties": { "name": { "type": "string", "description": "The name of the entry.", "minLength": 1 }, "autoRename": { "type": "boolean", "description": "Indicates if the entry should be automatically renamed if an entry already exists with the given name in the folder. The default value is false.", "default": false }, "sourceId": { "type": "integer", "description": "The source entry Id to copy.", "format": "int32" }, "volumeName": { "type": "string", "description": "The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud." } } }, "CreateEntryRequest": { "type": "object", "description": "Request body for creating an entry.", "required": [ "name", "autoRename", "entryType", "targetId" ], "properties": { "name": { "type": "string", "description": "The name of the entry.", "minLength": 1 }, "autoRename": { "type": "boolean", "description": "Indicates if the entry should be automatically renamed if an entry already exists with the given name in the folder. The default value is false.", "default": false }, "entryType": { "description": "The type of the entry.", "allOf": [ { "$ref": "#/definitions/CreateEntryRequestEntryType" } ] }, "targetId": { "type": "integer", "description": "The TargetId is only needed for creating a shortcut. This will be the entry ID of the shortcut target.", "format": "int32" }, "volumeName": { "type": "string", "description": "The name of the volume to use. Will use the default parent entry volume if not specified. This is ignored in Laserfiche Cloud." } } }, "CreateEntryRequestEntryType": { "type": "string", "description": "Enumeration of entry types for CreateEntry.", "x-enumNames": [ "Folder", "Shortcut" ], "enum": [ "Folder", "Shortcut" ] }, "ListDynamicFieldValuesRequest": { "type": "object", "description": "Request body for listing dynamic field values for an entry.", "required": [ "templateId" ], "properties": { "templateId": { "type": "integer", "description": "The template id.", "format": "int32" }, "fieldValues": { "type": "object", "description": "The dynamic fields.", "additionalProperties": { "type": "string" } } } }, "SetTemplateRequest": { "type": "object", "description": "Request body for assigning a template and template fields to an entry.", "required": [ "templateName" ], "properties": { "templateName": { "type": "string", "description": "The template that will be assigned to the entry.", "minLength": 1 }, "fields": { "type": "array", "description": "The template fields that will be assigned to the entry.", "items": { "$ref": "#/definitions/FieldToUpdate" } } } }, "RepositoryCollectionResponse": { "type": "object", "description": "Response containing a collection of Repository.", "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/Repository" } } } }, "Repository": { "type": "object", "description": "Represents a Laserfiche repository.", "properties": { "id": { "type": "string", "description": "The repository id." }, "name": { "type": "string", "description": "The repository name." }, "webClientUrl": { "type": "string", "description": "The corresponding repository Web Client url." } } }, "StartSearchEntryRequest": { "type": "object", "description": "Request body for starting an asynchronous search entry task.", "required": [ "searchCommand", "fuzzyType", "fuzzyFactor" ], "properties": { "searchCommand": { "type": "string", "description": "The search command to run. The search command should follow the Laserfiche search syntax. https://doc.laserfiche.com/laserfiche.documentation/en-us/Default.htm#Search_Syntax.htm", "minLength": 1 }, "fuzzyType": { "description": "Fuzzy type (None, Percentage, or NumberOfLetters).", "allOf": [ { "$ref": "#/definitions/FuzzyType" } ] }, "fuzzyFactor": { "type": "integer", "description": "Fuzzy factor (percentage as int or int value).", "format": "int32" } } }, "FuzzyType": { "type": "string", "description": "", "x-enumNames": [ "None", "Percentage", "NumberOfLetters" ], "enum": [ "None", "Percentage", "NumberOfLetters" ] }, "SearchContextHitCollectionResponse": { "type": "object", "description": "Response containing a collection of SearchContextHit.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/SearchContextHit" } } } }, "SearchContextHit": { "type": "object", "description": "Represents a context hit for a search result.", "required": [ "hitType", "isAnnotationHit", "annotationId", "pageNumber", "pageOffset", "highlight1Offset", "highlight1Length", "highlight2Offset", "highlight2Length", "hitWidth", "edocHitCount", "fieldHitCount", "hitNumber" ], "properties": { "hitType": { "description": "The type of context hit this instance represents.", "allOf": [ { "$ref": "#/definitions/HitType" } ] }, "isAnnotationHit": { "type": "boolean", "description": "A boolean indicating if this context hit occurs on an annotation." }, "annotationId": { "type": "integer", "description": "The ID of the annotation that the context hit is in.", "format": "int32" }, "pageNumber": { "type": "integer", "description": "The page number in the document of the search hit's context.", "format": "int32" }, "pageOffset": { "type": "integer", "description": "The offset from the beginning of the page of the starting character of the search hit's context line.", "format": "int32" }, "context": { "type": "string", "description": "The line of context for the search hit." }, "highlight1Offset": { "type": "integer", "description": "The character offset from the beginning of the context line of the start of the first highlight.", "format": "int32" }, "highlight1Length": { "type": "integer", "description": "The length of the first highlight in characters.", "format": "int32" }, "highlight2Offset": { "type": "integer", "description": "The character offset from the beginning of the context line of the start of the second highlight.", "format": "int32" }, "highlight2Length": { "type": "integer", "description": "The length of the second highlight in characters.", "format": "int32" }, "hitWidth": { "type": "integer", "description": "The number of words in the context hit.", "format": "int32" }, "edocHitCount": { "type": "integer", "description": "The number of hits in the electronic document.", "format": "int32" }, "fieldHitCount": { "type": "integer", "description": "The number of hits in the template.", "format": "int32" }, "fieldName": { "type": "string", "description": "The name of a template field containing the hit." }, "hitNumber": { "type": "integer", "description": "The hit number.", "format": "int32" } } }, "HitType": { "type": "string", "description": "The type of context hit.", "x-enumNames": [ "PageContent", "Note", "Callout", "TextBox", "Edoc", "Prop", "Name", "Extension", "VersionGroupNote", "VersionComment", "Field", "SignatureComment", "CertificateSubject", "TagComment", "AnnotationComment", "Attachment" ], "enum": [ "PageContent", "Note", "Callout", "TextBox", "Edoc", "Prop", "Name", "Extension", "VersionGroupNote", "VersionComment", "Field", "SignatureComment", "CertificateSubject", "TagComment", "AnnotationComment", "Attachment" ] }, "SearchEntryRequest": { "type": "object", "description": "Request body for searching entries.", "required": [ "searchCommand" ], "properties": { "searchCommand": { "type": "string", "description": "The search command to run. The search command should follow the Laserfiche search syntax. https://doc.laserfiche.com/laserfiche.documentation/en-us/Default.htm#Search_Syntax.htm", "minLength": 1 } } }, "TagDefinitionCollectionResponse": { "type": "object", "description": "Response containing a collection of TagDefinition.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/TagDefinition" } } } }, "TagDefinition": { "type": "object", "description": "Represents an entry tag definition.", "required": [ "id", "isSecure" ], "properties": { "id": { "type": "integer", "description": "The ID of the tag definition.", "format": "int32" }, "name": { "type": "string", "description": "The name of the tag definition." }, "displayName": { "type": "string", "description": "The localized name of the tag definition." }, "description": { "type": "string", "description": "The description of the tag definition." }, "isSecure": { "type": "boolean", "description": "A boolean indicating whether or not the tag definition is classified as a security tag (true) or an informational tag (false)." }, "watermark": { "description": "The watermark properties associated with the tag definition.", "allOf": [ { "$ref": "#/definitions/TagDefinitionWatermark" } ] } } }, "TaskCollectionResponse": { "type": "object", "description": "Response containing a collection of TaskProgress.", "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/TaskProgress" } } } }, "TaskProgress": { "type": "object", "description": "Represents the progress of a long operation task.", "required": [ "taskType", "percentComplete", "status", "startTime", "lastUpdateTime" ], "properties": { "id": { "type": "string", "description": "The task ID of the task associated with this TaskProgress." }, "taskType": { "description": "The type of the task associated with this TaskProgress.", "allOf": [ { "$ref": "#/definitions/TaskType" } ] }, "percentComplete": { "type": "integer", "description": "Determines what percentage of the execution of the associated task is completed.", "format": "int32" }, "status": { "description": "The status of the task associated with this TaskProgress.", "allOf": [ { "$ref": "#/definitions/TaskStatus" } ] }, "errors": { "type": "array", "description": "The list of errors occurred during the execution of the associated task.", "items": { "$ref": "#/definitions/ProblemDetails" } }, "result": { "description": "The result of the execution of the associated task.", "allOf": [ { "$ref": "#/definitions/TaskResult" } ] }, "startTime": { "type": "string", "description": "The time representing when the associated task's execution started.", "format": "date-time" }, "lastUpdateTime": { "type": "string", "description": "The time representing when the associated task's status last changed.", "format": "date-time" } } }, "TaskType": { "type": "string", "description": "An enumeration of possible types for a long operation task.", "x-enumNames": [ "CopyEntry", "DeleteEntry", "ExportEntry", "ImportUploadedParts", "SearchEntry" ], "enum": [ "CopyEntry", "DeleteEntry", "ExportEntry", "ImportUploadedParts", "SearchEntry" ] }, "TaskStatus": { "type": "string", "description": "An enumeration of possible statuses for a long operation task.", "x-enumNames": [ "NotStarted", "InProgress", "Completed", "Failed", "Cancelled" ], "enum": [ "NotStarted", "InProgress", "Completed", "Failed", "Cancelled" ] }, "TaskResult": { "type": "object", "description": "Represents the result of a long operation task.", "required": [ "entryId" ], "properties": { "entryId": { "type": "integer", "description": "The ID of the entry which is affected (e.g. created or modified) by the execution of the associated task.", "format": "int32" }, "uri": { "type": "string", "description": "The URI which can be used (via api call) to access the result(s) of the associated task." } } }, "CancelTasksResponse": { "type": "object", "description": "Response containing a collection of CancelTaskResult.", "properties": { "value": { "type": "array", "items": { "$ref": "#/definitions/CancelTaskResult" } } } }, "CancelTaskResult": { "type": "object", "description": "Represents the result of cancelling a long operation task.", "required": [ "taskType", "result" ], "properties": { "id": { "type": "string", "description": "The ID of the task which has been subject to cancellation." }, "taskType": { "description": "The type of the task which has been subject to cancellation.", "allOf": [ { "$ref": "#/definitions/TaskType" } ] }, "result": { "type": "boolean", "description": "Indicates if the request to cancel the task has been received." } } }, "TemplateDefinitionCollectionResponse": { "type": "object", "description": "Response containing a collection of TemplateDefinition.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/TemplateDefinition" } } } }, "TemplateDefinition": { "type": "object", "description": "Represents a template definition.", "required": [ "id", "fieldCount" ], "properties": { "id": { "type": "integer", "description": "The ID of the template definition.", "format": "int32" }, "name": { "type": "string", "description": "The name of the template definition." }, "displayName": { "type": "string", "description": "The localized name of the template definition." }, "description": { "type": "string", "description": "The description of the template definition." }, "color": { "description": "The color assigned to the template definition.", "allOf": [ { "$ref": "#/definitions/LFColor" } ] }, "fieldCount": { "type": "integer", "description": "The number of field definitions assigned to the template definition.", "format": "int32" } } }, "LFColor": { "type": "object", "description": "Represents an RGB color value with alpha channel.", "required": [ "a", "r", "g", "b" ], "properties": { "a": { "type": "integer", "description": "The alpha channel component, from 0-255.", "format": "byte" }, "r": { "type": "integer", "description": "The red channel component, from 0-255.", "format": "byte" }, "g": { "type": "integer", "description": "The green channel component, from 0-255.", "format": "byte" }, "b": { "type": "integer", "description": "The blue channel component from 0-255.", "format": "byte" } } }, "TemplateFieldDefinitionCollectionResponse": { "type": "object", "description": "Response containing a collection of TemplateFieldDefinition.", "properties": { "@odata.nextLink": { "type": "string", "description": "A URL to retrieve the next page of the requested collection." }, "@odata.count": { "type": "integer", "description": "The total count of items within a collection.", "format": "int32" }, "value": { "type": "array", "items": { "$ref": "#/definitions/TemplateFieldDefinition" } } } }, "TemplateFieldDefinition": { "allOf": [ { "$ref": "#/definitions/FieldDefinition" }, { "type": "object", "description": "Represents a template field definition.", "required": [ "groupId" ], "properties": { "rule": { "description": "A form logic rule associated with a Laserfiche template and field definition.", "allOf": [ { "$ref": "#/definitions/Rule" } ] }, "groupId": { "type": "integer", "description": "The group id of the field in the template.", "format": "int32" }, "groupName": { "type": "string", "description": "The name of field group." } } } ] }, "Rule": { "type": "object", "description": "Represents a form logic rule associated with a Laserfiche template and field definition.", "properties": { "ancestors": { "type": "array", "description": "The IDs of the parent fields in the template according to the form logic rule.", "items": { "type": "integer", "format": "int32" } } } } }, "securityDefinitions": { "Authorization": { "type": "basic", "description": "Type your token into the textbox." }, "OAuth2 Authorization Code Flow": { "type": "oauth2", "description": "

Note: Please enter below the clientId/clientSecret of a registered web application, or the clientId of a SPA. For SPA, the clientSecret field must be left empty. The app, either a web application or SPA, must have the following uri defined as its redirect uri.

http://localhost:11211/repository/swagger/oauth2-redirect.html

For more information, see this page

", "flow": "accessCode", "authorizationUrl": "https://signin.a.clouddev.laserfiche.ca/oauth/Authorize", "tokenUrl": "https://signin.a.clouddev.laserfiche.ca/oauth/Token", "scopes": { "repository.Read": "Allows the app to read the content of Laserfiche repositories on behalf of the signed-in user.", "repository.Write": "Allows the app to modify the content of Laserfiche repositories on behalf of the signed-in user." } } }, "security": [ { "Authorization": [] }, { "OAuth2 Authorization Code Flow": [ "repository.Read", "repository.Write" ] } ] }