{ "info": { "_postman_id": "a09f80c1-334b-401e-9518-282ac10db750", "name": "DocuWare", "description": "**Last Updated: 9/04/2024**\n\n**Summary:**\n\nThis collection contains examples of requests to the DocuWare Platform Services API.\n\n**Getting Started:**\n\nGetting started with the DocuWare Postman collection is easy and simply requires a small amount of up-front configuration.\n\n1. Set the current environment to \"DocuWare\"\n \n 1. If you do not have the \"DocuWare\" environment listed as one of your selections from the environments drop down, verify that you have imported the sample environment file that was included with the DocuWare Postman collection.\n \n2. Set up the initial environment variable values.\n \n 1. The following environment values should be set based on the DocuWare system you will be executing the API requests against.\n \n 1. DocumentDateField - The name (ID) of the field that holds the document date in the target file cabinet.\n \n 2. DocumentTrayName - This is the name of the document tray you want to use for testing. If left blank, the default document tray is used.\n \n 3. DocumentTypeField - The name (ID) of the field that holds the document type in the target file cabinet.\n \n 4. DocumentTypeValue - This is the value that will be used in this field (IE. Storing, Searching, etc.).\n \n 5. DocumentTypeValueUpdated - This is the value that will be used when this index field is updated.\n \n 6. FileCabinetName - This is the name of the file cabinet to be used for testing. If left empty, the first file cabinet returned will be used.\n \n 7. Filename - This is the name of the file that will be used for storing new documents.\n \n 8. Password - This should be the password for the user that you are connecting to DocuWare as.\n \n 9. Platform - This should be set to '/DocuWare/Platform'. If it is not, ensure that it is.\n \n 10. ServerUrl - This should be the address of your DocuWare system (IE. [https://your-system.docuware.cloud](https://your-system.docuware.cloud))\n \n 11. Username - This should be the name of the user that you will be connecting to DocuWare as.\n \n 12. WindowsUsername - This is the username for the Windows user that is used for Windows Authentication. It should be provided in the format of \"\\\\\"\n \n 13. WindowsUserPassword - This is the password for the Windows user that is necessary for Windows Authentication,.\n \n3. Authenticate with DocuWare\n \n 1. Once the environment variables have been configured, you need to obtain an access token for making requests to DocuWare.\n \n 1. Navigate to the following folder: DocuWare -> Authentication -> OAuth\n \n 2. Execute the requests in this folder in the order indicated by the name\n \n 1. 1\\. Get Responsibile Identity Service\n \n 2. 2\\. Get Identity Service Configuration\n \n 3. 3a - 3d - Execute one of these requests based on the information you have available.\n \n 2. Notes:\n \n 1. Step 3 is what provides the access token (which is saved in the 'AccessToken' environment variable). This token has a limited lifespan. If it expires, you only need to run the request in step 3 again (you do not need to executed the first 2 requests).\n \n 2. It should also be noted that DocuWare only supports certain grant types for authentication. Supported types are:\n \n 1. Username & Password\n \n 2. DocuWare Token\n \n 3. Trusted User Login (On premises only)\n \n 4. Windows Login (On premises only)\n \n4. Executing DocuWare operational requests\n \n 1. Once you have obtained an access token, you can start making requests to DocuWare. It should be noted that some requests are dependent on other requests. For example, you can't download a document unless you have retrieved the ID of the file cabinet you are downloading from and the ID of the document you are downloading. Before a request is executed, it will check the relevant environment, and throw an error if they are empty.\n \n\nCommon Scenarios:\n\n- Searching a File Cabinet\n \n - Authenticate with DocuWare (as outlined in step 3)\n \n - Get all File Cabinets: General -> Organization -> Get all File Cabinets and Document Trays\n \n - If you filled out the \"FileCabinetName\" environment variable as outlined in step 1, then this will retrieve the ID of that File Cabinet and save it in an environment variable for use in requests that need it.\n \n - Retrieve required dialogs: File Cabinets -> Dialogs -> Get all Dialogs\n \n - Search for documents: File Cabinets -> Search -> Get Documents from a File Cabinet\n \n- Uploading a Document\n \n - Authenticate with DocuWare (as outlined in step 3)\n \n - Get all File Cabinets: General -> Organization -> Get all File Cabinets and Document Trays\n \n - If you filled out the \"FileCabinetName\" environment variable as outlined in step 1, then this will retrieve the ID of that File Cabinet and save it in an environment variable for use in requests that need it.\n \n - Retrieve required dialogs: File Cabinets -> Dialogs -> Get all Dialogs\n \n - Upload a document: File Cabinets -> Upload -> Create a Data Record & Upload File\n \n- Downloading a Document\n \n - Authenticate with DocuWare (as outlined in step 3)\n \n - Get all File Cabinets: General -> Organization -> Get all File Cabinets and Document Trays\n \n - If you filled out the \"FileCabinetName\" environment variable as outlined in step 1, then this will retrieve the ID of that File Cabinet and save it in an environment variable for use in requests that need it.\n \n - Retrieve required dialogs: File Cabinets -> Dialogs -> Get all Dialogs\n \n - Find a document to download: File Cabinets -> Search -> Get Documents from a File Cabinet\n \n - The first X number of documents (where X represents the 'Count' parameter) will be returned and the ID of the first document will be saved in the 'DocID' environment variable.\n \n - Download the specified document: Documents -> Download -> Download Document\n \n - This will download the first document returned from the search in the previous step.\n \n- Update Index Field(s)\n \n - Authenticate with DocuWare (as outlined in step 3)\n \n - Get all File Cabinets: General -> Organization -> Get all File Cabinets and Document Trays\n \n - If you filled out the \"FileCabinetName\" environment variable as outlined in step 1, then this will retrieve the ID of that File Cabinet and save it in an environment variable for use in requests that need it.\n \n - Find a document to download: File Cabinets -> Search -> Get Documents from a File Cabinet\n \n - The first X number of documents (where X represents the 'Count' parameter) will be returned and the ID of the first document will be saved in the 'DocID' environment variable.\n \n - Update the index values for the specified document: Documents -> Update Index Values -> Update Index Values\n \n - Index fields for the specified document will be updated according to what is defined in the request body. By default, the request body uses index field information that was configured when the collection was setup.\n \n\nNotes:\n\n- It should be noted that every effort has been made to ensure that each request does a pre-execution check to ensure the necessary environment variables are present and not empty. If they are not present or are empty, an error will be thrown. In that case, check to ensure that the environment variable does exist and is not empty (it's possible you may need to execute another request before executing the one you are trying).", "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", "_exporter_id": "31014211", "_collection_link": "https://docuware-integrations.postman.co/workspace/Team-Workspace~9a4cd872-f740-45dc-8f40-b031ebcb1a76/collection/32813313-a09f80c1-334b-401e-9518-282ac10db750?action=share&source=collection_link&creator=31014211" }, "item": [ { "name": "Authentication", "item": [ { "name": "OAuth", "item": [ { "name": "1. Get Responsible Identity Service", "event": [ { "listen": "test", "script": { "exec": [ "const identityServiceInfo = pm.response.json();\r", "pm.environment.set(\"IdentityServiceUrl\", identityServiceInfo.IdentityServiceUrl);" ], "type": "text/javascript", "packages": {} } }, { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"ServerUrl\") === false || pm.environment.get(\"ServerUrl\") === \"\") { \r", " throw new Error(\"ServerUrl is empty or does not exist.\");\r", "}" ], "type": "text/javascript", "packages": {} } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true } }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Home/IdentityServiceInfo", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Home", "IdentityServiceInfo" ] }, "description": "This API endpoint retrieves information about the Identity Service in the DocuWare Platform. It sends an HTTP GET request to the URL `{{ServerUrl}}/DocuWare/Platform/Home/IdentityServiceInfo`.\n\n### Request\n\nThe request does not require any parameters.\n\n### Response\n\nThe response will be in JSON format and will have the following properties:\n\n- `IdentityServiceUrl`: The URL of the Identity Service in the DocuWare Platform.\n- `RefreshTokenSupported`: A boolean value indicating whether the Identity Service supports refresh tokens.\n \n\nExample response:\n\n``` antlr4\n{\n \"IdentityServiceUrl\": \"\",\n \"RefreshTokenSupported\": true\n}\n\n ```" }, "response": [] }, { "name": "2. Get Identity Service Configuration", "event": [ { "listen": "test", "script": { "exec": [ "const openidConfiguration = pm.response.json();\r", "pm.environment.set(\"TokenEndpoint\", openidConfiguration.token_endpoint);\r", "pm.environment.set(\"WindowsAuthEndpoint\", openidConfiguration.windows_auth_endpoint);" ], "type": "text/javascript", "packages": {} } }, { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"IdentityServiceUrl\") === false || pm.environment.get(\"IdentityServiceUrl\") === \"\") { \r", " throw new Error(\"IdentityServiceUrl is empty or does not exist. Please ensure it exists and run the '1. Get Responsible Identity Service' request.\");\r", "}" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [], "url": { "raw": "{{IdentityServiceUrl}}/.well-known/openid-configuration", "host": [ "{{IdentityServiceUrl}}" ], "path": [ ".well-known", "openid-configuration" ] }, "description": "This API endpoint retrieves the OpenID configuration for the Identity Service. The OpenID configuration provides important information about the Identity Service, such as the endpoints and supported features.\n\nTo retrieve the OpenID configuration, send an HTTP GET request to `{{IdentityServiceUrl}}/.well-known/openid-configuration`.\n\nThe last execution of this request returned a response with a status code of 200. The response body contains the following information:\n\n- `issuer`: The issuer URL of the Identity Service.\n- `jwks_uri`: The URL to retrieve the JSON Web Key Set (JWKS) for verifying JSON Web Tokens (JWTs).\n- `authorization_endpoint`: The URL to initiate the authorization process.\n- `token_endpoint`: The URL to exchange an authorization code for an access token.\n- `userinfo_endpoint`: The URL to retrieve user information.\n- `end_session_endpoint`: The URL to end the user's session.\n- `check_session_iframe`: The URL of the check session iframe.\n- `revocation_endpoint`: The URL to revoke an access token.\n- `introspection_endpoint`: The URL to introspect an access token.\n- `device_authorization_endpoint`: The URL for device authorization.\n- `backchannel_authentication_endpoint`: The URL for backchannel authentication.\n- `frontchannel_logout_supported`: Indicates whether frontchannel logout is supported.\n- `frontchannel_logout_session_supported`: Indicates whether frontchannel logout with session ID is supported.\n- `backchannel_logout_supported`: Indicates whether backchannel logout is supported.\n- `backchannel_logout_session_supported`: Indicates whether backchannel logout with session ID is supported.\n- `scopes_supported`: The supported scopes for requesting access to resources.\n- `claims_supported`: The supported claims that can be requested in an ID token or userinfo response.\n- `grant_types_supported`: The supported grant types for obtaining an access token.\n- `response_types_supported`: The supported response types for the authorization process.\n- `response_modes_supported`: The supported response modes for the authorization process.\n- `token_endpoint_auth_methods_supported`: The supported authentication methods for the token endpoint.\n- `id_token_signing_alg_values_supported`: The supported signing algorithms for ID tokens.\n- `subject_types_supported`: The supported subject types for ID tokens.\n- `code_challenge_methods_supported`: The supported code challenge methods for PKCE.\n- `request_parameter_supported`: Indicates whether the request parameter is supported.\n- `request_object_signing_alg_values_supported`: The supported signing algorithms for request objects.\n- `prompt_values_supported`: The supported prompt values for the authorization process.\n- `authorization_response_iss_parameter_supported`: Indicates whether the `iss` parameter is supported in authorization responses.\n- `backchannel_token_delivery_modes_supported`: The supported token delivery modes for backchannel authentication.\n- `backchannel_user_code_parameter_supported`: Indicates whether the `user_code` parameter is supported for backchannel authentication.\n- `dpop_signing_alg_values_supported`: The supported signing algorithms for DPoP tokens.\n- `windows_auth_endpoint`: The URL for Windows authentication.\n \n\nPlease refer to the Identity Service documentation for more information on how to use these endpoints and features." }, "response": [] }, { "name": "3.a Request Token w/ Username & Password", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"TokenEndpoint\") === false || pm.environment.get(\"TokenEndpoint\") === \"\") { \r", " throw new Error(\"TokenEndpoint is empty or does not exist.\");\r", "}" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "pm.environment.set(\"AccessToken\", response.access_token);" ], "type": "text/javascript", "packages": {} } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true } }, "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "password", "description": "The type of authorization grant to provide.", "type": "text" }, { "key": "scope", "value": "docuware.platform", "description": "The scope of the access token for accessing DocuWare.", "type": "text" }, { "key": "client_id", "value": "docuware.platform.net.client", "description": "The Id of the client that will be accessing DocuWare.", "type": "text" }, { "key": "username", "value": "{{Username}}", "description": "The username used for authenticating to DocuWare.", "type": "text" }, { "key": "password", "value": "{{Password}}", "description": "The password used for authenticating to DocuWare.", "type": "text" } ] }, "url": { "raw": "{{TokenEndpoint}}", "host": [ "{{TokenEndpoint}}" ] }, "description": "\nThis API endpoint is used to request a token from the server. The token can be used for authentication and authorization purposes. \n\nTo request a token, send a POST request to the `{{TokenEndpoint}}` URL.\n\n### Request Parameters\n\nThe request does not require any specific parameters in the body or headers.\n\n### Response\n\nThe server will respond with a JSON object containing the following properties:\n\n- `access_token`: The generated access token.\n- `expires_in`: The expiration time of the token in seconds.\n- `token_type`: The type of the token.\n- `scope`: The scope of the token.\n\nExample response:\n\n```json\n{\n \"access_token\": \"\",\n \"expires_in\": 0,\n \"token_type\": \"\",\n \"scope\": \"\"\n}\n```\n\nPlease note that the values of the properties in the response may vary depending on the server configuration.\n\n" }, "response": [] }, { "name": "3.b Request Token w/ a DocuWare Token", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"TokenEndpoint\") === false || pm.environment.get(\"TokenEndpoint\") === \"\") { \r", " throw new Error(\"TokenEndpoint is empty or does not exist.\");\r", "}\r", "\r", "if (pm.environment.has(\"LoginToken\") === false || pm.environment.get(\"LoginToken\") === \"\") { \r", " throw new Error(\"LoginToken is empty or does not exist.\");\r", "}" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "pm.environment.set(\"AccessToken\", response.access_token);" ], "type": "text/javascript", "packages": {} } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true } }, "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "dwtoken", "type": "text" }, { "key": "scope", "value": "docuware.platform", "type": "text" }, { "key": "client_id", "value": "docuware.platform.net.client", "type": "text" }, { "key": "token", "value": "{{LoginToken}}", "type": "text" } ] }, "url": { "raw": "{{TokenEndpoint}}", "host": [ "{{TokenEndpoint}}" ] }, "description": "Summary:\n\nThis request retrieves an access token that can be used to authenticate with DocuWare.\n\nResponse:\n\nThe response from this request contains an access token used to authenticate with DocuWare." }, "response": [] }, { "name": "3.c Request Token w/ Username & Password (Trusted User)", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"TrustedUserName\") === false || pm.environment.get(\"TrustedUserName\") === \"\") { \r", " throw new Error(\"TrustedUserName is empty or does not exist.\");\r", "}\r", "if (pm.environment.has(\"TrustedUserPassword\") === false || pm.environment.get(\"TrustedUserPassword\") === \"\") { \r", " throw new Error(\"TrustedUserPassword is empty or does not exist.\");\r", "}\r", "if (pm.environment.has(\"TokenEndpoint\") === false || pm.environment.get(\"TokenEndpoint\") === \"\") { \r", " throw new Error(\"TokenEndpoint is empty or does not exist.\");\r", "}" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "pm.environment.set(\"AccessToken\", response.access_token);" ], "type": "text/javascript", "packages": {} } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true } }, "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "trusted", "type": "text" }, { "key": "scope", "value": "docuware.platform", "type": "text" }, { "key": "client_id", "value": "docuware.platform.net.client", "type": "text" }, { "key": "username", "value": "{{TrustedUserName}}", "type": "text" }, { "key": "password", "value": "{{TrustedUserPassword}}", "type": "text" }, { "key": "impersonateName", "value": "{{Username}}", "type": "text" } ] }, "url": { "raw": "{{TokenEndpoint}}", "host": [ "{{TokenEndpoint}}" ] }, "description": "Summary:\n\nThis request retrieves an access token that can be used to authenticate with DocuWare.\n\nResponse:\n\nThe response from this request contains an access token used to authenticate with DocuWare." }, "response": [] }, { "name": "3.d.1 Obtain Windows Authorization (On Premises Only)", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"WindowsUsername\") === false || pm.environment.get(\"WindowsUsername\") === \"\") { \r", " throw new Error(\"WindowsUsername is empty or does not exist.\");\r", "}\r", "if (pm.environment.has(\"WindowsUserPassword\") === false || pm.environment.get(\"WindowsUserPassword\") === \"\") { \r", " throw new Error(\"WindowsUserPassword is empty or does not exist.\");\r", "}\r", "if (pm.environment.has(\"WindowsAuthEndpoint\") === false || pm.environment.get(\"WindowsAuthEndpoint\") === \"\") { \r", " throw new Error(\"WindowsAuthEndpoint is empty or does not exist.\");\r", "}" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true } }, "request": { "auth": { "type": "ntlm", "ntlm": [ { "key": "password", "value": "{{WindowsUserPassword}}", "type": "string" }, { "key": "username", "value": "{{WindowsUsername}}", "type": "string" }, { "key": "domain", "value": "", "type": "string" } ] }, "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [] }, "url": { "raw": "{{WindowsAuthEndpoint}}", "host": [ "{{WindowsAuthEndpoint}}" ] }, "description": "\nThis HTTP POST request is used to authenticate with a Windows authentication endpoint. The request uses the x-www-form-urlencoded body type, but no specific parameters were provided in the last call.\n\n### Response\nThe last execution of this request returned a status code of 200 and a response content type of text/xml. However, the response body was null.\n\n" }, "response": [] }, { "name": "3.d.2 Request Token /w a Windows Account (On Premises Only)", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"TokenEndpoint\") === false || pm.environment.get(\"TokenEndpoint\") === \"\") { \r", " throw new Error(\"TokenEndpoint is empty or does not exist.\");\r", "}" ], "type": "text/javascript", "packages": {} } }, { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "pm.environment.set(\"AccessToken\", response.access_token);" ], "type": "text/javascript", "packages": {} } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true } }, "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "urlencoded", "urlencoded": [ { "key": "grant_type", "value": "windows", "type": "text" }, { "key": "scope", "value": "docuware.platform", "type": "text" }, { "key": "client_id", "value": "docuware.platform.net.client", "type": "text" } ] }, "url": { "raw": "{{TokenEndpoint}}", "host": [ "{{TokenEndpoint}}" ] }, "description": "Summary:\n\nThis request retrieves an access token that can be used to authenticate with DocuWare.\n\nResponse:\n\nThe response from this request contains an access token used to authenticate with DocuWare." }, "response": [] } ], "description": "This folder provides examples of requests for authenticating with DocuWare using OAuth. The requests are listed in an order indicating the sequence of requests necessary to complete the authentication process.\n\nIt should be noted, that at this time, DocuWare only supports the following grant types for retreiving an access token:\n\n- Username & Password\n \n- DocuWare Token\n \n- Trusted User Login\n \n- Windows Login\n \n- Login Token\n \n\nNo other grant types are currently supported." } ], "description": "This folder contains sample requests for authenticating with DocuWare. At this time, DocuWare supports two methods of authentication: Cookie and OAuth. It should be noted that Cookie Authentication is being phased out. As such, it is recommended that you use OAuth for any future projects.", "auth": { "type": "noauth" }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"ServerUrl\") === false || pm.environment.get(\"ServerUrl\") === \"\") { ", " throw new Error(\"ServerUrl is empty or does not exist.\");", "}", "", "if (pm.environment.has(\"Platform\") === false || pm.environment.get(\"Platform\") === \"\") { ", " throw new Error(\"Platform is empty or does not exist.\");", "}" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "General", "item": [ { "name": "Organization", "item": [ { "name": "Get Login Token", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.text();\r", "pm.environment.set(\"LoginToken\", response);" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "name": "Content-Type", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"TargetProducts\": [\r\n \"PlatformService\"\r\n ],\r\n \"Usage\": \"Multi\",\r\n \"Lifetime\": \"1.00:00:00\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/LoginToken", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "LoginToken" ] }, "description": "### POST /{{Platform}}/Organization/LoginToken\n\nThis endpoint is used to log in to the organization and obtain a login token.\n\n#### Request Body\n\n- `TargetProducts` (array of strings, optional): An array of target products.\n- `Usage` (string, optional): The usage of the login token.\n- `Lifetime` (string, optional): The lifetime of the login token.\n \n\n#### Response\n\nThe response will be an HTML document with the status code 200. The HTML document returned contains the login page with various form fields for providing username, password, and other login options." }, "response": [] }, { "name": "Get Organization", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organizations", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organizations" ] }, "description": "This HTTP GET request is used to retrieve a list of organizations from the server. The request should be made to the following endpoint: `{{ServerUrl}}/{{Platform}}/Organizations`.\n\n### Request Parameters\n\nThis request does not require any specific parameters to be included in the URL or body.\n\n### Response\n\nThe response to this request will have a status code of 200. The body of the response will be in JSON format and will contain an array of organizations. Each organization object will have the following properties:\n\n- `Links`: An array of links associated with the organization. Each link object will have a `rel` (relation) and `href` (URL) property.\n- `Name`: The name of the organization.\n- `Id`: The unique identifier of the organization.\n- `Guid`: The globally unique identifier (GUID) of the organization.\n \n\n### Example Response\n\nHere is an example response for this request:\n\n```\n{\n \"Organization\": [\n {\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Name\": \"\",\n \"Id\": \"\",\n \"Guid\": \"\"\n }\n ]\n}\n\n ```\n\nPlease note that the actual response may contain different values for the `Links`, `Name`, `Id`, and `Guid` properties." }, "response": [] }, { "name": "Get all File Cabinets and Document Trays", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "\r", "var selectedDocumentTray = response.FileCabinet.find(documentTray => { return documentTray.Name === pm.environment.get(\"DocumentTrayName\")});\r", "if (selectedDocumentTray === undefined)\r", "{\r", " selectedDocumentTray = response.FileCabinet.find(documentTray => { return documentTray.IsBasket === true && documentTray.Default === true});\r", "}\r", "pm.environment.set(\"DocumentTrayId\", selectedDocumentTray.Id);\r", "\r", "var selectedFileCabinet = response.FileCabinet.find(fileCabinet => { return fileCabinet.Name === pm.environment.get(\"FileCabinetName\")});\r", "if (selectedFileCabinet === undefined)\r", "{ \r", " selectedFileCabinet = response.FileCabinet[0];\r", "}\r", "pm.environment.set(\"FileCabinetId\", selectedFileCabinet.Id);" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets?OrgId={{OrgId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets" ], "query": [ { "key": "OrgId", "value": "{{OrgId}}", "description": "(Optional) The ID of the specified organization. This is only needed if you are connecting to an on premises system with an Enterprise server that has more than one organization." } ] }, "description": "This API endpoint allows you to retrieve a list of file cabinets for a specific organization. The file cabinets represent a collection of files or documents stored in the system.\n\nTo retrieve the list of file cabinets, make an HTTP GET request to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets?orgid={{OrgId}}`.\n\nThe response to this request will be a JSON object with a `FileCabinet` property. The `FileCabinet` property contains an array of file cabinet objects, each representing a file cabinet in the system.\n\nEach file cabinet object has the following properties:\n\n- `Links`: An array of links associated with the file cabinet. Each link object has a `rel` (relation) and `href` (URL) property.\n- `Color`: The color associated with the file cabinet.\n- `Name`: The name of the file cabinet.\n- `Id`: The unique identifier of the file cabinet.\n- `IsBasket`: A boolean value indicating whether the file cabinet is a basket.\n- `Usable`: A boolean value indicating whether the file cabinet is usable.\n- `Default`: A boolean value indicating whether the file cabinet is the default file cabinet.\n- `VersionManagement`: The version management setting for the file cabinet.\n- `WindowsExplorerClientAccess`: A boolean value indicating whether the file cabinet can be accessed using the Windows Explorer client.\n- `AddIndexEntriesInUpperCase`: A boolean value indicating whether index entries should be added in uppercase.\n- `DocumentAuditingEnabled`: A boolean value indicating whether document auditing is enabled for the file cabinet.\n- `HasFullTextSupport`: A boolean value indicating whether the file cabinet has full-text support.\n \n\nPlease note that the response may include additional properties not mentioned here, but these are the properties that are guaranteed to be present.\n\nHere is an example response for this request:\n\n``` json\n{\n \"FileCabinet\": [\n {\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Color\": \"\",\n \"Name\": \"\",\n \"Id\": \"\",\n \"IsBasket\": true,\n \"Usable\": true,\n \"Default\": true,\n \"VersionManagement\": \"\",\n \"WindowsExplorerClientAccess\": true,\n \"AddIndexEntriesInUpperCase\": true,\n \"DocumentAuditingEnabled\": true,\n \"HasFullTextSupport\": true\n }\n ]\n}\n\n ```\n\nPlease note that the values in the example response are placeholders and may not reflect the actual values returned by the API." }, "response": [] } ], "description": "This folder provides examples of requests for general organization level functions." }, { "name": "User Management", "item": [ { "name": "Get Users", "item": [ { "name": "Get Users", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "const selectedUser = response.User.find(user => { return user.Name === pm.environment.get(\"Username\") });\r", "if (selectedUser !== undefined) {\r", " pm.environment.set(\"UserId\", selectedUser.Id);\r", "}\r", "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/Users?Active=&Name=", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "Users" ], "query": [ { "key": "Active", "value": "", "description": "Allows you to filter the results by the active status (true/false). This value will be ignored if left empty." }, { "key": "Name", "value": "", "description": "Allows you to filter the results based on the value of the name. This value will be ignored if left empty." } ] }, "description": "This API endpoint allows you to retrieve information about the users in an organization.\n\nTo make a request, send an HTTP GET request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/Organization/Users\n\n ```\n\n### Response\n\nThe API will respond with a status code of 200 if the request is successful. The response body will contain an array of user objects, with each object representing a user in the organization.\n\nEach user object will have the following properties:\n\n- `IsHighSecurity` (boolean): Indicates whether the user has high security settings enabled.\n- `EMail` (string): The email address associated with the user.\n- `DefaultWebBasket` (string): The default document tray for the user.\n \n- `OutOfOffice` (object): An object representing the out-of-office status for the user.\n - `IsOutOfOffice` (boolean): Indicates whether the user is currently out of office.\n - `StartDateTime` (string): The start date and time of the out-of-office period.\n - `StartDateTimeSpecified` (boolean): Indicates whether the start date and time is specified.\n - `EndDateTimeSpecified` (boolean): Indicates whether the end date and time is specified.\n- `Links` (array): An array of link objects associated with the user.\n - `rel` (string): The relationship of the link.\n - `href` (string): The URL of the link.\n- `Id` (string): The unique identifier of the user.\n- `Name` (string): The name of the user.\n- `FirstName` (string): The first name of the user.\n- `LastName` (string): The last name of the user.\n- `DBName` (string): The name of the database associated with the user.\n- `Active` (boolean): Indicates whether the user is active.\n \n\nPlease note that the response may contain multiple user objects, depending on the number of users in the organization." }, "response": [] }, { "name": "Get User by ID", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"UserId\") === false || pm.environment.get(\"UserId\") === \"\") { \r", " throw new Error(\"UserId is empty or does not exist. Please ensure it exists and run the 'Get All Users' request\");\r", "}\r", "" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserByID?userId={{UserId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserByID" ], "query": [ { "key": "userId", "value": "{{UserId}}", "description": "The ID of the user that you want to get." } ] }, "description": "This HTTP GET request is used to retrieve information about a user in an organization based on their user ID (as returned in the response from \"Get All Users\"). The request is sent to the server URL and platform specified in the request URL.\n\nTo retrieve information about a specific user, provide the user ID as a query parameter in the request URL. The user ID is passed as the value for the \"userId\" parameter.\n\nThe execution of this request returns a response with a status code of 200, indicating a successful request. The response body contains the following information:\n\n- \"IsHighSecurity\": A boolean value indicating whether the user has high security settings enabled.\n- \"EMail\": The email address associated with the user.\n- \"DefaultWebBasket\": The default document tray for the user.\n \n- \"OutOfOffice\": An object containing information about the user's out-of-office status. It includes:\n - \"IsOutOfOffice\": A boolean value indicating whether the user is currently out of office.\n - \"StartDateTime\": The start date and time of the user's out-of-office period.\n - \"StartDateTimeSpecified\": A boolean value indicating whether the start date and time is specified.\n - \"EndDateTimeSpecified\": A boolean value indicating whether the end date and time is specified.\n- \"RegionalSettings\": An object containing the user's regional settings. It includes:\n - \"Language\": The language preference of the user.\n - \"Culture\": The culture preference of the user.\n- \"Links\": An array of objects representing links related to the user. Each object includes:\n - \"rel\": The relationship of the link.\n - \"href\": The URL of the link.\n- \"Id\": The ID of the user.\n- \"Name\": The name of the user.\n- \"DBName\": The name of the user's database.\n- \"Active\": A boolean value indicating whether the user is active.\n \n\nPlease note that specific values such as names and emails may not be included in this description for privacy reasons.\n\nTo use this endpoint, make an HTTP GET request to the specified URL, providing the user ID as a query parameter. The server will respond with the requested user information." }, "response": [] }, { "name": "Get Users of a Role", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/RoleUsers?RoleId=&IncludeGroupUsers=", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "RoleUsers" ], "query": [ { "key": "RoleId", "value": "", "description": "Specify the ID of the role that you want the associated users from." }, { "key": "IncludeGroupUsers", "value": "", "description": "This value (true/false) specifies whether the return results should contain just users directly associated to the role or users also contained in groups associated to the role. If left empty, it defaults to false." } ] }, "description": "This endpoint makes an HTTP GET request to retrieve the users associated with a specific role in the organization. The request includes the RoleId as a query parameter and an optional parameter IncludeGroupUsers.\n\n### Request Parameters\n\n- RoleId (query parameter): The unique identifier of the role for which the associated users are to be retrieved.\n- IncludeGroupUsers (optional query parameter): Indicates whether to include group users in the response.\n \n\n### Response\n\nUpon a successful execution, the endpoint returns a status code of 200 and a JSON response with an array of User objects. Each User object contains information such as IsHighSecurity, EMail, DefaultWebBasket, OutOfOffice status, Id, Name, DBName, and Active status.\n\nExample response:\n\n``` json\n{\n \"User\": [\n {\n \"IsHighSecurity\": true,\n \"EMail\": \"\",\n \"DefaultWebBasket\": \"\",\n \"OutOfOffice\": {\n \"IsOutOfOffice\": true,\n \"StartDateTime\": \"\",\n \"StartDateTimeSpecified\": true,\n \"EndDateTimeSpecified\": true\n },\n \"Id\": \"\",\n \"Name\": \"\",\n \"DBName\": \"\",\n \"Active\": true\n }\n ]\n}\n\n ```" }, "response": [] }, { "name": "Get Users of a Group", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/GroupUsers?GroupId=", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "GroupUsers" ], "query": [ { "key": "GroupId", "value": "", "description": "Specify the ID of the group that you want the associated users from." } ] }, "description": "This endpoint retrieves the list of users belonging to a specific group within the organization.\n\nThe response will be in JSON format with an array of \"User\" objects, each containing details such as \"IsHighSecurity\", \"EMail\", \"DefaultWebBasket\", \"OutOfOffice\", \"Id\", \"Name\", \"DBName\", and \"Active\".\n\nExample:\n\n``` json\n{\n \"User\": [\n {\n \"IsHighSecurity\": true,\n \"EMail\": \"\",\n \"DefaultWebBasket\": \"\",\n \"OutOfOffice\": {\n \"IsOutOfOffice\": true,\n \"StartDateTime\": \"\",\n \"StartDateTimeSpecified\": true,\n \"EndDateTimeSpecified\": true\n },\n \"Id\": \"\",\n \"Name\": \"\",\n \"DBName\": \"\",\n \"Active\": true\n }\n ]\n}\n\n ```" }, "response": [] } ], "description": "This folder provides examples of requests for retrieving users." }, { "name": "Create/Update Users", "item": [ { "name": "Create User", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "const requestBody = JSON.parse(request.data);\r", "pm.environment.set(\"CreatedUserId\", response.Id);\r", "pm.environment.set(\"CreatedUserNetworkId\", requestBody.NetworkId);\r", "" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/vnd.docuware.platform.createorganizationuser+json", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"Name\": \"Peter Engineering\",\r\n \"DbName\": \"PENGINE\",\r\n \"Email\": \"peter@peters-engineering.test\",\r\n \"NetworkId\": \"\",\r\n \"Password\": \"YOURPASSWORD\"\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserInfo", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserInfo" ] }, "description": "This API endpoint allows you to add user information to an organization on the specified platform. It is an HTTP POST request to the URL `{{ServerUrl}}/{{Platform}}/Organization/UserInfo`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n- `Platform`: The platform on which the file cabinet is hosted.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Name\": \"Peter Engineering\",\n \"DbName\": \"PENGINE\",\n \"Email\": \"peter@peters-engineering.test\",\n \"NetworkId\": \"\",\n \"Password\": \"YOURPASSWORD\"\n}\n\n ```\n\nThis object specifies information about the new user that will be created in DocuWare. Here are the details for each field in the object:\n\n- \"Name\" is a string that represents the name of the new user.\n- \"DbName\" is a string that represents the name of the database configured in DocuWare for the new user.\n- \"Email\" is a string that represents the email address of the new user.\n- \"NetworkId\" is a string that represents the network ID of the new user.\n- \"Password\" is a string that represents the password of the new user. \n Note that the NetworkId field is optional, and can be left blank if no value is available.\n \n\n### Response\n\nAfter the execution of this request, the server returns a response with a status code of 200. The response body contains the following information:\n\n- `IsHighSecurity`: A boolean value indicating whether the user has high security settings enabled.\n- `EMail`: The email address of the user.\n- `DefaultWebBasket`: The default web basket associated with the user.\n- `OutOfOffice`: An object containing information about the user's out-of-office settings. It includes the following properties:\n - `IsOutOfOffice`: A boolean value indicating whether the user is currently out of office.\n - `StartDateTimeSpecified`: A boolean value indicating whether the start date and time for the out-of-office period is specified.\n - `EndDateTimeSpecified`: A boolean value indicating whether the end date and time for the out-of-office period is specified.\n- `RegionalSettings`: An object containing regional settings for the user. The specific properties and their values are not provided in the response.\n- `Links`: An array of objects representing links associated with the user. Each object in the array includes the following properties:\n - `rel`: The relationship of the link.\n - `href`: The URL of the link.\n- `Id`: The unique identifier of the user.\n- `Name`: The name of the user.\n- `DBName`: The name of the database associated with the user.\n- `Active`: A boolean value indicating whether the user is active.\n \n\nPlease note that the specific values of certain properties, such as names and email addresses, are not included in the response for privacy reasons.\n\nFor more details on how to use this API endpoint and the available request parameters, please refer to the API documentation." }, "response": [] }, { "name": "Update User", "protocolProfileBehavior": { "disabledSystemHeaders": {} }, "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"Id\": \"{{CreatedUserId}}\",\r\n \"Actve\": true,\r\n \"FirstName\": \"Peter\",\r\n \"LastName\": \"Engineering\",\r\n \"Salutation\": \"\",\r\n \"Name\": \"Peter Engineering Update\",\r\n \"Email\": \"peter@peters-engineering.com\",\r\n \"OutOfOffice\": {\r\n \"IsOutOfOffice\": \"true\",\r\n \"StartDateTime\": \"2022-01-01T13:00:00.0000000Z\",\r\n \"EndDateTime\": \"2022-12-31T13:00:00.0000000Z\"\r\n }\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserInfo", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserInfo" ] }, "description": "### Add Organization User Information\n\nThis API endpoint allows you to add user information for an organization on the specified platform.\n\n#### Request Body\n\n- `Id` (string, required): The unique identifier for the user.\n \n- `Actve` (boolean, optional): Indicates whether the user is active.\n \n- `FirstName` (string, optional): The first name of the user.\n- `LastName` (string, optional): The last name of the user.\n- `Salutation` (string, optional): The salutation for the user.\n- `Name` (string, optional): The name of the user.\n- `Email` (string, optional): The email address of the user.\n- `OutOfOffice` (object, optional): Information about the user's out of office status.\n - `IsOutOfOffice` (string, optional): Indicates whether the user is out of office.\n - `StartDateTime` (string, optional): The start date and time of the out of office period.\n - `EndDateTime` (string, optional): The end date and time of the out of office period.\n\n#### Response\n\nUpon successful execution, the API returns a status code of 200 and a JSON response with the following fields:\n\n- `IsHighSecurity` (boolean): Indicates whether high security settings are enabled.\n- `EMail` (string): The email address of the user.\n- `DefaultWebBasket` (string): The default web basket for the user.\n- `OutOfOffice` (object): Information about the user's out of office status.\n - `IsOutOfOffice` (boolean): Indicates whether the user is out of office.\n - `StartDateTime` (string): The start date and time of the out of office period.\n - `StartDateTimeSpecified` (boolean): Indicates whether the start date and time are specified.\n - `EndDateTime` (string): The end date and time of the out of office period.\n - `EndDateTimeSpecified` (boolean): Indicates whether the end date and time are specified.\n- `RegionalSettings` (object): Regional settings for the user.\n- `Links` (array): An array of links related to the user.\n- `Id` (string): The unique identifier for the user.\n- `Name` (string): The name of the user.\n- `FirstName` (string): The first name of the user.\n- `LastName` (string): The last name of the user.\n- `Salutation` (string): The salutation for the user.\n- `DBName` (string): The database name associated with the user.\n- `Active` (boolean): Indicates whether the user is active." }, "response": [] } ], "description": "This folder provides examples of requests for creating and updating users." }, { "name": "Get/Modify Groups", "item": [ { "name": "Get Groups", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/Groups?Active=&Name=", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "Groups" ], "query": [ { "key": "Active", "value": "", "description": "Allows you to filter the results by the active status (true/false). This value will be ignored if left empty." }, { "key": "Name", "value": "", "description": "Allows you to filter the results based on the value of the name. This value will be ignored if left empty." } ] }, "description": "This endpoint makes an HTTP GET request to retrieve a list of organization groups based on the provided parameters. The \"Active\" parameter is used to filter active or inactive groups, and the \"Name\" parameter is used to search for groups by name.\n\n### Request Parameters\n\n- Active (optional): Filter the groups based on their active status.\n- Name (optional): Search for groups by name.\n \n\n### Response\n\nThe response will have a status code of 200 and a content type of \"application/json\". The response body will contain an array of \"Item\" objects, each representing a group. Each \"Item\" object includes \"Links\" array, \"Id\", \"Name\", and \"Active\" properties.\n\nExample:\n\n``` json\n{\n \"Item\": [\n {\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"Name\": \"\",\n \"Active\": true\n }\n ]\n}\n\n ```" }, "response": [] }, { "name": "Get All Groups for a Specific User", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"UserId\") === false || pm.environment.get(\"UserId\") === \"\") { \r", " throw new Error(\"UserId is empty or does not exist. Please ensure it exists and run the 'Get All Users' request\");\r", "}\r", "" ], "type": "text/javascript", "packages": {} } } ], "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserGroups?UserId={{UserId}}&Active&Name", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserGroups" ], "query": [ { "key": "UserId", "value": "{{UserId}}", "description": "The ID of the user that you want to get the groups for." }, { "key": "Active", "value": null, "description": "Allows you to filter the results by the active status (true/false). This value will be ignored if left empty." }, { "key": "Name", "value": null, "description": "Allows you to filter the results based on the value of the name. This value will be ignored if left empty." } ] }, "description": "This endpoint makes an HTTP GET request to retrieve user groups within an organization. The request should be made to {{ServerUrl}}/{{Platform}}/Organization/UserGroups, with the UserId, Active, and Name as query parameters.\n\n### Query Parameters\n\n- UserId: The ID of the user for whom the groups are being retrieved.\n- Active: Indicates the active status of the user groups.\n- Name: Filters the user groups by name.\n \n\n### Response\n\nThe endpoint returns a JSON object with an array of \"Item\" containing the details of the user groups, including their Id, Name, and Active status.\n\nExample Response:\n\n``` json\n{\n \"Item\": [\n {\n \"Id\": \"\",\n \"Name\": \"\",\n \"Active\": true\n }\n ]\n}\n\n ```" }, "response": [] }, { "name": "Add User to a Group", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"UserId\") === false || pm.environment.get(\"UserId\") === \"\") { \r", " throw new Error(\"UserId is empty or does not exist. Please ensure it exists and run the 'Get All Users' request\");\r", "}\r", "" ], "type": "text/javascript" } } ], "request": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"Ids\": [\r\n \"{{GroupId}}\" \r\n ],\r\n \"OperationType\": \"Add\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserGroups?UserId={{UserId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserGroups" ], "query": [ { "key": "UserId", "value": "{{UserId}}", "description": "The ID of the user that you want to add top one or more roles." } ] }, "description": "This HTTP PUT request is used to add a user to groups in an organization on the specified platform. The request URL should be in the format: `{{ServerUrl}}/{{Platform}}/Organization/UserGroups?UserId={{UserId}}`.\n\n### Request Parameters\n\nThe request requires the following parameters:\n\n- `ServerUrl` (string): The URL of the server.\n- `Platform` (string): The platform on which the organization is located.\n- `UserId` (string): The ID of the user.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Ids\": [\n \"4ef807b0-1ea1-4cda-9071-bbbf51097005\" \n ],\n \"OperationType\": \"Add\"\n}\n\n ```\n\nThis object specifies information about the user and the group they will be added to. Here are the details for each field in the object:\n\n- \"Ids\" is an array of strings that represents the ID(s) of the group(s) that the user will be added to.\n- \"OperationType\" is a string that represents the type of operation to be performed on the group. In this case, the value \"Add\" indicates that the specified user should be added to the group(s).\n \n\nNote that the Ids field can contain the IDs of multiple groups, and should be an array even if only one group is being added.\n\n### Response\n\nThe response returned by the execution of this request has a status code of 200, indicating a successful operation.\n\nPlease add the specific documentation for this request." }, "response": [] }, { "name": "Remove User from a Group", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"UserId\") === false || pm.environment.get(\"UserId\") === \"\") { \r", " throw new Error(\"UserId is empty or does not exist. Please ensure it exists and run the 'Get All Users' request\");\r", "}\r", "" ], "type": "text/javascript" } } ], "request": { "method": "PUT", "header": [], "body": { "mode": "raw", "raw": "{\r\n \"Ids\": [\r\n \"{{GroupId}}\"\r\n ],\r\n \"OperationType\": \"Remove\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserGroups?UserId={{UserId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserGroups" ], "query": [ { "key": "UserId", "value": "{{UserId}}", "description": "The ID of the user that you want to remove from one or more groups." } ] }, "description": "This HTTP PUT request is used to remove a user from groups in an organization on the specified platform. The request URL should be in the format `{{ServerUrl}}/{{Platform}}/Organization/UserGroups?UserId={{UserId}}`.\n\n### Request Parameters\n\n- `ServerUrl` (string): The URL of the server.\n- `Platform` (string): The platform on which the organization is located.\n- `UserId` (string): The ID of the user for whom the user groups are being added.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Ids\": [\n \"4ef807b0-1ea1-4cda-9071-bbbf51097005\"\n ],\n \"OperationType\": \"Remove\"\n}\n\n ```\n\nThis object specifies information about the user and the group they will be removed from. Here are the details for each field in the object:\n\n- \"Ids\" is an array of strings that represents the ID(s) of the group(s) that the user will be removed from.\n- \"OperationType\" is a string that represents the type of operation to be performed on the group. In this case, the value \"Remove\" indicates that the specified user should be removed from the group(s). \n Note that the Ids field can contain the IDs of multiple groups, and should be an array even if only one group is being added.\n \n\n### Response\n\nThe execution of this request returns a response with a status code of 200, indicating that the request was successful. The response body may contain additional information related to the removed user groups.\n\nPlease refer to the API documentation for more details on the request payload and response body." }, "response": [] } ], "description": "This folder provides examples of requests for retrieving groups as well as adding and removing users from groups." }, { "name": "Get/Modify Roles", "item": [ { "name": "Get Roles", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/Roles?Type=&Active=&Name=", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "Roles" ], "query": [ { "key": "Type", "value": "", "description": "Allows you to filter the results based on the type (Default/Standard/Administrator). This value will be ignored if left empty." }, { "key": "Active", "value": "", "description": "Allows you to filter the results by the active status (true/false). This value will be ignored if left empty." }, { "key": "Name", "value": "", "description": "Allows you to filter the results based on the value of the name. This value will be ignored if left empty." } ] }, "description": "This endpoint makes an HTTP GET request to retrieve a list of roles within the specified organization and platform. The request can include query parameters for filtering the roles based on type, activity status, and name.\n\n### Request Parameters\n\n- `Type` (optional): Filter the roles by type.\n- `Active` (optional): Filter the roles by activity status.\n- `Name` (optional): Filter the roles by name.\n \n\n### Response\n\nUpon a successful request, the server will respond with a status code of 200 and a JSON object containing an array of role items. Each role item includes an ID, name, activity status, type, and a list of links associated with the role.\n\nExample Response:\n\n``` json\n{\n \"Item\": [\n {\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"Name\": \"\",\n \"Active\": true,\n \"Type\": \"\"\n }\n ]\n}\n\n ```" }, "response": [] }, { "name": "Get All Roles for a Specific User", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"UserId\") === false || pm.environment.get(\"UserId\") === \"\") { \r", " throw new Error(\"UserId is empty or does not exist. Please ensure it exists and run the 'Get All Users' request\");\r", "}\r", "" ], "type": "text/javascript", "packages": {} } } ], "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserRoles?UserId={{UserId}}&Active&Type&Name", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserRoles" ], "query": [ { "key": "UserId", "value": "{{UserId}}", "description": "The ID of the user that you want to get the roles for." }, { "key": "Active", "value": null, "description": "Allows you to filter the results by the active status (true/false). This value will be ignored if left empty." }, { "key": "Type", "value": null, "description": "Allows you to filter the results based on the type (Default/Standard/Administrator). This value will be ignored if left empty." }, { "key": "Name", "value": null, "description": "Allows you to filter the results based on the value of the name. This value will be ignored if left empty." } ] }, "description": "This endpoint makes an HTTP GET request to retrieve user roles within an organization based on the provided UserId, Active status, Type, and Name. The response will contain an array of items, where each item includes the Id, Name, Active status, and Type of the user role.\n\nFor example:\n\n- To retrieve user roles for a specific user, include the UserId parameter in the request.\n- To filter by active status, include the Active parameter.\n- To filter by role type, include the Type parameter.\n- To filter by role name, include the Name parameter.\n \n\nThe response will be in JSON format with a 200 status code, and will include an array of items, where each item contains the Id, Name, Active status, and Type of the user role." }, "response": [] }, { "name": "Add User to a Role", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"UserId\") === false || pm.environment.get(\"UserId\") === \"\") { \r", " throw new Error(\"UserId is empty or does not exist. Please ensure it exists and run the 'Get All Users' request\");\r", "}\r", "" ], "type": "text/javascript" } } ], "request": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"Ids\": [\r\n \"{{RoleId}}\"\r\n ],\r\n \"OperationType\": \"Add\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserRoles?UserId={{UserId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserRoles" ], "query": [ { "key": "UserId", "value": "{{UserId}}", "description": "The ID of the user that you want to aad to one or more roles." } ] }, "description": "This API endpoint allows you to update the user roles for a specific user in an organization.\n\nTo update the user roles, you need to send an HTTP PUT request to the following URL: `{{ServerUrl}}/{{Platform}}/Organization/UserRoles?UserId={{UserId}}`.\n\n### Request Parameters\n\nThe request requires the following parameters:\n\n- `ServerUrl` (string): The URL of the server.\n- `Platform` (string): The platform on which the organization is located.\n- `UserId` (string): The ID of the user (as returned in the response from \"Get All Users\").\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Ids\": [\n \"4ef807b0-1ea1-4cda-9071-bbbf51097005\" \n ],\n \"OperationType\": \"Add\"\n}\n\n ```\n\nThis object specifies information about the user and the role they will be added to. Here are the details for each field in the object:\n\n- \"Ids\" is an array of strings that represents the ID(s) of the role(s) that the user will be added to.\n- \"OperationType\" is a string that represents the type of operation to be performed on the role. In this case, the value \"Add\" indicates that the specified user should be added to the role(s).\n \n\nNote that the Ids field can contain the IDs of multiple roles, and should be an array even if only one role is being added.\n\n### Response\n\nUpon successful execution of the request, the server will respond with a status code of 200, indicating that the update was successful.\n\nPlease refer to the API documentation for more details on the request parameters and their expected values." }, "response": [] }, { "name": "Remove User from a Role", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"UserId\") === false || pm.environment.get(\"UserId\") === \"\") { \r", " throw new Error(\"UserId is empty or does not exist. Please ensure it exists and run the 'Get All Users' request\");\r", "}\r", "" ], "type": "text/javascript" } } ], "request": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"Ids\": [\r\n \"{{RoleId}}\"\r\n ],\r\n \"OperationType\": \"Remove\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/Organization/UserRoles?UserId={{UserId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Organization", "UserRoles" ], "query": [ { "key": "UserId", "value": "{{UserId}}", "description": "The ID of the user that you want to remove from one or more roles." } ] }, "description": "This HTTP PUT request is used to remove roles for a specific user. The request is made to the endpoint `{{ServerUrl}}/{{Platform}}/Organization/UserRoles` with the query parameter `UserId` specifying the user for whom the roles are being removed.\n\n### Request Parameters\n\n- `ServerUrl` (string): The URL of the server.\n- `Platform` (string): The platform on which the organization is located.\n- `UserId` (string): The ID of the user for whom the user roles are being removed (as returned in the response from \"Get All Users\").\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Ids\": [\n \"4ef807b0-1ea1-4cda-9071-bbbf51097005\"\n ],\n \"OperationType\": \"Remove\"\n}\n\n ```\n\nThis object specifies information about the user and the role they will be removed from. Here are the details for each field in the object:\n\n- \"Ids\" is an array of strings that represents the ID(s) of the role(s) that the user will be removed from.\n- \"OperationType\" is a string that represents the type of operation to be performed on the role. In this case, the value \"Remove\" indicates that the specified user should be removed from the role(s). \n Note that the Ids field can contain the IDs of multiple roles, and should be an array even if only one role is being removed.\n \n\n### Response\n\nThe execution of this request returns a response with a status code of 200 (OK). The response body may contain additional information about the success of the operation or any error messages." }, "response": [] } ], "description": "This folder provides examples of requests for retrieving roles as well as adding and removing users from roles." } ], "description": "This folder provides examples of requests for handling user management." } ], "description": "This folder provides examples of requests that access organization level functionality." }, { "name": "File Cabinets", "item": [ { "name": "General", "item": [ { "name": "Get File Cabinet Information", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}" ] }, "description": "This API endpoint is used to retrieve information about a specific file cabinet. It is an HTTP GET request that should be made to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}`.\n\nThe response from the execution of this request has a status code of 200, indicating a successful response. The response body contains the following information:\n\n- `Links`: An array of objects representing links related to the file cabinet. Each object has a `rel` (relation) and `href` (URL) property.\n- `Fields`: An array of objects representing the fields/columns of the file cabinet. Each field object contains various properties such as `TableFieldColumns`, `UsedAsDocumentName`, `Links`, `Scope`, `DWFieldType`, `Length`, `DBFieldName`, `DisplayName`, `DropLeadingZero`, `DropLeadingBlanks`, `NotEmpty`, and `Precision`.\n- `Rights`: An array of strings representing the rights associated with the file cabinet.\n- `ExtendedUserRights`: An object containing extended user rights information. An example of the response is a property `AllowViewAuditData` set to `true`.\n \n- `Color`: A string representing the color associated with the file cabinet.\n- `Name`: A string representing the name of the file cabinet.\n- `Id`: A string representing the unique identifier of the file cabinet.\n- `IsBasket`: A boolean value indicating whether the file cabinet is a basket or not.\n- `Usable`: A boolean value indicating whether the file cabinet is usable or not.\n- `Default`: A boolean value indicating whether the file cabinet is the default file cabinet or not.\n- `VersionManagement`: A string representing the version management setting of the file cabinet.\n- `WindowsExplorerClientAccess`: A boolean value indicating whether the file cabinet can be accessed via Windows Explorer or not.\n- `AddIndexEntriesInUpperCase`: A boolean value indicating whether the index entries should be added in uppercase or not.\n- `DocumentAuditingEnabled`: A boolean value indicating whether document auditing is enabled for the file cabinet or not.\n- `HasFullTextSupport`: A boolean value indicating whether the file cabinet has full-text support or not.\n \n\nPlease note that the specific values (if any) in the response have been omitted for security and privacy reasons.\n\nPlease refer to the API documentation for more details on how to use this endpoint and the meaning of each property in the response." }, "response": [] }, { "name": "Get Total Number of Documents", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/CountExpression?DialogId={{SearchDialogId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Query", "CountExpression" ], "query": [ { "key": "DialogId", "value": "{{SearchDialogId}}", "description": "(Optional) The Id of the search dialog that you want to use." } ] }, "description": "This API endpoint is used to query the count expression for a specific file cabinet in the given platform. The count expression represents the number of records that match the specified search criteria.\n\nTo make a request, send an HTTP GET request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/CountExpression?dialogId={{SearchDialogId}}\n\n ```\n\nReplace `{{ServerUrl}}` with the base URL of the server, `{{Platform}}` with the name of the platform, `{{FileCabinetId}}` with the ID of the file cabinet, and `{{SearchDialogId}}` with the ID of the search dialog.\n\nThe response to the request will have a status code of 200 if the request is successful. The response body will be in JSON format and will contain the count of records that match the specified search criteria. The count will be under the `Group` array, with the `Count` property indicating the number of records. The `TimeStamp` property will provide the timestamp of the response.\n\nHere is an example response:\n\n```\n{\n \"Group\": [\n {\n \"Count\": 0\n }\n ],\n \"TimeStamp\": \"\"\n}\n\n ```\n\nPlease note that the actual count value and timestamp will vary based on the specific request and response." }, "response": [] } ], "description": "This folder provides examples of requests that execute basic File Cabinet requests.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Dialogs", "item": [ { "name": "Get All Dialogs", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "var selectedSearchDialog = response.Dialog.find(dialog => { return dialog.IsDefault === true });\r", "if (selectedSearchDialog === undefined)\r", "{ \r", " selectedSearchDialog = response.Dialog.find(dialog => { return dialog.DisplayName === \"custom\" });\r", "}\r", "pm.environment.set(\"SearchDialogId\", selectedSearchDialog.Id);\r", "pm.environment.set(\"IndexDialogId\", \"i_\" + selectedSearchDialog.AssignedDialogId);\r", "\r", "var selectedStoreDialog = response.Dialog.find(dialog => { return dialog.Type === \"Store\" && dialog.IsDefault === true });\r", "pm.environment.set(\"StoreDialogId\", selectedStoreDialog.Id);" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Dialogs", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Dialogs" ] }, "description": "This API endpoint is used to retrieve the dialogs associated with a specific file cabinet. It sends an HTTP GET request to the server with the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Dialogs`.\n\n### Request Parameters\n\nThis endpoint does not require any request parameters.\n\n### Response\n\nThe response to this request will be a JSON object with a `Dialog` property. The `Dialog` property is an array of dialog objects. Each dialog object has the following properties:\n\n- `$type`: The type of the dialog.\n- `Links`: An array of link objects associated with the dialog. Each link object has `rel` and `href` properties.\n- `Id`: The unique identifier of the dialog.\n- `FileCabinetId`: The unique identifier of the file cabinet that the dialog belongs to.\n- `FileCabinetName`: The name of the file cabinet that the dialog belongs to.\n- `DisplayName`: The display name of the dialog.\n- `IsForMobile`: A boolean value indicating whether the dialog is for mobile devices.\n- `Color`: The color associated with the dialog.\n- `IsDefault`: A boolean value indicating whether the dialog is the default dialog.\n- `Type`: The type of the dialog.\n \n\n### Examples\n\nHere are some examples of responses for this request:\n\n``` json\n{\n \"Dialog\": [\n {\n \"$type\": \"\",\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"FileCabinetId\": \"\",\n \"FileCabinetName\": \"\",\n \"DisplayName\": \"\",\n \"IsForMobile\": true,\n \"Color\": \"\",\n \"IsDefault\": true,\n \"Type\": \"\"\n }\n ]\n}\n\n ```" }, "response": [] }, { "name": "Get a Specific Dialog", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"SearchDialogId\") === false || pm.environment.get(\"SearchDialogId\") === \"\") { \r", " throw new Error(\"SearchDialogId is empty or does not exist. Please ensure it exists and run the 'Get All Dialogs' request.\");\r", "}\r", "" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Dialogs/{{SearchDialogId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Dialogs", "{{SearchDialogId}}" ] }, "description": "\nThis HTTP GET request is used to retrieve information about a specific dialog in a file cabinet. The request URL should be in the format: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Dialogs/{{SearchDialogId}}`.\n\nThe response to this request will contain details about the fields in the dialog, the query used to retrieve data, and other properties related to the dialog.\n\nHere is an example response for this request:\n\n```json\n{\n \"Fields\": [\n {\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"DBFieldName\": \"\",\n \"DlgLabel\": \"\",\n \"DWFieldType\": \"\",\n \"Locked\": true,\n \"ReadOnly\": true,\n \"NotEmpty\": true,\n \"Visible\": true,\n \"Length\": 0,\n \"Precision\": 0,\n \"AllowExtendedSearch\": true,\n \"UsedAsDocumentName\": true,\n \"IsHierarchy\": true\n }\n ],\n \"Query\": {\n \"ForceRefresh\": true,\n \"Expression\": \"\",\n \"Fields\": [\"\"],\n \"SortOrder\": [\n {\n \"Field\": \"\",\n \"Direction\": \"\"\n }\n ],\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ]\n },\n \"Properties\": {\n \"$type\": \"\",\n \"LogicalOperator\": {\n \"DefaultOperator\": \"\",\n \"Show\": true\n }\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"FileCabinetId\": \"\",\n \"FileCabinetName\": \"\",\n \"DisplayName\": \"\",\n \"IsForMobile\": true,\n \"AssignedDialogId\": \"\",\n \"Color\": \"\",\n \"IsDefault\": true,\n \"Type\": \"\"\n}\n```\n\nThe response contains the following properties:\n\n- `Fields`: An array of objects representing the fields in the dialog. Each field object contains information such as the field name, label, type, visibility, and other attributes.\n- `Query`: An object representing the query used to retrieve data for the dialog. It includes properties like force refresh, expression, fields to include, sort order, and links.\n- `Properties`: An object representing additional properties related to the dialog. It includes the type, logical operator, and other custom properties.\n- `Links`: An array of objects representing links related to the dialog.\n- `Id`: The unique identifier of the dialog.\n- `FileCabinetId`: The unique identifier of the file cabinet to which the dialog belongs.\n- `FileCabinetName`: The name of the file cabinet.\n- `DisplayName`: The display name of the dialog.\n- `IsForMobile`: A boolean value indicating if the dialog is designed for mobile devices.\n- `AssignedDialogId`: The unique identifier of the assigned dialog.\n- `Color`: The color associated with the dialog.\n- `IsDefault`: A boolean value indicating if the dialog is the default dialog.\n- `Type`: The type of the dialog.\n\nPlease note that the actual values for some properties have been omitted for security reasons.\n" }, "response": [] }, { "name": "Get Dialogs of a Specific Type", "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Dialogs?DialogType=Search", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Dialogs" ], "query": [ { "key": "DialogType", "value": "Search", "description": "The type of dialog to get. Valid values are \"Search\", \"Store\", \"Result\", \"Index\", \"List\", \"Folders\"." } ] }, "description": "This API endpoint retrieves a list of dialogs for a specific file cabinet in the system. The request is an HTTP GET request to `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Dialogs?dialogType=Search`, where `{{ServerUrl}}` is the base URL of the server, `{{Platform}}` is the platform name, and the unique identifier of the file cabinet.\n\nThe response will contain an array of dialog objects, with each object representing a dialog associated with the file cabinet. Here is an example response:\n\n```\n{\n \"Dialog\": [\n {\n \"$type\": \"\",\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"FileCabinetId\": \"\",\n \"FileCabinetName\": \"\",\n \"DisplayName\": \"\",\n \"IsForMobile\": true,\n \"Color\": \"\",\n \"IsDefault\": true,\n \"Type\": \"\"\n }\n ]\n}\n\n ```\n\nEach dialog object will have the following properties:\n\n- `$type`: The type of the dialog.\n- `Links`: An array of links associated with the dialog.\n- `Id`: The unique identifier of the dialog.\n- `FileCabinetId`: The unique identifier of the file cabinet to which the dialog belongs.\n- `FileCabinetName`: The name of the file cabinet.\n- `DisplayName`: The display name of the dialog.\n- `IsForMobile`: A boolean value indicating whether the dialog is for mobile devices.\n- `Color`: The color associated with the dialog.\n- `IsDefault`: A boolean value indicating whether the dialog is the default dialog.\n- `Type`: The type of the dialog.\n \n\nPlease note that the values for the properties may vary in the actual response.\n\nTo use this endpoint, make an HTTP GET request to the specified URL, replacing the placeholders with the actual values. The response will provide you with the list of dialogs associated with the specified file cabinet." }, "response": [] } ], "description": "This folder provides examples of requests related to dialogs.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Search", "item": [ { "name": "Get Documents from a File Cabinet", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "const selectedDocument = response.Items[0];\r", "pm.environment.set(\"DocumentId\", selectedDocument.Id);" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents?Count=1&Fields=DOCUMENT_TYPE,COMPANY_NAME", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents" ], "query": [ { "key": "Count", "value": "1", "description": "(Optional) Specify the maximum number of documents to return." }, { "key": "Fields", "value": "DOCUMENT_TYPE,COMPANY_NAME", "description": "(Optional) Specify the fields (using the field name) that you want returned for each document." } ] }, "description": "This API endpoint retrieves a list of documents from a specific file cabinet. The request is an HTTP GET request sent to the server URL with the specified platform, file cabinet ID, and additional query parameters. The query parameters include \"Count\" and \"Fields\" which limit the number of documents returned and specify the fields to include in the response.\n\nThe execution of this request returns a response with a status code of 200. The response body contains an object with a \"Count\" property, which indicates if there are more documents available and if the limit has been exceeded. The \"Items\" property contains an array of documents, where each document has various properties such as \"FileCabinetId\", \"Fields\", \"Flags\", \"Links\", \"Sections\", \"ContentType\", \"HaveMoreTotalPages\", \"HasTextAnnotation\", \"HasXmlDigitalSignatures\", \"AnnotationsPreview\", \"TotalPages\", \"Id\", \"Title\", \"LastModified\", \"CreatedAt\", \"FileSize\", \"SectionCount\", \"IntellixTrust\", and \"VersionStatus\".\n\nPlease note that the specific values in the response have been omitted for security reasons. The response may contain additional properties that are not mentioned here.\n\nTo use this endpoint, replace the placeholders in the URL with the actual values. You can also customize the query parameters to retrieve specific documents and fields. Make sure to handle the response appropriately based on the status code and the properties of the returned documents." }, "response": [] }, { "name": "Get a Specific Document From a File Cabinet", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { \r", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documents from a File Cabinet' request.\");\r", "}\r", "" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}" ] }, "description": "This HTTP GET request retrieves information about a specific document in a file cabinet. The request should be made to the following endpoint: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}`.\n\nThe response for this request includes various properties related to the document. Here are some examples of the response properties:\n\n- `Fields`: An array of fields associated with the document. Each field object includes information such as field name, label, nullability, read-only status, and system field indicator.\n- `Flags`: An object containing various flags indicating properties of the document, such as whether it is a cold document, a database record, checked out, copy-right protected, voice available, has appended documents, protected, deleted, or an email.\n- `Links`: An array of links associated with the document. Each link object includes information about the link's relationship and href.\n- `Sections`: An array of sections within the document. Each section object includes information such as signature status, links, section ID, content type, page count, file size, original file name, content modification status, and text annotation availability.\n- `ContentType`: The content type of the document.\n- `HaveMoreTotalPages`: A flag indicating whether there are more pages in the document.\n- `HasTextAnnotation`: A flag indicating whether the document has text annotations.\n- `HasXmlDigitalSignatures`: A flag indicating whether the document has XML digital signatures.\n- `TotalPages`: The total number of pages in the document.\n- `Id`: The ID of the document.\n- `Title`: The title of the document.\n- `LastModified`: The last modified date of the document.\n- `CreatedAt`: The creation date of the document.\n- `FileSize`: The file size of the document.\n- `SectionCount`: The number of sections in the document.\n- `IntellixTrust`: The IntellixTrust value of the document.\n- `VersionStatus`: The version status of the document.\n- `FileCabinetId`: The ID of the file cabinet containing the document.\n \n\nPlease note that the response example provided in the question is not a valid JSON response and may not accurately represent the actual response structure.\n\nTo access a specific document in a file cabinet, replace `{{FileCabinetId}}` with the ID of the desired file cabinet and `{{DocumentId}}` with the ID of the desired document in the request URL." }, "response": [] }, { "name": "Search for Documents in a Single File Cabinet", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"SearchDialogId\") === false || pm.environment.get(\"SearchDialogId\") === \"\") { \r", " throw new Error(\"SearchDialogId is empty or does not exist. Please ensure it exists and run the 'Get All Dialogs' request.\");\r", "}\r", "\r", "var moment = require(\"moment\");\r", "pm.environment.set('CurrentDate', moment().format(\"YYYY-MM-DD\"));" ], "type": "text/javascript" } }, { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "const selectedDocument = response.Items[0];\r", "pm.environment.set(\"DocumentId\", selectedDocument.Id);" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"Condition\": [\r\n {\r\n \"DBName\": \"{{DocumentTypeField}}\",\r\n \"Value\": [\r\n \"{{DocumentTypeValue}}\"\r\n ]\r\n },\r\n {\r\n \"DBName\": \"DWSTOREDATETIME\",\r\n \"Value\": [\r\n \"2010-01-01\",\r\n \"{{CurrentDate}}\"\r\n ]\r\n }\r\n ],\r\n \"Operation\": \"And\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/DialogExpression?Count=2&Fields=DOCUMENT_TYPE&SortOrder=DOCUMENT_TYPE+Asc&DialogId={{SearchDialogId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Query", "DialogExpression" ], "query": [ { "key": "Count", "value": "2", "description": "(Optional) Specify the maximum number of documents to return." }, { "key": "Fields", "value": "DOCUMENT_TYPE", "description": "(Optional) Specify the fields to be return with each document." }, { "key": "SortOrder", "value": "DOCUMENT_TYPE+Asc", "description": "(Optionaal) Specify the order to sort the results. You can specify one or more fields and if you want it ascending ('Asc') or descending ('Desc'). The field names and direction modifier are separated by '+' sign (%20)." }, { "key": "DialogId", "value": "{{SearchDialogId}}", "description": "Specify the Id of the search dialog. Note that an Id of '00000000-0000-0000-0000-000000000000' uses a special search dialog called 'custom'. All users have access to this dialog through the API and it exposes every field in the file cabinet." } ] }, "description": "This API endpoint allows you to query a specific file cabinet in the system and retrieve information about the documents stored within it. The request is an HTTP POST request sent to the server URL, with the specific platform and file cabinet ID provided in the URL path. The query is performed using a dialog expression, which can be customized to filter and sort the results.\n\n### Request Parameters\n\nTo execute the query, you need to provide the following parameters in the request URL:\n\n- Count: Specifies the maximum number of results to return. In the last execution, the value was set to 2.\n- Fields: Specifies the fields to include in the response. Only the DOCUMENT_TYPE field was included.\n \n- SortOrder: Specifies the sorting order for the results. The results are sorted by DOCUMENT_TYPE in ascending order.\n \n\nAdditionally, you need to provide the DialogId parameter in the URL, which is used to identify the specific dialog to use for the query. This value should be replaced with the actual search dialog ID.\n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Condition\":[ {\"DBName\":\"COMPANY_NAME\", \"Value\":[\"US-Steel\"]},\n {\"DBName\":\"DOCUMENT_DATE\", \"Value\":[\"2010-03-01\", \"2010-03-30\"]}\n ],\n \"Operation\":\"Or\"\n}\n\n ```\n\nThis object specifies the search criteria to be used when executing the search dialog. Here are the details for each field in the object:\n\n- \"Condition\" is an array of objects that specifies the search criteria to be used for the search dialog. Each object in the array represents a separate search condition, and contains the following fields:\n- \"DBName\" is a string that represents the name of the database field being searched.\n- \"Value\" is an array of strings that represents the search value(s) to be used for the specified database field. Note that multiple search values provided for a single database field are interpreted as an OR operation.\n- \"Operation\" is a string that specifies the boolean operation to be used when evaluating the search conditions in the \"Condition\" array. In this case, the value \"Or\" indicates that the search dialog should return results that match any of the specified search conditions. \n Note that the specific fields used in the \"Condition\" array will depend on the fields available in the database being searched, as well as the specific search dialog being used.\n \n\n### Response\n\n```\nThe response from the server will have a status code of 200 if the request was successful. The response body will contain the following information:\n\n ```\n\n- `Count`: Provides information about the total number of results. It indicats that there are more results available (`HasMore` is true) and that the result count exceeds the specified limit (`ExceedLimit` is true).\n \n- `Items`: An array of objects representing the documents matching the query criteria. Each object contains information about the document, such as the file cabinet ID, fields, flags indicating various properties of the document, links to related resources, sections, content type, page count, and version status.\n- `Links`: An array of objects representing links to related resources.\n- `TimeStamp`: Indicates the timestamp of the response.\n \n\nPlease note that the specific values in the response have been omitted to protect sensitive information. Make sure to replace the placeholder values in the request URL with the appropriate values for your system.\n\nExample request:\n\n```\nPOST {{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/DialogExpression?Count=2&Fields=DOCUMENT_TYPE&SortOrder=DOCUMENT_TYPE+Asc&DialogId={{SearchDialogId}}\n\n ```\n\nExample response:\n\n```\nStatus: 200\n{\n \"Count\": {\n \"HasMore\": true,\n \"ExceedLimit\": true,\n \"Value\": 0\n },\n \"Items\": [\n {\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n }\n ],\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"TimeStamp\": \"\"\n}\n\n ```" }, "response": [] }, { "name": "Search for Documents in Multiple File Cabinets", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"SearchDialogId\") === false || pm.environment.get(\"SearchDialogId\") === \"\") { \r", " throw new Error(\"SearchDialogId is empty or does not exist. Please ensure it exists and run the 'Get All Dialogs' request.\");\r", "}\r", "\r", "var moment = require(\"moment\");\r", "pm.environment.set('CurrentDate', moment().format(\"YYYY-MM-DD\"));" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"Condition\": [\r\n {\r\n \"DBName\": \"{{DocumentTypeField}}\",\r\n \"Value\": [\r\n \"{{DocumentTypeValue}}\"\r\n ]\r\n },\r\n {\r\n \"DBName\": \"DWSTOREDATETIME\",\r\n \"Value\": [\r\n \"2010-01-01\",\r\n \"{{CurrentDate}}\"\r\n ]\r\n }\r\n ],\r\n \"AdditionalCabinets\": [\r\n \"0242b887-0261-473d-aa59-96eb5cd5f709\",\r\n ],\r\n \"SortOrder\": [\r\n {\r\n \"Field\": \"{{DocumentTypeField}}\",\r\n \"Direction\": \"Desc\"\r\n }\r\n ],\r\n \"ForceRefresh\": true,\r\n \"Operation\": \"And\",\r\n \"AdditionalResultFields\": [],\r\n \"Start\": 0,\r\n \"Count\": 100,\r\n \"IncludeSuggestions\": false\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/DialogExpression?DialogId={{SearchDialogId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Query", "DialogExpression" ], "query": [ { "key": "DialogId", "value": "{{SearchDialogId}}", "description": "Specify the Id of the search dialog. Note that the special \"custom\" dialog (Id: '00000000-0000-0000-0000-000000000000') cannot be used for searching multiple file cabinets." } ] }, "description": "This API endpoint allows you to query a specific file cabinet's dialog expression by providing the file cabinet ID and search dialog ID. The request is an HTTP POST request to the URL `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/DialogExpression?DialogId={{SearchDialogId}}`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- SearchDialogId: The ID of the search dialog this query will use\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Condition\": [\n {\n \"DBName\": \"COMPANY_NAME\",\n \"Value\": [\n \"US-Steel\"\n ]\n },\n {\n \"DBName\": \"DOCUMENT_DATE\",\n \"Value\": [\n \"2010-03-01\",\n \"{{CurrentDate}}\"\n ]\n }\n ],\n \"AdditionalCabinets\": [\n \"0242b887-0261-473d-aa59-96eb5cd5f709\",\n ],\n \"SortOrder\": [\n {\n \"Field\": \"DOCUMENT_TYPE\",\n \"Direction\": \"Desc\"\n }\n ],\n \"ForceRefresh\": true,\n \"Operation\": \"And\",\n \"AdditionalResultFields\": [],\n \"Start\": 0,\n \"Count\": 100,\n \"IncludeSuggestions\": false\n}\n\n ```\n\nThis object specifies the search criteria to be used when querying for a document in DocuWare. Here are the details for each field in the object:\n\n- \"Condition\" is an array of objects that specifies the search criteria to be used for the query. Each object in the array represents a separate search condition, and contains the following fields:\n- \"DBName\" is a string that represents the name of the database field being searched.\n- \"Value\" is an array of strings that represents the search value(s) to be used for the specified database field. Note that multiple search values provided for a single database field are interpreted as an OR operation.\n- \"AdditionalCabinets\" is an array of strings that represents the ID(s) of any additional FileCabinets to search, in addition to the primary FileCabinet specified in the query endpoint URL.\n- \"SortOrder\" is an array of objects that specifies the sorting criteria to be used for the query. Each object in the array represents a separate field to sort by, and contains those fields.\n- \"Field\" is a string that represents the name of the database field to sort by.\n- \"Direction\" is a string that specifies the direction of the sort, either \"Asc\" for ascending or \"Desc\" for descending.\n- \"ForceRefresh\" is a boolean flag that indicates whether to force a refresh of the cached search results.\n- \"Operation\" is a string that specifies the boolean operation to be used when evaluating the search conditions in the \"Condition\" array. In this case, the value \"And\" indicates that the query should return results that match all of the specified search conditions.\n- \"AdditionalResultFields\" is an array of strings that specifies any additional database fields to include in the query results.\n- \"Start\" is an integer that represents the index of the first document to include in the query results.\n- \"Count\" is an integer that represents the maximum number of documents to include in the query results.\n- \"IncludeSuggestions\" is a boolean flag that indicates whether to include query suggestions in the response. \n Note that the specific fields used in the \"Condition\" array will depend on the fields available in the database being searched.\n \n\n### Response\n\nThe response returned by the execution of this endpoint has a status code of 200. The response body contains the following information:\n\n- `Count`: An object that indicates if there are more results available and if the query exceeded the limit. The `Value` property represents the number of items returned.\n- `Items`: An array of objects representing the queried dialog expressions. Each item contains the following properties:\n - `FileCabinetId`: The ID of the file cabinet.\n - `Fields`: An array of objects representing the fields of the dialog expression. Each field object contains the following properties:\n - `SystemField`: Indicates if the field is a system field.\n - `FieldName`: The name of the field.\n - `FieldLabel`: The label of the field.\n - `IsNull`: Indicates if the field is null.\n - `ReadOnly`: Indicates if the field is read-only.\n - `Item`: The item value of the field.\n - `ItemElementName`: The element name of the item value.\n - `Flags`: An object that represents various flags associated with the dialog expression. The available flags are:\n - `IsCold`: Indicates if the dialog expression is cold.\n - `IsDBRecord`: Indicates if the dialog expression is a database record.\n - `IsCheckedOut`: Indicates if the dialog expression is checked out.\n - `IsCopyRightProtected`: Indicates if the dialog expression is copyright protected.\n - `IsVoiceAvailable`: Indicates if voice is available for the dialog expression.\n - `HasAppendedDocuments`: Indicates if the dialog expression has appended documents.\n - `IsProtected`: Indicates if the dialog expression is protected.\n - `IsDeleted`: Indicates if the dialog expression is deleted.\n - `IsEmail`: Indicates if the dialog expression is an email.\n - `Links`: An array of objects representing the links associated with the dialog expression. Each link object contains the following properties:\n - `rel`: The relationship of the link.\n - `href`: The URL of the link.\n - `Sections`: An array representing the sections of the dialog expression.\n - `ContentType`: The content type of the dialog expression.\n - `HaveMoreTotalPages`: Indicates if there are more total pages available.\n - `HasTextAnnotation`: Indicates if the dialog expression has text annotations.\n - `HasXmlDigitalSignatures`: Indicates if the dialog expression has XML digital signatures.\n - `AnnotationsPreview`: Indicates if the dialog expression has annotations preview.\n - `TotalPages`: The total number of pages.\n - `Id`: The ID of the dialog expression.\n - `Title`: The title of the dialog expression.\n - `LastModified`: The last modified date of the dialog expression.\n - `LastModifiedSpecified`: Indicates if the last modified date is specified.\n - `CreatedAt`: The creation date of the dialog expression.\n - `CreatedAtSpecified`: Indicates if the creation date is specified.\n - `FileSize`: The file size of the dialog expression.\n - `SectionCount`: The number of sections in the dialog expression.\n - `IntellixTrust`: The Intellix trust of the dialog expression.\n - `VersionStatus`: The version status of the dialog expression.\n\nPlease note that specific values are not included in this description for security and privacy reasons. Make sure to replace the placeholders in the request URL with the actual values when making the API call." }, "response": [] } ], "description": "This folder provides examples of requests related to search for documents.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Check In/Check Out", "item": [ { "name": "Check-out & Download a Document", "event": [ { "listen": "test", "script": { "exec": [ "var contentDisposition = pm.response.headers.get(\"Content-Disposition\");\r", "pm.environment.set(\"CheckoutName\", contentDisposition.split(\"attachment; filename=\").pop());" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/CheckoutToFileSystem", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "CheckoutToFileSystem" ] }, "description": "This API endpoint is used to checkout a document from a file cabinet and save it to the file system. The document is identified by the `FileCabinetId` and `DocumentId` parameters in the URL.\n\nTo checkout a document, send an HTTP POST request to `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}Documents/{{DocumentId}}/CheckoutToFileSystem`.\n\nThe response to this request will have a status code of 200, indicating a successful checkout. The response body will contain a JSON object with a `Links` property. The `Links` property is an array of objects, where each object represents a link related to the checked out document. Each link object has two properties: `rel` and `href`. The `rel` property represents the relationship of the link, and the `href` property contains the URL of the link.\n\nHere is an example response for this request:\n\n``` json\n{\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ]\n}\n\n ```\n\nPlease note that the actual values for `rel` and `href` may vary depending on the specific document and file cabinet being checked out.\n\nNotes:\n\n- Version management must be enabled for the specified file cabinet.\n- The generated file name for the checked out document will be contained in the \"Content-Disposition\" header. You must use this filename if storing the document to the file system." }, "response": [] }, { "name": "Check-in a Document from the File System", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "formdata", "formdata": [ { "key": "CheckIn", "description": "This is a JSON formatted file that provides the updated version and comment information for the document. See the documentation for an example of this file.", "type": "file", "src": "CheckIn.json" }, { "key": "File[]", "description": "This the file you are checking in from the file system. The name of this file must be specific in that it should be the same one it was downloaded as. If it is renamed, the check-in process will not work properly.", "type": "file", "src": "323+2528c1a3-dd44-4148-a55c-28c9776505cc+DWAX_postman_collection.json" } ] }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/CheckInFromFileSystem", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "CheckInFromFileSystem" ] }, "description": "This HTTP POST request is used to check in a document from the file system to a specific file cabinet in the platform. The endpoint URL is `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/CheckInFromFileSystem`.\n\nThe response received from the execution of this request has a status code of 200, indicating a successful operation. The response body contains information about the checked-in document, including its file cabinet ID, fields, flags, version, links, sections, content type, page count, file size, title, last modified date, creation date, and other details.\n\nHere is an example of the response body:\n\n``` json\n{\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Version\": {\n \"Major\": 0,\n \"Minor\": 0\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [\n {\n \"SignatureStatus\": [\"\"],\n \"Pages\": {\n \"Page\": []\n },\n \"Thumbnails\": {\n \"Page\": []\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"ContentType\": \"\",\n \"HaveMorePages\": true,\n \"PageCount\": 0,\n \"FileSize\": 0,\n \"OriginalFileName\": \"\",\n \"ContentModified\": \"\",\n \"HasTextAnnotation\": true,\n \"AnnotationsPreview\": true\n }\n ],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n}\n\n ```\n\nPlease note that the response body may contain additional properties specific to your platform or configuration. These properties provide information about the checked-in document, its fields, flags, sections, and other related details.\n\nIt is recommended to refer to the platform's documentation or contact the platform's support team for more information on the specific properties and their meanings in the response.\n\nFile Formats:\n\nCheckIn.json:\n\n``` json\n{\n \"DocumentVersion\": {\n \"Major\": \"10\",\n \"Minor\": \"0\"\n },\n \"Comments\": \"Check-in Test\"\n}\n\n ```" }, "response": [] }, { "name": "Undo Check-out", "request": { "method": "PUT", "header": [ { "key": "User-Agent", "value": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:79.0) Gecko/20100101 Firefox/79.0" }, { "key": "Accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "Accept-Language", "value": "en-US,en;q=0.5" }, { "key": "Content-Type", "value": "application/json" }, { "key": "X-Requested-With", "value": "XMLHttpRequest" }, { "key": "Origin", "value": "http://172.18.39.40" }, { "key": "Connection", "value": "keep-alive" }, { "key": "Referer", "value": "http://172.18.39.40/DocuWare/Platform/WebClient" }, { "key": "Cookie", "value": "openInNewWindow=False; .DWPLATFORMAUTH=6290610778B8BCCE6FB48DFE8BF550A69396B63EA6305E62BAFC95A36097E3E79A2152F4199D4AC94CB4741750C930F31F5FD452E6FBC8F20F9FAB606D9EB4B6CF2DC53E8EEAB1746D79A60642F6B372F539A8FCAE6241D02B69BE5500DD60EEA68001E32ECE62355D4B4ADF90DCEDEC6146651D0E06B11A0DAE8BDCB5E88E8BA9A68E77201E62939930F1199FA912DFADD073CCE5792EDAD0A3DA70E8F8900E509712BFE3ADE4B3950D66C1CB2942022DBC76C0E0908E279D943E4E4E41AAB384E8E2442921B76F133D1A17CFF357B08887DFAEC8CD28D8AECEAB56EAF0E4DF23F2D2A867BD67916464B24E4DE8648D9E9514F1B4C4E6EB36F2D1448DF74E511700E575C0044AF389F38731E1D84AEED4B13C7EFC4480D5D1E6947E4862358E63E4F6C0FA96D43B17C6C237215D582C05DF8674B54683093E161DA87C5CCB7F3049DD7E90DA8398A84A7B8255AE2BFC43870A23BDEA2918CE159C5AF5BEF0BE53162AE4ED87E3371771F39A096BB70EDAF5FD0FCFD55D4FE675B36E1F9D619E; DWPLATFORMBROWSERID=2F12764054CCB3A6CA28A6746378714C1997FE999B3DD8308DB8991B1D329F3DC5E3CADA73107031C8A13F1815D5B9DBB265009743D066BF62F9A2D510613F49C06D5C0099675F6049C8E444F4EC00379FB72A8578665849D74FEBB80C72F5B2BDA5E9BFAA95B62B3BE10065EC7F3903D24D631218202941E59BD03EF67EFAA97AFE2698E5AA3E37E1F35F96912595BC7369657B4447DC3352C57237989F2061D087E621A2D627E8A5895E7ACF19B7A4EF35170441F50B0370809DDE5F4EE305B6A95B2263FCF9BE8CE63DD06F1FB8BD; DWLanguage=en; DWFormatCulture=en; DWFormatCalendar=; clienttimezone=Europe%2FBerlin" } ], "body": { "mode": "raw", "raw": "{\r\n \"DocumentAction\": \"UndoCheckOut\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Operations/ProcessDocumentAction?DocId={{DocumentId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Operations", "ProcessDocumentAction" ], "query": [ { "key": "DocId", "value": "{{DocumentId}}" } ] }, "description": "This API endpoint is used to process a document action for a specific file cabinet in the system. The document action is performed on a document identified by its unique ID.\n\nTo process a document action, make an HTTP PUT request to the following endpoint:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Operations/ProcessDocumentAction?docId={{DocumentId}}\n\n ```\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- DocumentId: The ID of the document from which the file should be downloaded.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"DocumentAction\": \"UndoCheckOut\"\n}\n\n ```\n\nThis object specifies the action to be taken when undoing a checkout for a document in DocuWare. Here are the details for each field in the object:\n\n- \"DocumentAction\" is a string that specifies the type of action to be taken for the document. In this case, the value \"UndoCheckOut\" indicates that the checkout for the specified document should be undone, and the document should be returned to its original state.\n \n\n### Response\n\nThe response returned by the API will have a status code of 200, indicating a successful execution. The response body will contain information about the file cabinet and its fields, as well as various flags and metadata associated with the document. The response will also include links to related resources, such as signatures, pages, and thumbnails.\n\nHere is an example response body:\n\n``` json\n{\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Version\": {\n \"Major\": 0,\n \"Minor\": 0\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [\n {\n \"SignatureStatus\": [\"\"],\n \"Pages\": {\n \"Page\": []\n },\n \"Thumbnails\": {\n \"Page\": []\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"ContentType\": \"\",\n \"HaveMorePages\": true,\n \"PageCount\": 0,\n \"FileSize\": 0,\n \"OriginalFileName\": \"\",\n \"ContentModified\": \"\",\n \"HasTextAnnotation\": true,\n \"AnnotationsPreview\": true\n }\n ],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n}\n\n ```\n\nPlease note that the response example provided above is just a representation of the possible structure of the response body. The actual values may vary depending on the specific document action and file cabinet.\n\nFeel free to refer to the response structure to understand the information returned by the API and utilize it in your application accordingly." }, "response": [] } ], "description": "This folder provides examples of requests related to checking documents in and out.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "", "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { ", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documetns from a File Cabinet' request.\");", "}" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Select Lists", "item": [ { "name": "Get Select Lists", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "name": "Content-Type", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"ValuePrefix\": \"\",\r\n \"Limit\": 100,\r\n \"Typed\": false,\r\n \"ExcludeExternal\": true\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/SelectListExpression?DialogId={{SearchDialogId}}&FieldName=DOCUMENT_TYPE", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Query", "SelectListExpression" ], "query": [ { "key": "DialogId", "value": "{{SearchDialogId}}", "description": "This is the Id of the dialog containing the field that you want the select list for." }, { "key": "FieldName", "value": "DOCUMENT_TYPE", "description": "This is the field in the specified dialog that you want to get the select list for." } ] }, "description": "This HTTP POST request is used to query and select a list expression from a specific file cabinet on the given platform. The request includes the DialogId and FieldName parameters in the URL, and the payload in the raw request body type. The ValuePrefix, Limit, Typed, and ExcludeExternal are the properties included in the payload.\n\n### Request Body\n\n- ValuePrefix (string): Prefix value for the query\n- Limit (number): Limit for the query\n- Typed (boolean): Indicates if the query is typed\n- ExcludeExternal (boolean): Indicates whether to exclude external values\n \n\n#### Example\n\n``` json\n{\n \"ValuePrefix\":\"\",\n \"Limit\":0,\n \"Typed\":true,\n \"ExcludeExternal\":true\n}\n\n ```\n\n### Response\n\nThe response to the request has a status code of 200, and the body includes an array of values under the key \"Value\".\n\n#### Example\n\n``` json\n{\n \"Value\":[\"\"]\n}\n\n ```" }, "response": [] }, { "name": "Get Filtered Select Lists", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/json", "name": "Content-Type", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"ValuePrefix\": \"\",\r\n \"Limit\": 100,\r\n \"Typed\": true,\r\n \"ExcludeExternal\": true,\r\n \"DialogExpression\": {\r\n \"Operation\": \"And\",\r\n \"Condition\": [\r\n {\r\n \"DBName\": \"DOCUMENT_TYPE\",\r\n \"Value\": [\r\n \"\\\"DocuWare\\\"\"\r\n ]\r\n }\r\n ]\r\n }\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/SelectListExpression?DialogId={{SearchDialogId}}&FieldName=DOCUMENT_TYPE", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Query", "SelectListExpression" ], "query": [ { "key": "DialogId", "value": "{{SearchDialogId}}", "description": "This is the Id of the dialog containing the field that you want the select list for." }, { "key": "FieldName", "value": "DOCUMENT_TYPE", "description": "This is the field in the specified dialog that you want to get the select list for." } ] }, "description": "This HTTP POST request is used to query a list of selected expressions from a specific file cabinet in the platform. The request is sent to the endpoint `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Query/SelectListExpression` with additional query parameters `DialogId` and `FieldName`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- SearchDialogId: The ID of the document from which the file should be downloaded.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"ValuePrefix\": \"\",\n \"Limit\": 100,\n \"Typed\": true,\n \"ExcludeExternal\": true,\n \"DialogExpression\": {\n \"Operation\": \"And\",\n \"Condition\": [\n {\n \"DBName\": \"DOCUMENT_TYPE\",\n \"Value\": [\n \"\\\"DocuWare\\\"\"\n ]\n }\n ]\n }\n}\n\n ```\n\nThis object specifies the search criteria to be used when querying for a document in DocuWare. Here are the details for each field in the object: \nThis object specifies the parameters to be used when retrieving filtered select lists from DocuWare. Here are the details for each field in the object:\n\n- \"ValuePrefix\" is a string that allows you to specify a prefix that the select list items must start with. For example, if \"ValuePrefix\" is set to \"A\", only select list items that start with the letter \"A\" will be returned.\n- \"Limit\" is an integer that specifies the maximum number of select list items to return.\n- \"Typed\" is a boolean flag that indicates whether to return select list values as pre-typed strings.\n- \"ExcludeExternal\" is a boolean flag that indicates whether to exclude external select lists from the result set.\n- \"DialogExpression\" is an object that specifies the data source and search criteria to be used for the select list. Here are the details for each field in the object:\n- \"Operation\" is a string that specifies the boolean operation to be used when evaluating the search conditions in the \"Condition\" array. In this case, the value \"And\" indicates that the query should return results that match all of the specified search conditions.\n- \"Condition\" is an array of objects that specifies the search conditions to be used for the select list. Each object in the array represents a separate search condition, and contains the following fields:\n- \"DBName\" is a string that represents the name of the database field being searched.\n- \"Value\" is an array of strings that represents the search value(s) to be used for the specified database field. \n Note that the specific fields used in the \"Condition\" array will depend on the fields available in the database being searched.\n \n\n### Response\n\nThe execution of this request returns a response with a status code of 200. The response body is as follows:\n\n``` json\n{\n \"TypedValue\": []\n}\n\n ```\n\nThe `TypedValue` property in the response body is an array that represents the list of selected expressions returned by the query. In this case, the array is empty, indicating that no expressions were found matching the search criteria.\n\nPlease note that the actual values for `{{ServerUrl}}`, `{{Platform}}`, `{{FileCabinetId}}`, and `{{SearchDialogId}}` should be provided when making the request." }, "response": [] } ], "description": "This folder provides examples of requests related to retrieving select lists.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "", "if (pm.environment.has(\"SearchDialogId\") === false || pm.environment.get(\"SearchDialogId\") === \"\") { ", " throw new Error(\"SearchDialogId is empty or does not exist. Please ensure it exists and run the 'Get All Dialogs' request.\");", "}", "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Upload", "item": [ { "name": "Create Data Record", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "pm.environment.set(\"DataRecordId\", response.Id);" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" }, { "key": "X-File-ModifiedDate", "value": "2020-08-26T00:00:00.000Z", "description": "File creation time", "type": "text", "disabled": true } ], "body": { "mode": "raw", "raw": "{\r\n \"Fields\": [\r\n {\r\n \"FieldName\": \"{{DocumentTypeField}}\",\r\n \"Item\": \"{{DocumentTypeValue}}\"\r\n }\r\n ]\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents" ] }, "description": "This API endpoint allows you to add a data record to a specific file cabinet. You need to make an HTTP POST request to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents`.\n\nThe request should include the necessary parameters to identify the file cabinet and the data record to be added. The response will provide information about the added data record, including its ID, fields, flags, version, links, sections, content type, annotations, total pages, title, and other metadata.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Fields\": [\n {\n \"FieldName\": \"DOCUMENT_TYPE\",\n \"Item\": \"Test\"\n }\n ]\n}\n\n ```\n\nThis object specifies the data to be used when creating a new data record in DocuWare. Here are the details for each field in the object:\n\n- \"Fields\" is an array of objects that represents the data fields to be included in the new data record. Each object in the array contains the following fields:\n - \"FieldName\" is a string that represents the name of the data field to be included in the new data record.\n - \"Item\" is a string that represents the value to be assigned to the data field in the new data record.\n\nNote that the specific data fields used will depend on the fields available in the database being used.\n\n### Response\n\nHere is an example of the response received from the execution of this request:\n\n```\nStatus: 200\n{\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Version\": {\n \"Major\": 0,\n \"Minor\": 0\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n}\n\n ```\n\nPlease note that the response may contain additional properties specific to your application.\n\nMake sure to provide the necessary information in the request to successfully add a data record to the specified file cabinet." }, "response": [] }, { "name": "Append File(s) to a Data Record", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"DataRecordId\") === false || pm.environment.get(\"DataRecordId\") === \"\") { \r", " throw new Error(\"DataRecordId is empty or does not exist. Please ensure it exists and run the 'Create Data Record' request.\");\r", "}" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "multipart/form-data", "type": "text" }, { "key": "X-File-ModifiedDate", "value": "2020-08-26T00:00:00.000Z", "description": "File creation time", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "formdata", "formdata": [ { "key": "File[]", "description": "The files to upload to DocuWare.", "type": "file", "src": "TestDocument.pdf" } ] }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DataRecordId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DataRecordId}}" ] }, "description": "This API endpoint allows you to add a document to a specific file cabinet and data record. It is an HTTP POST request that should be made to `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DataRecordId}}`.\n\n### Request Parameters\n\n- `ServerUrl` (required): The URL of the server where the API is hosted.\n- `Platform` (required): The platform on which the file cabinet is hosted.\n- `FileCabinetId` (required): The unique identifier of the file cabinet where the document will be added.\n- `DataRecordId` (required): The unique identifier of the data record to which the document will be associated.\n \n\n### Response\n\nThe response to this request will be a JSON object with the following properties:\n\n- `SignatureStatus` (array): An array that indicates the signature status of the document.\n- `Pages` (object): An object that contains information about the pages of the document.\n - `Page` (array): An array of page objects, each representing a page in the document.\n - `Links` (array): An array of link objects, each representing a link related to the pages.\n - `rel` (string): The relationship of the link.\n - `href` (string): The URL of the link.\n- `Thumbnails` (object): An object that contains information about the thumbnails of the document.\n - `Page` (array): An array of thumbnail objects, each representing a thumbnail of a page in the document.\n - `Links` (array): An array of link objects, each representing a link related to the thumbnails.\n - `rel` (string): The relationship of the link.\n - `href` (string): The URL of the link.\n- `Links` (array): An array of link objects, each representing a link related to the document.\n - `rel` (string): The relationship of the link.\n - `href` (string): The URL of the link.\n- `Id` (string): The unique identifier of the document.\n- `ContentType` (string): The content type of the document.\n- `HaveMorePages` (boolean): Indicates whether there are more pages in the document.\n- `PageCount` (number): The total number of pages in the document.\n- `FileSize` (number): The size of the document file in bytes.\n- `OriginalFileName` (string): The original file name of the document.\n- `ContentModified` (string): The date and time when the content of the document was last modified.\n- `HasTextAnnotation` (boolean): Indicates whether the document has text annotations.\n \n\nPlease note that specific values like names, emails, and URLs are not included in the response description for security reasons. The actual response may contain additional properties not mentioned here." }, "response": [] }, { "name": "Upload a Single File for a Data Record", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/pdf", "type": "text" }, { "key": "Content-Disposition", "value": "file; filename=\"{{Filename}}\"", "type": "text" }, { "key": "X-File-ModifiedDate", "value": "2020-08-26T00:00:00.000Z", "description": "File creation time", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "file", "file": { "src": "" } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections?DocId={{DataRecordId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Sections" ], "query": [ { "key": "DocId", "value": "{{DataRecordId}}", "description": "This is the Id of the document (this can be a data record or a document that already has sections) that you want to add a section to.\n" } ] }, "description": "This HTTP POST request is used to add a new section to a specific data record in a file cabinet on the platform. The request should be made to the endpoint `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections?DocId={{DataRecordId}}`. The request does not include a request body, and the response will include information about the status of the operation, the pages, thumbnails, file details, and annotations related to the added section." }, "response": [] }, { "name": "Create a Data Record & Upload File", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "multipart/form-data", "type": "text" }, { "key": "X-File-ModifiedDate", "value": "2020-08-26T00:00:00.000Z", "description": "File creation time", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "formdata", "formdata": [ { "key": "Document", "description": "This file contains the associated index information for the file being uploaded. An example of the format of this file can be found in the documentation.", "type": "file", "src": "Index.json" }, { "key": "File[]", "description": "The file(s) to upload to DocuWare.", "type": "file", "src": "DocuWare.postman_collection.json" } ] }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents" ] }, "description": "This API endpoint allows you to add documents to a specific file cabinet. It is an HTTP POST request that should be made to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents`.\n\nThe request should include the necessary parameters to identify the file cabinet and the document to be added. The response will provide information about the added document, including its ID, title, file size, and other metadata.\n\nHere is an example of a successful response (Status: 200):\n\n``` json\n{\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Version\": {\n \"Major\": 0,\n \"Minor\": 0\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [\n {\n \"SignatureStatus\": [\"\"],\n \"Pages\": {\n \"Page\": []\n },\n \"Thumbnails\": {\n \"Page\": []\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"ContentType\": \"\",\n \"HaveMorePages\": true,\n \"PageCount\": 0,\n \"FileSize\": 0,\n \"OriginalFileName\": \"\",\n \"ContentModified\": \"\",\n \"HasTextAnnotation\": true,\n \"AnnotationsPreview\": true\n }\n ],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n}\n\n ```\n\nPlease note that the response may contain additional properties not mentioned in this example. The values of these properties may vary based on the specific document and file cabinet.\n\nIf there are any errors or issues with the request, appropriate status codes and error messages will be returned.\n\nFile Formats\n\nIndex.json\n\n``` json\n{\n \"Fields\": [\n {\n \"FieldName\": \"DOCUMENT_TYPE\",\n \"Item\": \"Test Document Type\",\n \"ItemElementName\": \"String\"\n },\n {\n \"FieldName\": \"COMPANY_NAME\",\n \"Item\": \"Test Company Name\",\n \"ItemElementName\": \"String\"\n }\n ]\n}\n\n ```" }, "response": [] }, { "name": "Create Data Record & Upload File Using Store Dialog", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "multipart/form-data", "type": "text" }, { "key": "X-File-ModifiedDate", "value": "2020-08-26T00:00:00.000Z", "description": "File creation time", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "formdata", "formdata": [ { "key": "Document", "description": "This file contains the associated index information for the file being uploaded. An example of the format of this file can be found in the documentation.", "type": "file", "src": "Index.json" }, { "key": "File[]", "description": "The file(s) to upload to DocuWare.", "type": "file", "src": "DocuWare.postman_collection.json" } ] }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents?StoreDialogId={{StoreDialogId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents" ], "query": [ { "key": "StoreDialogId", "value": "{{StoreDialogId}}", "description": "This is the Id of the store dialog that will be used to index the document." } ] }, "description": "This HTTP POST request is used to add a document to a specific file cabinet in the system. The request should be made to the endpoint `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents?StoreDialogId={{StoreDialogId}}`.\n\nThe response of the execution has a status code of 200, indicating a successful request. The response body includes information about the newly added document, such as the file cabinet ID, fields, flags, version, links, sections, content type, and more.\n\nHere is an example of a response body for this request:\n\n```\n{\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Version\": {\n \"Major\": 0,\n \"Minor\": 0\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [\n {\n \"SignatureStatus\": [\"\"],\n \"Pages\": {\n \"Page\": []\n },\n \"Thumbnails\": {\n \"Page\": []\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"ContentType\": \"\",\n \"HaveMorePages\": true,\n \"PageCount\": 0,\n \"FileSize\": 0,\n \"OriginalFileName\": \"\",\n \"ContentModified\": \"\",\n \"HasTextAnnotation\": true,\n \"AnnotationsPreview\": true\n }\n ],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n}\n\n ```\n\nPlease note that the response example provided above may not contain actual values for certain properties, such as file names, timestamps, or IDs. These values may vary based on the specific document being added.\n\nFile Formats\n\nIndex.json\n\n``` json\n{\n \"Fields\": [\n {\n \"FieldName\": \"DOCUMENT_TYPE\",\n \"Item\": \"Test Document Type\"\n },\n {\n \"FieldName\": \"COMPANY_NAME\",\n \"Item\": \"Test Company Name\"\n }\n ]\n}\n\n ```" }, "response": [] }, { "name": "Append a Single PDF to a Document", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/pdf", "type": "text" }, { "key": "Content-Disposition", "value": "file; filename={{Filename}}", "type": "text" }, { "key": "X-File-ModifiedDate", "value": "2020-08-26T00:00:00.000Z", "description": "File creation time", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "file", "file": { "src": "/C:/Users/florian.mittermeier/Desktop/cat.pdf" } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections?DocId={{DocumentId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Sections" ], "query": [ { "key": "DocId", "value": "{{DocumentId}}" } ] }, "description": "This HTTP POST request is used to add a new section to a specific document in a file cabinet within a platform, identified by the provided FileCabinetId. The request includes the DocumentId as a query parameter. The payload contains the file to be added as a section.\n\nThe response to the request returns a status code of 200, indicating a successful operation. The response body includes information about the signature status, pages, thumbnails, links, ID, content type, page count, file size, original file name, content modification status, and text annotation details.\n\nThe \"SignatureStatus\" array indicates the signature status, while the \"Pages\" and \"Thumbnails\" objects provide details about the pages and thumbnails of the added section. The \"Links\" array contains related links, and additional information such as ID, content type, file size, original file name, content modification, and text annotation details are also included in the response." }, "response": [] }, { "name": "Replace a PDF Document Section", "request": { "method": "POST", "header": [ { "key": "Content-Type", "value": "application/pdf", "type": "text" }, { "key": "Content-Disposition", "value": "file; filename={{Filename}}", "type": "text" }, { "key": "X-File-ModifiedDate", "value": "2020-08-26T00:00:00.000Z", "description": "File creation time", "type": "text" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "file", "file": { "src": "/C:/Users/Steiner/OneDrive - Docuware GmbH/Documents/Teams Submission Process.pdf" } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections/{{SectionId}}/Data?fileName={{Filename}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Sections", "{{SectionId}}", "Data" ], "query": [ { "key": "fileName", "value": "{{Filename}}" } ] }, "description": "### Replace Document Section\n\nThis endpoint allows you to replace a specific section with a new file in the specified document.\n\n#### Request Parameters\n\n- `FileCabinetId` (path): The unique identifier of the file cabinet.\n- `SectionId` (path): The identifier of the section where the file will be added.\n- `fileName` (query): The name of the file being added.\n \n\n#### Request Body\n\nThe file to be added to the section.\n\n#### Response\n\nUpon a successful execution, the response will include the status code `200` and the content type `application/json`. The response body will contain information about the signature status, pages, thumbnails, links, file details, and annotations related to the added file." }, "response": [] } ], "description": "This folder provides examples of requests related to uploading documents.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Batch Index Fields Update", "item": [ { "name": "Batch Update Index Fields By Id", "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true, "accept-encoding": true, "content-type": true } }, "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Accept-Encoding", "value": "gzip" }, { "key": "Content-Type", "value": "application/vnd.docuware.platform.batchupdateprocess+json" } ], "body": { "mode": "raw", "raw": "{\r\n \"Source\": {\r\n \"$type\": \"BatchUpdateDocumentsSource\",\r\n \"Id\": [\r\n 309,\r\n 310\r\n ]\r\n },\r\n \"Data\": {\r\n \"Field\": [\r\n {\r\n \"FieldName\": \"DOCUMENT_TYPE\",\r\n \"Item\": \"Batch Update Test\"\r\n }\r\n ],\r\n \"StoreDialogId\": \"\",\r\n \"BatchSize\": \"100\",\r\n \"BreakOnError\": false,\r\n \"ForceUpdate\": true\r\n }\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Operations/BatchDocumentsUpdateFields", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Operations", "BatchDocumentsUpdateFields" ] }, "description": "This API endpoint is used to perform batch updates on the fields of multiple documents within a file cabinet. The HTTP POST request should be made to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Operations/BatchDocumentsUpdateFields`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Source\": {\n \"$type\": \"BatchUpdateDocumentsSource\",\n \"Id\": [\n 309,\n 310\n ]\n },\n \"Data\": {\n \"Field\": [\n {\n \"FieldName\": \"DOCUMENT_TYPE\",\n \"Item\": \"Batch Update Test\"\n }\n ],\n \"StoreDialogId\": \"\",\n \"BatchSize\": \"100\",\n \"BreakOnError\": false,\n \"ForceUpdate\": true\n }\n}\n\n ```\n\nThis object specifies the parameters to be used when performing a batch update on multiple documents in DocuWare. Here are the details for each field in the object:\n\n- \"Source\" is an object that specifies the source documents to be updated. Here are the details for each field in the object:\n \n - \"$type\" is a string that specifies the type of source documents being updated.\n \n - \"Id\" is an array of integers that represents the document IDs of the documents to be updated.\n \n- \"Data\" is an object that specifies the updated data to be applied to each of the source documents. Here are the details for each field in the object:\n \n - \"Field\" is an array of objects that represents the updated field data to be applied to each of the source documents. Each object in the array contains the following fields:\n \n - \"FieldName\" is a string that represents the name of the field to be updated.\n \n - \"Item\" is a string that represents the new value to be assigned to the field.\n \n - \"StoreDialogId\" is a string that represents the ID of the store dialog to be used when updating the documents.\n \n - \"BatchSize\" is a string that represents the maximum number of documents to be updated in a single batch.\n \n - \"BreakOnError\" is a boolean flag that indicates whether to stop the batch update process if an error is encountered.\n \n - \"ForceUpdate\" is a boolean flag that indicates whether to force the update of all documents, even if no changes were made to their field data.\n \n\n### Response\n\nThe response received from the execution of this request has a status code of 200, indicating a successful operation. The response body contains the following information:\n\n``` json\n{\n \"Item\": [\n {\n \"Document\": {\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Version\": {\n \"Major\": 0,\n \"Minor\": 0\n },\n \"Sections\": [],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n }\n }\n ],\n \"SuccessCount\": 0\n}\n\n ```" }, "response": [] }, { "name": "Batch Update Index Fields By Search", "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true, "accept-encoding": true, "content-type": true } }, "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Accept-Encoding", "value": "gzip" }, { "key": "Content-Type", "value": "application/vnd.docuware.platform.batchupdateprocess+json" } ], "body": { "mode": "raw", "raw": "{\r\n \"Source\": {\r\n \"$type\": \"BatchUpdateDialogExpressionSource\",\r\n \"Expression\": {\r\n \"Operation\": \"And\",\r\n \"Condition\": [\r\n {\r\n \"DBName\": \"DOCUMENT_TYPE\",\r\n \"Value\": [\r\n \"Test\"\r\n ]\r\n }\r\n ]\r\n }\r\n },\r\n \"Data\": {\r\n \"Field\": [\r\n {\r\n \"FieldName\": \"DOCUMENT_TYPE\",\r\n \"Item\": \"Batch Update Test\"\r\n }\r\n ],\r\n \"StoreDialogId\": \"\",\r\n \"BatchSize\": \"100\",\r\n \"BreakOnError\": false,\r\n \"ForceUpdate\": true\r\n }\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Operations/BatchDocumentsUpdateFields", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Operations", "BatchDocumentsUpdateFields" ] }, "description": "This API endpoint allows you to perform batch updates on the fields of multiple documents within a file cabinet. The documents to be updated are specified by the `FileCabinetId` parameter.\n\nTo make a POST request to this endpoint, use the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Operations/BatchDocumentsUpdateFields`.\n\nThe request should include the necessary parameters and data in the request body to specify the documents to be updated and the fields to be modified.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Source\": {\n \"$type\": \"BatchUpdateDialogExpressionSource\",\n \"Expression\": {\n \"Operation\": \"And\",\n \"Condition\": [\n {\n \"DBName\": \"DOCUMENT_TYPE\",\n \"Value\": [\n \"Test\"\n ]\n }\n ]\n }\n },\n \"Data\": {\n \"Field\": [\n {\n \"FieldName\": \"DOCUMENT_TYPE\",\n \"Item\": \"Batch Update Test\"\n }\n ],\n \"StoreDialogId\": \"\",\n \"BatchSize\": \"100\",\n \"BreakOnError\": false,\n \"ForceUpdate\": true\n }\n}\n\n ```\n\nThis object specifies the parameters to be used when performing a batch update on multiple documents in DocuWare. Here are the details for each field in the object:\n\n- \"Source\" is an object that specifies the source documents to be updated using a Dialog Expression. Here are the details for each field in the object:\n \n - \"$type\" is a string that specifies the type of source documents being updated.\n \n - \"Expression\" is an object that specifies the search criteria to be used when selecting documents to be updated. Here are the details for each field in the object:\n \n - \"Operation\" is a string that specifies the boolean operation to be used when evaluating the search conditions in the \"Condition\" array. In this case, the value \"And\" indicates that the query should return results that match all of the specified search conditions.\n \n - \"Condition\" is an array of objects that specifies the search conditions to be used for the select list. Each object in the array represents a separate search condition, and contains the following fields:\n \n - \"DBName\" is a string that represents the name of the database field being searched.\n \n - \"Value\" is an array of strings that represents the search value(s) to be used for the specified database field.\n \n- \"Data\" is an object that specifies the updated data to be applied to each of the source documents. Here are the details for each field in the object:\n \n - \"Field\" is an array of objects that represents the updated field data to be applied to each of the source documents. Each object in the array contains the following fields:\n \n - \"FieldName\" is a string that represents the name of the field to be updated.\n \n - \"Item\" is a string that represents the new value to be assigned to the field.\n \n - \"StoreDialogId\" is a string that represents the ID of the store dialog to be used when updating the documents.\n \n - \"BatchSize\" is a string that represents the maximum number of documents to be updated in a single batch.\n \n - \"BreakOnError\" is a boolean flag that indicates whether to stop the batch update process if an error is encountered.\n \n - \"ForceUpdate\" is a boolean flag that indicates whether to force the update of all documents, even if no changes were made to their field data.\n \n\n### Response\n\nThe response to a successful execution of this request will have a status code of 200. The response body will contain the following information:\n\n```\n{\n \"Item\": [],\n \"SuccessCount\": 0\n}\n\n ```\n\nThe `Item` field will contain an array of the updated documents, if any. In this case, the array is empty, indicating that no documents were updated. The `SuccessCount` field indicates the number of documents that were successfully updated.\n\nPlease refer to the API documentation for more details on the request parameters and the expected format of the request body." }, "response": [] }, { "name": "Batch Append/Update Keyword Fields By Id", "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true, "content-type": true } }, "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/vnd.docuware.platform.batchappendkeywordvalues+json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"DocId\": [\r\n 309,\r\n 310\r\n ],\r\n \"Keyword\": [\r\n \"Value1\",\r\n \"Value2\"\r\n ],\r\n \"FieldName\": \"ORDER_NUMBER\",\r\n \"BreakOnError\": false,\r\n \"StoreDialogId\": \"\",\r\n \"ForceUpdate\": true\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Operations/BatchDocumentsUpdateFields", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Operations", "BatchDocumentsUpdateFields" ] }, "description": "This HTTP POST request is used to update the fields of multiple documents in a file cabinet. The request should be made to the endpoint `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Operations/BatchDocumentsUpdateFields`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"DocId\": [\n 309,\n 310\n ],\n \"Keyword\": [\n \"Value1\",\n \"Value2\"\n ],\n \"FieldName\": \"ORDER_NUMBER\",\n \"BreakOnError\": false,\n \"StoreDialogId\": \"\",\n \"ForceUpdate\": true\n}\n\n ```\n\nThis object specifies the parameters to be used when performing a batch update on multiple documents in DocuWare. Here are the details for each field in the object:\n\n- \"DocId\" is an array of integers that represents the document IDs of the documents to be updated.\n- \"Keyword\" is an array of strings that represents the keywords of the documents to be updated.\n- \"FieldName\" is a string that represents the name of the field to be updated.\n- \"BreakOnError\" is a boolean flag that indicates whether to stop the batch update process if an error is encountered.\n- \"StoreDialogId\" is a string that represents the ID of the store dialog to be used when updating the documents.\n- \"ForceUpdate\" is a boolean flag that indicates whether to force the update of all documents, even if no changes were made to their field data.\n \n\n### Response\n\nThe response from the execution of this request has a status code of 200, indicating a successful operation. The response body contains an \"Item\" array, which includes information about the updated documents. Each item in the array has a \"Document\" object, which represents a document in the file cabinet. The \"Document\" object contains the following properties:\n\n- \"FileCabinetId\": The ID of the file cabinet to which the document belongs.\n- \"Fields\": An array of field objects representing the updated fields of the document. Each field object has the following properties:\n - \"SystemField\": A boolean indicating whether the field is a system field.\n - \"FieldName\": The name of the field.\n - \"FieldLabel\": The label of the field.\n - \"IsNull\": A boolean indicating whether the field value is null.\n - \"ReadOnly\": A boolean indicating whether the field is read-only.\n - \"Item\": The value of the field.\n - \"ItemElementName\": The element name of the field value.\n\nThe \"Document\" object also has a \"Flags\" object, which contains various flags indicating the properties of the document. The available flags are:\n\n- \"IsCold\": A boolean indicating whether the document is cold.\n- \"IsDBRecord\": A boolean indicating whether the document is a database record.\n- \"IsCheckedOut\": A boolean indicating whether the document is checked out.\n- \"IsCopyRightProtected\": A boolean indicating whether the document is copy-right protected.\n- \"IsVoiceAvailable\": A boolean indicating whether the document has voice available.\n- \"HasAppendedDocuments\": A boolean indicating whether the document has appended documents.\n- \"IsProtected\": A boolean indicating whether the document is protected.\n- \"IsDeleted\": A boolean indicating whether the document is deleted.\n- \"IsEmail\": A boolean indicating whether the document is an email.\n \n\nThe \"Document\" object also has a \"Version\" object, which represents the version of the document. It has the following properties:\n\n- \"Major\": The major version number.\n- \"Minor\": The minor version number.\n \n\nOther properties of the \"Document\" object include:\n\n- \"Sections\": An array of section objects representing the sections of the document.\n- \"ContentType\": The content type of the document.\n- \"HaveMoreTotalPages\": A boolean indicating whether there are more total pages in the document.\n- \"HasTextAnnotation\": A boolean indicating whether the document has text annotations.\n- \"HasXmlDigitalSignatures\": A boolean indicating whether the document has XML digital signatures.\n- \"AnnotationsPreview\": A boolean indicating whether the document has an annotations preview.\n- \"TotalPages\": The total number of pages in the document.\n- \"Id\": The ID of the document.\n- \"LastModified\": The last modified date of the document.\n- \"LastModifiedSpecified\": A boolean indicating whether the last modified date is specified.\n- \"CreatedAt\": The creation date of the document.\n- \"CreatedAtSpecified\": A boolean indicating whether the creation date is specified.\n- \"FileSize\": The size of the document file.\n- \"SectionCount\": The number of sections in the document.\n- \"IntellixTrust\": The IntellixTrust of the document.\n- \"VersionStatus\": The version status of the document.\n \n\nThe response also includes a \"SuccessCount\" property, which indicates the number of documents that were successfully updated.\n\nPlease note that the values of specific properties in the request or response have been omitted for security and privacy reasons." }, "response": [] } ], "description": "This folder provides examples of requests related to batch index field updates.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] } ], "description": "This folder provides examples of requests that access File Cabinet level functionality." }, { "name": "Documents", "item": [ { "name": "Update Index Values", "item": [ { "name": "Update Index Values", "event": [ { "listen": "prerequest", "script": { "exec": [ "var moment = require(\"moment\");\r", "pm.environment.set('CurrentDate', moment().format(\"YYYY-MM-DD\"));" ], "type": "text/javascript" } } ], "request": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json" }, { "key": "Content-Type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\n \"Field\": [\n {\n \"FieldName\": \"{{DocumentTypeField}}\",\n \"Item\": \"{{DocumentTypeValueUpdated}}\",\n \"ItemElementName\": \"String\"\n },\n {\n \"FieldName\": \"{{DocumentDateField}}\",\n \"Item\": \"{{CurrentDate}}\",\n \"ItemElementName\": \"DateTime\"\n }\n ]\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Fields", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Fields" ] }, "description": "This API endpoint allows you to update the fields of a specific document in a file cabinet. It uses an HTTP PUT request to the specified URL with the necessary parameters.\n\nThe request should be made to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Fields\n\n ```\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- DocumentId: The ID of the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Field\": [\n {\n \"FieldName\": \"DOCUMENT_TYPE\",\n \"Item\": \"Document Type Updated\",\n \"ItemElementName\": \"String\"\n },\n {\n \"FieldName\": \"COMPANY_NAME\",\n \"Item\": \"Company Name Updated\",\n \"ItemElementName\": \"String\"\n }\n ]\n}\n\n ```\n\nThis object specifies the data to be used when updating fields in DocuWare. Here are the details for each field in the object:\n\n- \"Field\" is an array of objects that represents the field data to be included in the field update. Each object in the array contains the following fields:\n \n - \"FieldName\" is a string that represents the name of the field to be updated.\n \n - \"Item\" is a string that represents the new value to be assigned to the field.\n \n - \"ItemElementName\" is a string that specifies the element name to be used for the field value. In this case, the value \"String\" indicates that the field value is a simple string. \n Note that the specific fields used will depend on the fields available in the document being updated.\n \n\n### Response\n\nThe response to this request will have a status code of 200, indicating a successful update. The response body will contain an array of field objects. Each field object represents a field in the document and has the following properties:\n\n- `FieldName`: The name of the field.\n- `FieldLabel`: The label or display name of the field.\n- `IsNull`: A boolean value indicating whether the field is empty or not.\n- `ReadOnly`: A boolean value indicating whether the field is read-only or not.\n- `SystemField`: A boolean value indicating whether the field is a system field or not.\n- `Item`: The value of the field. Note that this property may vary depending on the field type.\n- `ItemElementName`: The element name of the field value. This property may also vary depending on the field type.\n \n\nHere is an example response for this request:\n\n``` json\n{\n \"Field\": [\n {\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"SystemField\": true,\n \"Item\": \"\",\n \"ItemElementName\": \"\"\n }\n ]\n}\n\n ```\n\nPlease note that the actual values of the fields may vary depending on the document and its fields.\n\nMake sure to include the necessary parameters in your request to successfully update the fields of a document." }, "response": [] }, { "name": "Update Table Field Values", "event": [ { "listen": "test", "script": { "exec": [ "" ], "type": "text/javascript" } } ], "request": { "method": "PUT", "header": [ { "key": "Accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "Content-Type", "value": "application/vnd.docuware.platform.documentfieldsinfo+json" }, { "key": "X-Requested-With", "value": "XMLHttpRequest" } ], "body": { "mode": "raw", "raw": "{\r\n \"Field\": [\r\n {\r\n \"FieldName\": \"TEST\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"Table\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": {\r\n \"$type\": \"DocumentIndexFieldTable\",\r\n \"Row\": [\r\n {\r\n \"ColumnValue\": [\r\n {\r\n \"FieldName\": \"FELD__NAME\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"string\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": \"test\",\r\n \"FieldValue\": \"test\"\r\n },\r\n {\r\n \"FieldName\": \"TEST_TEST\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"string\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": \"123\",\r\n \"FieldValue\": \"123\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ColumnValue\": [\r\n {\r\n \"FieldName\": \"FIELD__NAME\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"string\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": \"test2\",\r\n \"FieldValue\": \"test2\"\r\n },\r\n {\r\n \"FieldName\": \"TEST_TEST\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"string\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": \"456\",\r\n \"FieldValue\": \"456\"\r\n }\r\n ]\r\n }\r\n ]\r\n },\r\n \"FieldValue\": {\r\n \"Row\": [\r\n {\r\n \"ColumnValue\": [\r\n {\r\n \"FieldName\": \"FIELD__NAME\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"string\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": \"test\",\r\n \"FieldValue\": \"test\"\r\n },\r\n {\r\n \"FieldName\": \"TEST_TEST\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"string\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": \"123\",\r\n \"FieldValue\": \"123\"\r\n }\r\n ]\r\n },\r\n {\r\n \"ColumnValue\": [\r\n {\r\n \"FieldName\": \"FIELD__NAME\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"string\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": \"test2\",\r\n \"FieldValue\": \"test2\"\r\n },\r\n {\r\n \"FieldName\": \"TEST_TEST\",\r\n \"ReadOnly\": false,\r\n \"SystemField\": false,\r\n \"ItemElementName\": \"string\",\r\n \"PointAndShootInfo\": null,\r\n \"IsAutoNumber\": false,\r\n \"IsNull\": false,\r\n \"Item\": \"456\",\r\n \"FieldValue\": \"456\"\r\n }\r\n ]\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"DialogId\": \"{{IndexDialogId}}\",\r\n \"NormalizeCoordinates\": true\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Fields", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Fields" ] }, "description": "This HTTP PUT request is used to update the fields of a document in a specific file cabinet. The request should be made to the endpoint `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Fields`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- DocumentId: The ID of the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Field\": [\n {\n \"FieldName\": \"TEST\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"Table\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": {\n \"$type\": \"DocumentIndexFieldTable\",\n \"Row\": [\n {\n \"ColumnValue\": [\n {\n \"FieldName\": \"FELD__NAME\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"string\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": \"test\",\n \"FieldValue\": \"test\"\n },\n {\n \"FieldName\": \"TEST_TEST\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"string\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": \"123\",\n \"FieldValue\": \"123\"\n }\n ]\n },\n {\n \"ColumnValue\": [\n {\n \"FieldName\": \"FELD__NAME\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"string\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": \"test2\",\n \"FieldValue\": \"test2\"\n },\n {\n \"FieldName\": \"TEST_TEST\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"string\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": \"456\",\n \"FieldValue\": \"456\"\n }\n ]\n }\n ]\n },\n \"FieldValue\": {\n \"Row\": [\n {\n \"ColumnValue\": [\n {\n \"FieldName\": \"FELD__NAME\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"string\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": \"test\",\n \"FieldValue\": \"test\"\n },\n {\n \"FieldName\": \"TEST_TEST\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"string\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": \"123\",\n \"FieldValue\": \"123\"\n }\n ]\n },\n {\n \"ColumnValue\": [\n {\n \"FieldName\": \"FELD__NAME\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"string\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": \"test2\",\n \"FieldValue\": \"test2\"\n },\n {\n \"FieldName\": \"TEST_TEST\",\n \"ReadOnly\": false,\n \"SystemField\": false,\n \"ItemElementName\": \"string\",\n \"PointAndShootInfo\": null,\n \"IsAutoNumber\": false,\n \"IsNull\": false,\n \"Item\": \"456\",\n \"FieldValue\": \"456\"\n }\n ]\n }\n ]\n }\n }\n ],\n \"DialogId\": \"{{IndexDialogId}}\",\n \"NormalizeCoordinates\": true\n}\n\n ```\n\nThis is a request body in JSON format used to update table fields in DocuWare. It includes the following key-value pairs:\n\n- \"Field\": An array of objects representing the fields to be updated. Each object includes the following properties:\n \n - \"FieldName\": The name of the field to be updated.\n \n - \"ReadOnly\": A boolean value that specifies whether the field is read-only or not.\n \n - \"SystemField\": A boolean value that specifies whether the field is a system field or not.\n \n - \"ItemElementName\": The type of the item being updated, which is \"Table\" in this case.\n \n - \"PointAndShootInfo\": Not used in this example.\n \n - \"IsAutoNumber\": A boolean value that specifies whether the field is an auto-number field or not.\n \n - \"IsNull\": A boolean value that specifies whether the field is null or not.\n \n - \"Item\": An object that represents the value to be updated. In this case, it is an instance of DocumentIndexFieldTable, which includes an array of rows to be updated.\n \n - \"FieldValue\": An object that represents the value of the field being updated. It includes an array of rows, just like the Item property.\n \n- \"DialogId\": A string value that represents the ID of the index dialog being used to update the fields.\n \n- \"NormalizeCoordinates\": A boolean value that specifies whether the coordinates of objects in the\n \n\n### Response\n\nThe last execution of this request returned a response with a status code of 200. The response body contains an array of fields under the key \"Field\". Each field object in the array has the following properties:\n\n- `SystemField`: A boolean indicating whether the field is a system field or not.\n- `FieldName`: The name of the field.\n- `FieldLabel`: The label or display name of the field.\n- `IsNull`: A boolean indicating whether the field value is null or not.\n- `ReadOnly`: A boolean indicating whether the field is read-only or editable.\n- `Item`: An integer representing the item associated with the field.\n- `ItemElementName`: The element name of the item.\n \n\nPlease refer to the API documentation for more details on the request payload and any additional parameters required for this endpoint." }, "response": [] } ], "description": "This folder provides examples of requests that update index values.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "", "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { ", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documetns from a File Cabinet' request.\");", "}" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Modify Documents", "item": [ { "name": "Transfer Document", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { \r", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");\r", "}\r", "\r", "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { \r", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documetns from a File Cabinet' request.\");\r", "}" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "Content-Type", "value": "application/vnd.docuware.platform.documentstransferinfo+json" }, { "key": "X-Requested-With", "value": "XMLHttpRequest" }, { "key": "Connection", "value": "keep-alive" } ], "body": { "mode": "raw", "raw": "{\r\n \"SourceFileCabinetId\": \"{{DocumentTrayId}}\",\r\n \"Documents\": [\r\n {\r\n \"Id\": {{DocumentId}},\r\n \"Fields\": null\r\n }\r\n ],\r\n \"KeepSource\": true,\r\n \"FillIntellix\": false,\r\n \"UseDefaultDialog\": false\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Task/Transfer?StoreDialogId={{StoreDialogId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Task", "Transfer" ], "query": [ { "key": "StoreDialogId", "value": "{{StoreDialogId}}", "description": "This is the store dialog used for indexing the document. It is associated with the target Document Tray/File Cabinet." } ] }, "description": "Summary:\n\nThis request transfers one or more documents from a Document Tray/File Cabinet to another Document Tray/File Cabinet.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- DocumentId: The ID of the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"SourceFileCabinetId\": \"{{DocumentTrayId}}\",\n \"Documents\": [\n {\n \"Id\": {{DocumentId}},\n \"Fields\": null\n }\n ],\n \"KeepSource\": true,\n \"FillIntellix\": false,\n \"UseDefaultDialog\": false\n}\n\n ```\n\nThis is a request body in JSON format used to transfer a document in DocuWare. It includes the following key-value pairs:\n\n- \"SourceFileCabinetId\": A string value that represents the ID of the document tray from which the document is being transferred. It is populated with a placeholder {{DocumentTrayId}} that is expected to be replaced with the actual ID value during runtime.\n- \"Documents\": An array of objects that represent the documents to be transferred. In this case, there is only one document being transferred, which is identified by its Id.\n - \"Id\": A numeric value that represents the ID of the document being transferred. It is populated with a placeholder {{DocumentId}} that is expected to be replaced with the actual ID value during runtime.\n - \"Fields\": In this example, this property is set to null, indicating that no changes to the document's metadata should be made during the transfer.\n- \"KeepSource\": A boolean value that specifies whether the source document should be kept or deleted after the transfer. In this example, it is set to true, indicating that the source document should be kept.\n- \"FillIntellix\": A boolean value that specifies whether Intellix should be used to automatically populate metadata fields for the transferred document. In this example, it is set to false, indicating that Intellix should not be used.\n- \"UseDefaultDialog\": A boolean value that specifies whether the default dialog should be used to catalog the transferred document. In this example, it is set to false, indicating that the default\n \n\n### Response\n\nThe response contains the updated index fields for the specified document." }, "response": [] }, { "name": "Delete Document", "event": [ { "listen": "test", "script": { "exec": [ "if (pm.environment.get(\"DocumentId\") === pm.environment.get(\"DataRecordId\"))\r", "{\r", " pm.environment.set(\"DataRecordId\", \"\");\r", "}\r", "\r", "pm.environment.set(\"DocumentId\", \"\");" ], "type": "text/javascript" } }, { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { \r", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");\r", "}\r", "\r", "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { \r", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documetns from a File Cabinet' request.\");\r", "}" ], "type": "text/javascript" } } ], "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "Content-Type", "value": "application/json" }, { "key": "X-Requested-With", "value": "XMLHttpRequest" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}" ] }, "description": "This API endpoint is used to delete a specific document from a file cabinet in the specified platform. The document is identified by its unique document ID, which is provided in the URL path.\n\nTo delete a document, send an HTTP DELETE request to the following endpoint:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}\n\n ```\n\n### Request Parameters\n\n- `ServerUrl` (string): The URL of the server where the platform is hosted.\n- `Platform` (string): The name or identifier of the platform.\n- `FileCabinetId` (string): The ID of the file cabinet from which the document will be deleted.\n- `DocumentId` (string): The ID of the document to be deleted.\n \n\n### Response\n\nThe API will respond with a status code indicating the success or failure of the delete operation. In a successful execution, the response has the following details:\n\n- Status: 200\n- OK\n \n\nPlease note that the response may vary depending on the specific implementation of the API." }, "response": [] } ], "description": "This folder provides examples of requests that modify stored documents.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Clip/Unclip & Staple/Unstaple", "item": [ { "name": "Clip", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "var documentIdField = response.Fields.find(field => { return field.FieldName === \"DWDOCID\"});\r", "pm.environment.set(\"MergedDocumentId\", documentIdField.Item);\r", "" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "Content-Type", "value": "application/json" }, { "key": "X-Requested-With", "value": "XMLHttpRequest" }, { "key": "Connection", "value": "keep-alive" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"Documents\": [\r\n 6,\r\n 7\r\n ],\r\n \"Operation\": \"Clip\",\r\n \"Force\": false\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{DocumentTrayId}}/Operations/ContentMerge", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{DocumentTrayId}}", "Operations", "ContentMerge" ] }, "description": "This API endpoint allows you to merge the content of multiple documents within a specific document tray in the file cabinet. The merged content will be saved as a new document.\n\nTo merge the content, you need to send an HTTP POST request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{DocumentTrayId}}/Operations/ContentMerge\n\n ```\n\nThe request should include the necessary parameters and data required for the merge operation.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- DocumentTrayId: The ID of the document tray.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Documents\": [\n 6,\n 7\n ],\n \"Operation\": \"Clip\",\n \"Force\": false\n}\n\n ```\n\nThis is a request body in JSON format used to merge documents in DocuWare using the ContentMerge method. It includes the following key-value pairs:\n\n- \"Documents\": An array that contains the IDs of the documents to be merged. In this example, Documents contains the IDs of two documents: 6 and 7.\n- \"Operation\": A string that specifies the type of merge operation to be performed. In this example, the value of Operation is \"Clip\", which means that the documents will be merged by clipping or cutting the pages from each document and merging them together.\n- \"Force\": A boolean value that indicates whether conflicting settings such as page orientation and size between the documents should be overridden during the merge. \n If set to true, conflicting settings will be overridden with values from the source document. \n If set to false, conflicting settings will not be overridden and an error will be thrown if they are detected. In this example, Force is set to \\`false\n \n\n### Response\n\nThe response returned by the API endpoint will have a status code of 200, indicating a successful operation. The response body will contain information about the merged document.\n\nHere is an example of the response body:\n\n``` json\n{\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [\n {\n \"SignatureStatus\": [\"\"],\n \"Pages\": {\n \"Page\": []\n },\n \"Thumbnails\": {\n \"Page\": []\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"ContentType\": \"\",\n \"HaveMorePages\": true,\n \"PageCount\": 0,\n \"FileSize\": 0,\n \"OriginalFileName\": \"\",\n \"ContentModified\": \"\",\n \"HasTextAnnotation\": true,\n \"AnnotationsPreview\": true\n }\n ],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n}\n\n ```\n\nPlease note that some of the properties in the response may be empty or have default values depending on the specific merge operation and the content of the documents being merged.\n\nMake sure to handle the response appropriately in your application based on the properties provided." }, "response": [] }, { "name": "Unclip", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "X-Requested-With", "value": "XMLHttpRequest" }, { "key": "Connection", "value": "keep-alive" }, { "key": "Accept", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\r\n \"Operation\": \"Unclip\"\r\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{DocumentTrayId}}/Operations/ContentDivide?DocId={{MergedDocumentId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{DocumentTrayId}}", "Operations", "ContentDivide" ], "query": [ { "key": "DocId", "value": "{{MergedDocumentId}}" } ] }, "description": "This API endpoint allows you to divide the content of a document in a specific file cabinet and document tray. The content division is performed by making an HTTP POST request to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{DocumentTrayId}}/Operations/ContentDivide?DocId={{ClippedDocumentId}}`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- DocumentTrayId: The ID of the document tray.\n- MergedDocumentId: The document ID.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Operation\": \"Unclip\"\n}\n\n ```\n\nThis is a request body in JSON format used to merge documents in DocuWare using the ContentDivide method. It includes the following key-value pairs:\n\n- \"Operation\": A string that specifies the type of merge operation to be performed. In this example, the value of Operation is \"Unclip\", which means that the documents will be unclipped.\n \n\n### Response\n\nThe execution of this request returns a response with a status code of 200, indicating a successful execution. The response body contains the following information:\n\n- `Count`: An object that provides information about the count of items returned. It includes the properties `HasMore`, `ExceedLimit`, and `Value`.\n- `Items`: An array of objects representing the divided content. Each item in the array contains the following properties:\n - `FileCabinetId`: The ID of the file cabinet to which the divided content belongs.\n - `Fields`: An array of objects representing the fields associated with the divided content. Each field object includes properties such as `SystemField`, `FieldName`, `FieldLabel`, `IsNull`, `ReadOnly`, `Item`, and `ItemElementName`.\n - `Flags`: An object that provides information about various flags associated with the divided content. It includes properties such as `IsCold`, `IsDBRecord`, `IsCheckedOut`, `IsCopyRightProtected`, `IsVoiceAvailable`, `HasAppendedDocuments`, `IsProtected`, `IsDeleted`, and `IsEmail`.\n - `Links`: An array of objects representing the links associated with the divided content. Each link object includes properties such as `rel` and `href`.\n - `Sections`: An array of objects representing the sections of the divided content. Each section object includes properties such as `SignatureStatus`, `Pages`, `Thumbnails`, `Links`, `Id`, `ContentType`, `HaveMorePages`, `PageCount`, `FileSize`, `OriginalFileName`, `ContentModified`, `HasTextAnnotation`, and `AnnotationsPreview`.\n - `ContentType`: The content type of the divided content.\n - `HaveMoreTotalPages`: A boolean value indicating whether there are more total pages in the divided content.\n - `HasTextAnnotation`: A boolean value indicating whether the divided content has text annotations.\n - `HasXmlDigitalSignatures`: A boolean value indicating whether the divided content has XML digital signatures.\n - `TotalPages`: The total number of pages in the divided content.\n - `Id`: The ID of the divided content.\n - `Title`: The title of the divided content.\n - `LastModified`: The timestamp when the divided content was last modified.\n - `CreatedAt`: The timestamp when the divided content was created.\n - `FileSize`: The file size of the divided content.\n - `SectionCount`: The number of sections in the divided content.\n - `IntellixTrust`: The IntellixTrust associated with the divided content.\n - `VersionStatus`: The version status of the divided content.\n\nPlease note that specific values, such as names or emails, are not included in the response for security and privacy reasons. The response provides comprehensive information about the divided content and its associated properties." }, "response": [] }, { "name": "Staple", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "var documentIdField = response.Fields.find(field => { return field.FieldName === \"DWDOCID\"});\r", "pm.environment.set(\"MergedDocumentId\", documentIdField.Item);\r", "" ], "type": "text/javascript" } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "Content-Type", "value": "application/json" }, { "key": "X-Requested-With", "value": "XMLHttpRequest" }, { "key": "Connection", "value": "keep-alive" } ], "body": { "mode": "raw", "raw": "{\r\n \"Documents\": [\r\n 8,\r\n 9\r\n ],\r\n \"Operation\": \"Staple\",\r\n \"Force\": false\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{DocumentTrayId}}/Operations/ContentMerge", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{DocumentTrayId}}", "Operations", "ContentMerge" ] }, "description": "This API endpoint is used to merge the content of multiple documents within a specific document tray in the file cabinets of a platform. The merged content will be stored as a new document.\n\nTo merge the content, send an HTTP POST request to `{{ServerUrl}}/{{Platform}}/FileCabinets/{{DocumentTrayId}}/Operations/ContentMerge`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- DocumentTrayId: The ID of the document tray.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Documents\": [\n 6,\n 7\n ],\n \"Operation\": \"Staple\",\n \"Force\": false\n}\n\n ```\n\nThis is a request body in JSON format used to merge documents in DocuWare using the ContentMerge method. It includes the following key-value pairs:\n\n- \"Documents\": An array that contains the IDs of the documents to be merged. In this example, Documents contains the IDs of two documents: 6 and 7.\n- \"Operation\": A string that specifies the type of merge operation to be performed. In this example, the value of Operation is \"Staple\", which means that the documents will be merged by stapling or cutting the pages from each document and merging them together.\n- \"Force\": A boolean value that indicates whether conflicting settings such as page orientation and size between the documents should be overridden during the merge. \n If set to true, conflicting settings will be overridden with values from the source document. \n If set to false, conflicting settings will not be overridden and an error will be thrown if they are detected. In this example, Force is set to \\`false\n \n\n### Response\n\nThe response returned by the execution of this request has a status code of 200, indicating a successful operation. The response body contains the merged document's metadata and content information.\n\nHere is an example of the response body:\n\n``` json\n{\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [\n {\n \"SignatureStatus\": [\"\"],\n \"Pages\": {\n \"Page\": []\n },\n \"Thumbnails\": {\n \"Page\": []\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"ContentType\": \"\",\n \"HaveMorePages\": true,\n \"PageCount\": 0,\n \"FileSize\": 0,\n \"OriginalFileName\": \"\",\n \"ContentModified\": \"\",\n \"HasTextAnnotation\": true,\n \"AnnotationsPreview\": true\n }\n ],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n}\n\n ```\n\nThe response body provides information about the merged document, including its ID, title, file size, content type, creation date, last modified date, and various flags indicating the document's properties such as whether it is protected, deleted, or an email.\n\nThe `Sections`array in the response body contains details about the merged document's sections, including signature status, page count, file size, original file name, and whether it has text annotations or annotations preview.\n\nPlease note that the example response provided above may not contain actual values for some properties, as they were not included in the response from the server.\n\nIt is recommended to refer to the API documentation or contact the API provider for more detailed information about the response structure and the meaning of each property." }, "response": [] }, { "name": "Unstaple", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "Content-Type", "value": "application/json" }, { "key": "X-Requested-With", "value": "XMLHttpRequest" }, { "key": "Connection", "value": "keep-alive" } ], "body": { "mode": "raw", "raw": "{\r\n \"Operation\": \"Unstaple\",\r\n \"Force\": false\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{DocumentTrayId}}/Operations/ContentDivide?docId={{MergedDocumentId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{DocumentTrayId}}", "Operations", "ContentDivide" ], "query": [ { "key": "docId", "value": "{{MergedDocumentId}}" } ] }, "description": "This API endpoint allows you to divide the content of multiple documents within a specific document tray in the file cabinet. The divided content will be saved as a new document.\n\nTo divide the content, you need to send an HTTP POST request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{DocumentTrayId}}/Operations/ContentMerge\n\n ```\n\nThe request should include the necessary parameters and data required for the merge operation.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- DocumentTrayId: The ID of the document tray.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Documents\": [\n 6,\n 7\n ],\n \"Operation\": \"Clip\",\n \"Force\": false\n}\n\n ```\n\nThis is a request body in JSON format used to merge documents in DocuWare using the ContentMerge method. It includes the following key-value pairs:\n\n- \"Documents\": An array that contains the IDs of the documents to be merged. In this example, Documents contains the IDs of two documents: 6 and 7.\n- \"Operation\": A string that specifies the type of merge operation to be performed. In this example, the value of Operation is \"Clip\", which means that the documents will be merged by clipping or cutting the pages from each document and merging them together.\n- \"Force\": A boolean value that indicates whether conflicting settings such as page orientation and size between the documents should be overridden during the merge. \n If set to true, conflicting settings will be overridden with values from the source document. \n If set to false, conflicting settings will not be overridden and an error will be thrown if they are detected. In this example, Force is set to \\`false\n \n\n### Response\n\nThe response returned by the API endpoint will have a status code of 200, indicating a successful operation. The response body will contain information about the merged document.\n\nHere is an example of the response body:\n\n``` json\n{\n \"FileCabinetId\": \"\",\n \"Fields\": [\n {\n \"SystemField\": true,\n \"FieldName\": \"\",\n \"FieldLabel\": \"\",\n \"IsNull\": true,\n \"ReadOnly\": true,\n \"Item\": 0,\n \"ItemElementName\": \"\"\n }\n ],\n \"Flags\": {\n \"IsCold\": true,\n \"IsDBRecord\": true,\n \"IsCheckedOut\": true,\n \"IsCopyRightProtected\": true,\n \"IsVoiceAvailable\": true,\n \"HasAppendedDocuments\": true,\n \"IsProtected\": true,\n \"IsDeleted\": true,\n \"IsEmail\": true\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Sections\": [\n {\n \"SignatureStatus\": [\"\"],\n \"Pages\": {\n \"Page\": []\n },\n \"Thumbnails\": {\n \"Page\": []\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"ContentType\": \"\",\n \"HaveMorePages\": true,\n \"PageCount\": 0,\n \"FileSize\": 0,\n \"OriginalFileName\": \"\",\n \"ContentModified\": \"\",\n \"HasTextAnnotation\": true,\n \"AnnotationsPreview\": true\n }\n ],\n \"ContentType\": \"\",\n \"HaveMoreTotalPages\": true,\n \"HasTextAnnotation\": true,\n \"HasXmlDigitalSignatures\": true,\n \"AnnotationsPreview\": true,\n \"TotalPages\": 0,\n \"Id\": 0,\n \"Title\": \"\",\n \"LastModified\": \"\",\n \"LastModifiedSpecified\": true,\n \"CreatedAt\": \"\",\n \"CreatedAtSpecified\": true,\n \"FileSize\": 0,\n \"SectionCount\": 0,\n \"IntellixTrust\": \"\",\n \"VersionStatus\": \"\"\n}\n\n ```\n\nPlease note that some of the properties in the response may be empty or have default values depending on the specific merge operation and the content of the documents being merged.\n\nMake sure to handle the response appropriately in your application based on the properties provided." }, "response": [] } ], "description": "This folder provides examples of requests that handle clipping, unclipping, stapling and unstapling documents.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"DocumentTrayId\") === false || pm.environment.get(\"DocumentTrayId\") === \"\") { ", " throw new Error(\"DocumentTrayId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Stamps", "item": [ { "name": "Get Stamps", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "if (response.Stamp.length > 0) { \r", " const selectedStamp = response.Stamp[0];\r", " pm.environment.set(\"StampId\", selectedStamp.Id);\r", "}\r", "" ], "type": "text/javascript", "packages": {} } }, { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Stamps", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Stamps" ] }, "description": "This API endpoint allows you to retrieve the stamps associated with a specific file cabinet. The stamps are used to add visual elements to documents, such as signatures, form fields, and custom fields.\n\nTo retrieve the stamps, you need to send an HTTP GET request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Stamps\n\n ```\n\nThe response will be a JSON object with a `Stamp` property, which is an array of stamp objects. Each stamp object represents a unique stamp and contains the following properties:\n\n- `Type`: The type of the stamp.\n- `FormField`: An array of form fields associated with the stamp.\n- `Fields`: An array of custom fields associated with the stamp.\n- `HeadFont`: The font settings for the stamp's header.\n- `Item`: The type of the stamp item.\n- `Links`: An array of links associated with the stamp.\n- `PasswordProtected`: Indicates whether the stamp is password protected.\n- `Signature`: The signature associated with the stamp.\n- `Color`: The color of the stamp.\n- `Name`: The name of the stamp.\n- `DisplayName`: The display name of the stamp.\n- `Overwrite`: Indicates whether the stamp should overwrite existing content.\n- `Id`: The unique identifier of the stamp.\n- `IsHidden`: Indicates whether the stamp is hidden.\n- `Autosave`: The autosave setting for the stamp.\n- `CloseAfterStampSet`: Indicates whether the stamp should be closed after being set.\n- `AutomaticallyOpenNextDocument`: Indicates whether the next document should be automatically opened after setting the stamp.\n- `KeepStampActive`: Indicates whether the stamp should remain active after being set.\n \n\nPlease note that the response provided is an example and the actual response may vary based on the specific stamps associated with the file cabinet." }, "response": [] }, { "name": "Add Stamp With Position", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"StampId\") === false || pm.environment.get(\"StampId\") === \"\") { \r", " throw new Error(\"StampId is empty or does not exist. Please ensure it exists and run the 'GetStamps' request.\");\r", "}" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"StampPlacement\",\n \"Location\": {\n \"X\": \"100\",\n \"Y\": \"100\"\n },\n \"StampId\": \"{{StampId}}\",\n \"Layer\": 1,\n \"Field\": [\n {\n \"Name\": \"<#1>\",\n \"TypedValue\": {\n \"Item\": \"september\",\n \"ItemElementName\": \"string\"\n },\n \"Value\": \"september\",\n \"TextAsString\": \"september\"\n }\n ],\n \"Password\": null\n }\n ]\n }\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "This API endpoint allows you to add an annotation to a specific document in a file cabinet. To add an annotation, you need to make an HTTP POST request to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n- `Platform`: The platform on which the file cabinet is hosted.\n- `FileCabinetId`: The ID of the file cabinet containing the document.\n- `DocumentId`: The ID of the document.\n \n\nThe request body needs to contain an annotation object in this format:\n\n``` json\n{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"StampPlacement\",\n \"Location\": {\n \"X\": \"100\",\n \"Y\": \"100\"\n },\n \"StampId\": \"{{StampId}}\",\n \"Layer\": 1,\n \"Field\": [\n {\n \"Name\": \"<#1>\",\n \"TypedValue\": {\n \"Item\": \"september\",\n \"ItemElementName\": \"string\"\n },\n \"Value\": \"september\",\n \"TextAsString\": \"september\"\n }\n ],\n \"Password\": null\n }\n ]\n }\n }\n ]\n}\n\n ```\n\nIt contains a single `Annotations` array that stores information about annotations that will be added. In this example, there is only one annotation.\n\n- `\"Annotations\"` is an array that specifies information about the annotations that will be added to a document. In this example, there is only one annotation being added.\n- `\"PageNumber\"` specifies the page number of the document where the annotation will be placed. In this case, it is 0 (the first page).\n- `\"SectionNumber\"` specifies the section of the document where the annotation will be placed. In this example, it is 0 (the first section).\n- `\"AnnotationsPlacement\"` is an object that specifies the placement of the annotation on a document. It has an `Items` array that contains information about the annotation being placed.\n- `\"Items\"` is an array that contains the actual information about the annotation. In this example, there is only one item.\n- `\"$type\"` specifies the type of placement being used for the annotation. In this case, it is a `\"StampPlacement\"`.\n- `\"Location\"` contains an `X` and `Y` value that specifies the position of the annotation on the page.\n- `\"StampId\"` specifies the ID of the stamp that will be used as the annotation. This ID is typically generated by DocuWare.\n- `\"Layer\"` specifies the annotation layer that the stamp will be placed on. In this example, it is layer 1.\n- `\"Field\"` specifies information about the fields that will be added to the annotation. In this case, there is only one field.\n- `\"Name\"` specifies the name of the field that will be added. In this example, it is `\"<#1>\"`.\n- `\"TypedValue\"` specifies the type of value that will be added to the field. In this case, it is a string with the value `\"september\"`.\n- `\"Value\"` specifies the value that will be added to the field. In this case, it is `\"september\"`.\n- `\"TextAsString\"` specifies the text that will be added to the field. In this case, it is also `\"september\"`.\n- `\"Password\"` if the stamp is protected by a password, the password needs to go here.\n \n\n### Response\n\nAfter making the request, the server will return a response with a status code of 200 if the annotation was successfully added. The response body will contain the details of the added annotation in JSON format.\n\nHere is an example of the response body:\n\n``` json\n{\n \"Annotations\": [\n {\n \"Annotation\": [\n {\n \"Items\": [\n {\n \"$type\": \"\",\n \"PngData\": \"\",\n \"DpiX\": 0,\n \"DpiY\": 0,\n \"Location\": {\n \"Left\": 0,\n \"Top\": 0,\n \"Width\": 0,\n \"Height\": 0\n },\n \"HeadFont\": {\n \"FontName\": \"\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": true,\n \"StrikeThrough\": true,\n \"FontSize\": 0,\n \"Spacing\": 0\n },\n \"Signature\": \"\",\n \"UserName\": \"\",\n \"Visible\": true,\n \"Frame\": true,\n \"ShowUser\": true,\n \"ShowDate\": true,\n \"ShowTime\": true,\n \"Created\": {\n \"User\": \"\",\n \"Time\": \"\"\n },\n \"Color\": \"\",\n \"Rotation\": 0,\n \"Transparent\": true,\n \"StrokeWidth\": 0,\n \"Id\": \"\"\n }\n ],\n \"Id\": 0\n }\n ],\n \"SectionNumber\": 0,\n \"PageNumber\": 0\n }\n ]\n}\n\n ```\n\nPlease note that the response body contains the details of the added annotation, such as its ID, location, font settings, visibility, and other properties. You can use this information to verify the success of the annotation addition and display the annotation details to the user if needed.\n\nMake sure to handle any errors or exceptions that may occur during the annotation addition process." }, "response": [] }, { "name": "Add Stamp With Best Position", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"StampId\") === false || pm.environment.get(\"StampId\") === \"\") { \r", " throw new Error(\"StampId is empty or does not exist. Please ensure it exists and run the 'GetStamps' request.\");\r", "}" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"StampPlacement\",\n \"StampId\": \"{{StampId}}\",\n \"Layer\": 1,\n \"Field\": [\n {\n \"Name\": \"<#1>\",\n \"TypedValue\": {\n \"Item\": \"*Test007*\",\n \"ItemElementName\": \"string\"\n },\n \"Value\": \"*Test007*\",\n \"TextAsString\": \"*Test007*\"\n }\n ],\n \"Password\": null\n }\n ]\n }\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "This API endpoint allows you to add an annotation to a specific document in a file cabinet. The HTTP POST request should be made to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n \n- `Platform`: The platform on which the file cabinet is hosted.\n \n- `FileCabinetId`: The ID of the file cabinet containing the document.\n \n- `DocumentId`: The ID of the document.\n \n\nThe request body needs to contain an annotation object in this format:\n\n``` json\n{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"StampPlacement\",\n \"StampId\": \"{{StampId}}\",\n \"Layer\": 5,\n \"Field\": [\n {\n \"Name\": \"<#1>\",\n \"TypedValue\": {\n \"Item\": \"*Test007*\",\n \"ItemElementName\": \"string\"\n },\n \"Value\": \"*Test007*\",\n \"TextAsString\": \"*Test007*\"\n }\n ],\n \"Password\": null\n }\n ]\n }\n }\n ]\n}\n\n ```\n\nIt contains a single `Annotations` array that stores information about annotations that will be added. In this example, there is only one annotation.\n\n- StartFragmentEndFragment\n \n - `\"Annotations\"` is an array that specifies information about the annotations that will be added to a document. In this example, there is only one annotation being added.\n \n - `\"PageNumber\"` specifies the page number of the document where the annotation will be placed. In this case, it is 0 (the first page).\n \n - `\"SectionNumber\"` specifies the section of the document where the annotation will be placed. In this example, it is 0 (the first section).\n \n - `\"AnnotationsPlacement\"` is an object that specifies the placement of the annotation on a document.\n \n - `\"Items\"` is an array that contains information about the annotation being placed. In this example, there is only one item.\n \n - `\"$type\"` specifies the type of placement being used for the annotation. In this case, it is a `\"StampPlacement\"`.\n \n - `\"StampId\"` specifies the ID of the stamp that will be used as the annotation. This ID is typically generated by DocuWare.\n \n - `\"Layer\"` specifies the annotation layer that the stamp will be placed on. A stamp can be placed on layers up to 5.\n \n - `\"Field\"` specifies information about the fields that will be added to the annotation. In this case, there is only one field.\n \n - `\"Name\"` specifies the name of the field that will be added. In this example, it is `\"<#1>\"`.\n \n - `\"TypedValue\"` specifies the type of value that will be added to the field. In this case, it is a string with the value `\"\\\\\\*Test007\\\\\\*\"`.\n \n - `\"Value\"` specifies the value that will be added to the field. In this case, it is `\"\\\\\\*Test007\\\\\\*\"`\n \n - `\"TextAsString\"` specifies the text that will be added to the field. In this case, it is also `\"\\\\\\*Test007\\\\\\*\"`\n \n - `\"Password\"` specifies the password that is required to modify the annotation. If no password is required, this field can be set to 'null'\n \n\n### Response\n\nThe response returned by the execution of this request has a status code of 200. The response body includes an array of annotations, with each annotation containing various properties such as items, ID, section number, and page number.\n\nHere is an example response body:\n\n``` json\n{\n \"Annotations\": [\n {\n \"Annotation\": [\n {\n \"Items\": [\n {\n \"$type\": \"\",\n \"PngData\": \"\",\n \"DpiX\": 0,\n \"DpiY\": 0,\n \"Location\": {\n \"Left\": 0,\n \"Top\": 0,\n \"Width\": 0,\n \"Height\": 0\n },\n \"HeadFont\": {\n \"FontName\": \"\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": true,\n \"StrikeThrough\": true,\n \"FontSize\": 0,\n \"Spacing\": 0\n },\n \"Signature\": \"\",\n \"UserName\": \"\",\n \"Visible\": true,\n \"Frame\": true,\n \"ShowUser\": true,\n \"ShowDate\": true,\n \"ShowTime\": true,\n \"Created\": {\n \"User\": \"\",\n \"Time\": \"\"\n },\n \"Color\": \"\",\n \"Rotation\": 0,\n \"Transparent\": true,\n \"StrokeWidth\": 0,\n \"Id\": \"\"\n }\n ],\n \"Id\": 0\n }\n ],\n \"SectionNumber\": 0,\n \"PageNumber\": 0\n }\n ]\n}\n\n ```\n\nPlease note that the response body includes an array of annotations, where each annotation has a unique ID. Each annotation also contains an array of items, which represent the individual components of the annotation. These items have properties such as type, PNG data, DPI, location, font, signature, username, visibility, frame, and more.\n\nFeel free to use this API endpoint to add annotations to your documents in the file cabinet." }, "response": [] } ] }, { "name": "Annotations", "item": [ { "name": "Get Annotations", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();" ], "type": "text/javascript", "packages": {} } }, { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "This API endpoint allows you to retrieve the stamps associated with a specific file cabinet. The stamps are used to add visual elements to documents, such as signatures, form fields, and custom fields.\n\nTo retrieve the stamps, you need to send an HTTP GET request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Stamps\n\n ```\n\nThe response will be a JSON object with a `Stamp` property, which is an array of stamp objects. Each stamp object represents a unique stamp and contains the following properties:\n\n- `Type`: The type of the stamp.\n- `FormField`: An array of form fields associated with the stamp.\n- `Fields`: An array of custom fields associated with the stamp.\n- `HeadFont`: The font settings for the stamp's header.\n- `Item`: The type of the stamp item.\n- `Links`: An array of links associated with the stamp.\n- `PasswordProtected`: Indicates whether the stamp is password protected.\n- `Signature`: The signature associated with the stamp.\n- `Color`: The color of the stamp.\n- `Name`: The name of the stamp.\n- `DisplayName`: The display name of the stamp.\n- `Overwrite`: Indicates whether the stamp should overwrite existing content.\n- `Id`: The unique identifier of the stamp.\n- `IsHidden`: Indicates whether the stamp is hidden.\n- `Autosave`: The autosave setting for the stamp.\n- `CloseAfterStampSet`: Indicates whether the stamp should be closed after being set.\n- `AutomaticallyOpenNextDocument`: Indicates whether the next document should be automatically opened after setting the stamp.\n- `KeepStampActive`: Indicates whether the stamp should remain active after being set.\n \n\nPlease note that the response provided is an example and the actual response may vary based on the specific stamps associated with the file cabinet." }, "response": [] }, { "name": "Add Text Annotation", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"TextEntry\",\n \"Font\": {\n \"FontName\": \"Lucida Console\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": false,\n \"StrikeThrough\": false,\n \"FontSize\": 200,\n \"Spacing\": 0\n },\n \"Value\": \"Test annotation\",\n \"Location\": {\n \"Left\": 100,\n \"Top\": 100,\n \"Width\": 1500,\n \"Height\": 500\n },\n \"Color\": \"Black\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 50\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "This API endpoint allows you to add an annotation to a specific document in a file cabinet. The annotation can include various properties such as the location, font style, signature, user name, visibility, and more.\n\nTo add an annotation, make an HTTP POST request to the following endpoint:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation\n\n ```\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n- `Platform`: The platform on which the file cabinet is hosted.\n- `FileCabinetId`: The ID of the file cabinet containing the document.\n- `DocumentId`: The ID of the document.\n \n\nThe request body needs to contain an annotation object in this format:\n\n``` json\n{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"TextEntry\",\n \"Font\": {\n \"FontName\": \"Lucida Console\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": false,\n \"StrikeThrough\": false,\n \"FontSize\": 200,\n \"Spacing\": 0\n },\n \"Value\": \"Test annotation\",\n \"Location\": {\n \"Left\": 100,\n \"Top\": 100,\n \"Width\": 1500,\n \"Height\": 500\n },\n \"Color\": \"Black\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 50\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}\n\n ```\n\nIt contains a single `Annotations` array that stores information about annotations that will be added. In this example, there is only one annotation.\n\n- Annotations (array): An array that specifies information about the annotations that will be added to a document. In this example, there is only one annotation being added.\n- PageNumber (integer): The zero-based index of the page where the annotation is to be added.\n- SectionNumber (integer): The zero-based index of the section of the page where the annotation is to be added.\n- AnnotationsPlacement (object): An object that specifies the placement of the annotation on the page.\n- Items (array): An array that contains one or more items that specify the placement of the annotation.\n- $type (string): The type of annotation to be added. In this case, it should be set to \"Annotation\".\n- Layer(array): An array that contains one or more layers of annotations.\n- Id (string): The identifier of the layer.\n- Items (array): An array that contains one or more items that represent the annotation to be added to the layer.\n- $type (string): The type of the annotation item. In this case, it should be set to \"TextEntry\".\n- Font (object): An object that specifies the font properties of the text to be added.\n- FontName (string): The name of the font to be used.\n- Bold (boolean): Whether the text should be bold or not.\n- Italic (boolean): Whether the text should be italic or not.\n- Underlined (boolean): Whether the text should be underlined or not.\n- StrikeThrough (boolean): Whether the text should have a strikethrough line or not.\n- FontSize (integer): The size of the font to be used.\n- Spacing (integer): The spacing between the letters in the text.\n- Value (string): The text to be added to the document.\n- Location (object): An object that specifies the location and size of the text on the page.\n- Left (integer): The distance, in pixels, from the left edge of the page where the text should be added.\n- Top (integer): The distance, in pixels, from the top edge of the page where the text should be added.\n- Width (integer): The width, in pixels, of the text.\n- Height (integer): The height, in pixels, of the text.\n- Color (string): The color of the text to be added, specified in HTML-style hex format (e.g. #000000 for black).\n- Rotation(integer): The rotation of the text, in degrees.\n- Transparent (boolean): Whether the text should be transparent or not.\n- StrokeWidth (integer): The width, in pixels, of the stroke.\n \n\n### Response\n\nThe response to the request will have a status code of 200, indicating a successful operation. The response body will contain the added annotation in the following format:\n\n``` json\n{\n \"Annotations\": [\n {\n \"Annotation\": [\n {\n \"Items\": [\n {\n \"$type\": \"\",\n \"PngData\": \"\",\n \"DpiX\": 0,\n \"DpiY\": 0,\n \"Location\": {\n \"Left\": 0,\n \"Top\": 0,\n \"Width\": 0,\n \"Height\": 0\n },\n \"HeadFont\": {\n \"FontName\": \"\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": true,\n \"StrikeThrough\": true,\n \"FontSize\": 0,\n \"Spacing\": 0\n },\n \"Signature\": \"\",\n \"UserName\": \"\",\n \"Visible\": true,\n \"Frame\": true,\n \"ShowUser\": true,\n \"ShowDate\": true,\n \"ShowTime\": true,\n \"Created\": {\n \"User\": \"\",\n \"Time\": \"\"\n },\n \"Color\": \"\",\n \"Rotation\": 0,\n \"Transparent\": true,\n \"StrokeWidth\": 0,\n \"Id\": \"\"\n }\n ],\n \"Id\": 0\n }\n ],\n \"SectionNumber\": 0,\n \"PageNumber\": 0\n }\n ]\n}\n\n ```\n\nPlease note that the response includes the details of the added annotation, such as its items, location, font style, signature, user name, visibility, and more. The specific values for these properties will depend on the data provided in the request.\n\nMake sure to include all the necessary information and parameters in your request to successfully add an annotation to a document in the specified file cabinet." }, "response": [] }, { "name": "Add Rect Entry Annotation", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"RectEntry\",\n \"Location\": {\n \"Left\": 100,\n \"Top\": 600,\n \"Width\": 1500,\n \"Height\": 500\n },\n \"Filled\": true,\n \"Ellipse\": false,\n \"Color\": \"Bisque\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 3\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "This API endpoint allows you to add an annotation to a specific document in a file cabinet. The HTTP POST request should be made to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n- `Platform`: The platform on which the file cabinet is hosted.\n- `FileCabinetId`: The ID of the file cabinet containing the document.\n- `DocumentId`: The ID of the document.\n \n\nThe request body needs to contain an annotation object in this format:\n\n``` json\n{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"RectEntry\",\n \"Location\": {\n \"Left\": 100,\n \"Top\": 600,\n \"Width\": 1500,\n \"Height\": 500\n },\n \"Filled\": true,\n \"Ellipse\": false,\n \"Color\": \"Bisque\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 3\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}\n\n ```\n\nIt contains a single `Annotations` array that stores information about annotations that will be added. In this example, there is only one annotation.\n\n- \"Annotations\" is an array that specifies information about the annotations that will be added to the document. In this example, there is only one annotation being added.\n- \"PageNumber\" specifies the page number of the document where the annotation will be placed. In this case, it is 0 (the first page).\n- \"SectionNumber\" specifies the section of the document where the annotation will be placed. In this example, it is 0 (the first section).\n- \"AnnotationsPlacement\" is an object that specifies the placement of the annotation on a document.\n- \"Items\" is an array that contains information about the annotation being placed. In this example, there is only one item.\n- \"$type\" specifies the type of annotation being used. In this case, it is a \"RectEntry\".\n- \"Location\" is an object describing the rectangle's location and dimensions. \"Left\" and \"Top\" specify the position of the top-left corner of the rectangle, while \"Width\" and \"Height\" specify the dimensions of the rectangle.\n- \"Filled\" is a boolean flag that, when set to true, specifies that the rectangle should be filled. If set to false, only the outline of the rectangle will be visible.\n- \"Ellipse\" is a boolean flag that specifies whether the rectangle should be an ellipse (true) or a regular rectangle (false).\n- \"Color\" is a string specifying the color fill or outline of the rectangle. In this case, it is set to \"Bisque\".\n- \"Rotation\" is a number that describes how many degrees clockwise the rectangle should be rotated.\n- \"Transparent\" is a boolean flag that, when set to true, makes the rectangle transparent.\n- \"StrokeWidth\" specifies the width of the line used to draw the rectangle. \n After making the request, the server will return a response with a status code of 200 if the annotation was successfully added. The response body will contain the details of the added annotation in JSON format.\n \n\n### Response\n\nThe response from the last execution of this request had a status code of 200 and returned a JSON object with the following structure:\n\n``` json\n{\n \"Annotations\": [\n {\n \"Annotation\": [\n {\n \"Items\": [\n {\n \"$type\": \"\",\n \"PngData\": \"\",\n \"DpiX\": 0,\n \"DpiY\": 0,\n \"Location\": {\n \"Left\": 0,\n \"Top\": 0,\n \"Width\": 0,\n \"Height\": 0\n },\n \"HeadFont\": {\n \"FontName\": \"\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": true,\n \"StrikeThrough\": true,\n \"FontSize\": 0,\n \"Spacing\": 0\n },\n \"Signature\": \"\",\n \"UserName\": \"\",\n \"Visible\": true,\n \"Frame\": true,\n \"ShowUser\": true,\n \"ShowDate\": true,\n \"ShowTime\": true,\n \"Created\": {\n \"User\": \"\",\n \"Time\": \"\"\n },\n \"Color\": \"\",\n \"Rotation\": 0,\n \"Transparent\": true,\n \"StrokeWidth\": 0,\n \"Id\": \"\"\n }\n ],\n \"Id\": 0\n }\n ],\n \"SectionNumber\": 0,\n \"PageNumber\": 0\n }\n ]\n}\n\n ```\n\nPlease note that the response contains an array of `Annotations`, each of which has an `Annotation` object. Within the `Annotation` object, there is an array of `Items` representing the individual annotations added to the document. Each `Item` has various properties such as `$type`, `PngData`, `DpiX`, `DpiY`, `Location`, `HeadFont`, `Signature`, `UserName`, `Visible`, `Frame`, `ShowUser`, `ShowDate`, `ShowTime`, `Created`, `Color`, `Rotation`, `Transparent`, `StrokeWidth`, and `Id`.\n\nFeel free to use this endpoint to add annotations to documents in your file cabinet." }, "response": [] }, { "name": "Add Line Entry Annotation", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"LineEntry\",\n \"From\": {\n \"X\": 200,\n \"Y\": 1600\n },\n \"To\": {\n \"X\": 1600,\n \"Y\": 1600\n },\n \"Arrow\": false,\n \"Color\": \"Blue\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 3\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "This API endpoint allows you to add an annotation to a specific document in a file cabinet. The HTTP POST request should be made to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n- `Platform`: The platform on which the file cabinet is hosted.\n- `FileCabinetId`: The ID of the file cabinet containing the document.\n- `DocumentId`: The ID of the document.\n \n\nThe request body needs to contain an annotation object in this format:\n\n``` json\n{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"LineEntry\",\n \"From\": {\n \"X\": 100,\n \"Y\": 1600\n },\n \"To\": {\n \"X\": 1600,\n \"Y\": 2100\n },\n \"Arrow\": false,\n \"Color\": \"Cyan\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 3\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}\n\n ```\n\nThis object includes an Annotations array that contains information about the line annotation being added to a DocuWare document. Here's a breakdown of each field in the object:\n\n- \"Annotations\" is an array that specifies information about the annotations that will be added to the document. In this example, there is only one annotation being added.\n- \"PageNumber\" specifies the page number where the annotation will be placed. In this case, it's 0 (the first page).\n- \"SectionNumber\" specifies the section of the document where the annotation will be placed. In this example, it's 0 (the first section).\n- \"AnnotationsPlacement\" is an object that contains information about the placement of the annotations on a document.\n- \"Items\" is an array that contains information about the annotation being placed. In this example, there is only one Annotation object.\n- \"$type\" specifies the type of annotation being added. In this case, it's a LineEntry, so the value for this field is \"LineEntry\".\n- \"From\" is an object containing the X and Y coordinates of the starting point of the line.\n- \"To\" is an object containing the X and Y coordinates of the ending point of the line.\n- \"Arrow\" is a boolean flag that specifies whether or not an arrow should be included at the end of the line.\n- \"Color\" is a string specifying the color of the line. In this example, it's \"Cyan\".\n- \"Rotation\" is a number that describes how many degrees clockwise the line should be rotated.\n- \"Transparent\" is a boolean flag that, when set to true, makes the line transparent.\n- \"StrokeWidth\" specifies the width of the line being drawn in pixels.\n \n\n### Response\n\nThe response from the execution of this request has a status code of 200, indicating a successful operation. The response body contains an array of annotations, with each annotation having various properties such as items, ID, section number, and page number.\n\nHere is an example of the response body structure:\n\n```\n{\n \"Annotations\": [\n {\n \"Annotation\": [\n {\n \"Items\": [\n {\n \"$type\": \"\",\n \"PngData\": \"\",\n \"DpiX\": 0,\n \"DpiY\": 0,\n \"Location\": {\n \"Left\": 0,\n \"Top\": 0,\n \"Width\": 0,\n \"Height\": 0\n },\n \"HeadFont\": {\n \"FontName\": \"\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": true,\n \"StrikeThrough\": true,\n \"FontSize\": 0,\n \"Spacing\": 0\n },\n \"Signature\": \"\",\n \"UserName\": \"\",\n \"Visible\": true,\n \"Frame\": true,\n \"ShowUser\": true,\n \"ShowDate\": true,\n \"ShowTime\": true,\n \"Created\": {\n \"User\": \"\",\n \"Time\": \"\"\n },\n \"Color\": \"\",\n \"Rotation\": 0,\n \"Transparent\": true,\n \"StrokeWidth\": 0,\n \"Id\": \"\"\n }\n ],\n \"Id\": 0\n }\n ],\n \"SectionNumber\": 0,\n \"PageNumber\": 0\n }\n ]\n}\n\n ```\n\nPlease note that the response body contains placeholder values for most of the properties. You will need to provide the actual values for these properties when making the request.\n\nTo add an annotation, you should include the necessary information in the request body. The specific structure and properties required for the annotation may vary depending on the system or platform you are using.\n\nMake sure to handle any authentication or authorization requirements before making this request." }, "response": [] }, { "name": "Add Poly Line Entry Annotation", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"PolyLineEntry\",\n \"Stroke\": {\n \"Point\": [\n {\n \"X\": 100,\n \"Y\": 2600\n },\n {\n \"X\": 1600,\n \"Y\": 2700\n },\n {\n \"X\": 100,\n \"Y\": 2800\n },\n {\n \"X\": 1600,\n \"Y\": 2900\n },\n {\n \"X\": 100,\n \"Y\": 3000\n }\n ],\n \"_do_not_use\": false\n },\n \"Color\": \"Red\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 3\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "This API endpoint allows you to add an annotation to a specific document in a file cabinet. The annotation can include various properties such as the location, font style, signature, user information, visibility, and more.\n\nTo add an annotation, make a POST request to the following endpoint:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation\n\n ```\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n- `Platform`: The platform on which the file cabinet is hosted.\n- `FileCabinetId`: The ID of the file cabinet containing the document.\n- `DocumentId`: The ID of the document.\n \n\nThe request body needs to contain an annotation object in this format:\n\n``` json\n{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"PolyLineEntry\",\n \"Stroke\": {\n \"Point\": [\n {\n \"X\": 100,\n \"Y\": 2600\n },\n {\n \"X\": 1600,\n \"Y\": 2700\n },\n {\n \"X\": 100,\n \"Y\": 2800\n },\n {\n \"X\": 1600,\n \"Y\": 2900\n },\n {\n \"X\": 100,\n \"Y\": 3000\n }\n ],\n \"_do_not_use\": false\n },\n \"Color\": \"Chocolate\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 3\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n} \n\n ```\n\nThis object specifies information about a PolyLineEntry annotation and includes an Annotations array that contains information about the annotation being added to a DocuWare document. Here are the details for each field in the object:\n\n- \"Annotations\" is an array that specifies information about the annotations that will be added to the document. In this example, there is only one annotation being added.\n- \"PageNumber\" specifies the page number where the annotation will be placed. In this example, it's 0 (the first page).\n- \"SectionNumber\" specifies the section of the document where the annotation will be placed. In this example, it's 0 (the first section).\n- \"AnnotationsPlacement\" is an object that contains information about the placement of the annotations on a document.\n- \"Items\" is an array that contains information about the annotation being placed. In this example, there is only one Annotation object.\n- \"$type\" specifies the type of annotation being used. In this case, it is a \"PolyLineEntry\".\n- \"Stroke\" is an object containing an array of points that define the lines of the polyline. \"Point\" is an array containing objects with \"X\" and \"Y\" values for each point in the polyline.\n- \"Color\" is a string specifying the color of the polyline being added. In this case, it's \"Chocolate\".\n- \"Rotation\" is a number that describes how many degrees clockwise the polyline should be rotated.\n- \"Transparent\" is a boolean flag that, when set to true, makes the polyline transparent.\n- \"StrokeWidth\" specifies the width of the line used to draw the polyline.\n \n\n### Response\n\nThe response to the request will have a status code of 200 if the annotation is successfully added. The response body will contain the details of the added annotation in JSON format. Here is an example of the response:\n\n``` json\n{\n \"Annotations\": [\n {\n \"Annotation\": [\n {\n \"Items\": [\n {\n \"$type\": \"\",\n \"PngData\": \"\",\n \"DpiX\": 0,\n \"DpiY\": 0,\n \"Location\": {\n \"Left\": 0,\n \"Top\": 0,\n \"Width\": 0,\n \"Height\": 0\n },\n \"HeadFont\": {\n \"FontName\": \"\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": true,\n \"StrikeThrough\": true,\n \"FontSize\": 0,\n \"Spacing\": 0\n },\n \"Signature\": \"\",\n \"UserName\": \"\",\n \"Visible\": true,\n \"Frame\": true,\n \"ShowUser\": true,\n \"ShowDate\": true,\n \"ShowTime\": true,\n \"Created\": {\n \"User\": \"\",\n \"Time\": \"\"\n },\n \"Color\": \"\",\n \"Rotation\": 0,\n \"Transparent\": true,\n \"StrokeWidth\": 0,\n \"Id\": \"\"\n }\n ],\n \"Id\": 0\n }\n ],\n \"SectionNumber\": 0,\n \"PageNumber\": 0\n }\n ]\n}\n\n ```\n\nThe response includes an \"Annotations\" array, which contains the added annotation. Each annotation object has an \"Items\" array, which includes the properties of the annotation such as the type, PNG data, DPI, location, font style, signature, user name, visibility, frame, and more.\n\nPlease note that the response example provided here may not include actual values for the properties, as they might be specific to the request made. Make sure to refer to the API documentation for the actual response structure and property details." }, "response": [] }, { "name": "Delete Annotation", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"DeleteEntry\",\n \"Id\": \"05e80c80-7799-4a7b-a9c4-fc21750637cc\"\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "# Add Annotation to Document\n\nThis API endpoint allows you to delete an annotation from a specific document within a file cabinet.\n\n## Request\n\nTo delete the annotation, make an HTTP POST request to the following URL: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation`.\n\n### Request Body\n\nThe request body should be in JSON format and include the following payload:\n\n``` json\n{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"\",\n \"Layer\": [\n {\n \"Id\": \"\",\n \"Items\": [\n {\n \"$type\": \"\",\n \"Id\": \"\"\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}\n\n ```\n\n### Request Parameters\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n \n- `Platform`: The platform on which the file cabinet is hosted.\n \n- `FileCabinetId`: The ID of the file cabinet containing the document.\n \n- `DocumentId`: The ID of the document.\n \n\n## Response\n\nUpon successful execution of the request, the API will return a response with a status code of 200 and the details of the created annotation in JSON format.\n\n### Response Body\n\n``` json\n{\n \"Annotations\": [\n {\n \"Annotation\": [\n {\n \"Items\": [\n {\n \"$type\": \"\",\n \"Location\": {\n \"Left\": 0,\n \"Top\": 0,\n \"Width\": 0,\n \"Height\": 0\n },\n \"Filled\": true,\n \"Ellipse\": true,\n \"Created\": {\n \"User\": \"\",\n \"Time\": \"\"\n },\n \"Color\": \"\",\n \"Rotation\": 0,\n \"Transparent\": true,\n \"StrokeWidth\": 0,\n \"Id\": \"\"\n }\n ],\n \"Id\": 0\n }\n ],\n \"SectionNumber\": 0,\n \"PageNumber\": 0\n }\n ]\n}\n\n ```" }, "response": [] }, { "name": "Update Text Annotation", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript", "packages": {} } } ], "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"Annotations\": [\n {\n \"PageNumber\": 0,\n \"SectionNumber\": 0,\n \"AnnotationsPlacement\": {\n \"Items\": [\n {\n \"$type\": \"Annotation\",\n \"Layer\": [\n {\n \"Id\": \"1\",\n \"Items\": [\n {\n \"$type\": \"TextEntry\",\n \"Font\": {\n \"FontName\": \"Lucida Console\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": false,\n \"StrikeThrough\": false,\n \"FontSize\": 200,\n \"Spacing\": 0\n },\n \"Value\": \"Updated Test Annotation\",\n \"Location\": {\n \"Left\": 100,\n \"Top\": 100,\n \"Width\": 1500,\n \"Height\": 500\n },\n \"Color\": \"Black\",\n \"Rotation\": 0,\n \"Transparent\": false,\n \"StrokeWidth\": 50,\n \"id\": \"9c45818c-f23a-4e0a-a264-c129b36b1e12\"\n }\n ]\n }\n ]\n }\n ]\n }\n }\n ]\n}", "options": { "raw": { "language": "json" } } }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "Annotation" ] }, "description": "This API endpoint allows you to add an annotation to a specific document in a file cabinet. To add an annotation, you need to send an HTTP POST request to the following endpoint: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/Annotation`.\n\n### Request Parameters\n\nThe request should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n- `Platform`: The platform on which the file cabinet is hosted.\n- `FileCabinetId`: The ID of the file cabinet containing the document.\n- `DocumentId`: The ID of the document.\n \n\nThe request should include the necessary parameters and data required to update the annotation. Please refer to the API documentation for the specific request parameters and their descriptions.\n\n### Response\n\nUpon successful execution of the request, the API will return a response with a status code of 200. The response will contain the details of the created annotation in JSON format. Here is an example of the response:\n\n```\n{\n \"Annotations\": [\n {\n \"Annotation\": [\n {\n \"Items\": [\n {\n \"$type\": \"\",\n \"PngData\": \"\",\n \"DpiX\": 0,\n \"DpiY\": 0,\n \"Location\": {\n \"Left\": 0,\n \"Top\": 0,\n \"Width\": 0,\n \"Height\": 0\n },\n \"HeadFont\": {\n \"FontName\": \"\",\n \"Bold\": true,\n \"Italic\": true,\n \"Underlined\": true,\n \"StrikeThrough\": true,\n \"FontSize\": 0,\n \"Spacing\": 0\n },\n \"Signature\": \"\",\n \"UserName\": \"\",\n \"Visible\": true,\n \"Frame\": true,\n \"ShowUser\": true,\n \"ShowDate\": true,\n \"ShowTime\": true,\n \"Created\": {\n \"User\": \"\",\n \"Time\": \"\"\n },\n \"Color\": \"\",\n \"Rotation\": 0,\n \"Transparent\": true,\n \"StrokeWidth\": 0,\n \"Id\": \"\"\n }\n ],\n \"Id\": 0\n }\n ],\n \"SectionNumber\": 0,\n \"PageNumber\": 0\n }\n ]\n}\n\n ```\n\nPlease note that the response contains the details of the created annotation, including its items, location, font style, visibility settings, creation details, and other properties. These details can be used to display or manipulate the annotation as required.\n\nMake sure to handle any potential errors or exceptions that may occur during the execution of the request and provide appropriate error handling mechanisms in your code." }, "response": [] } ], "description": "This folder provides examples of requests that handle placing annotations and stamps on documents.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "", "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { ", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documetns from a File Cabinet' request.\");", "}", "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Documents Trash Bin", "item": [ { "name": "Get Documents", "event": [ { "listen": "test", "script": { "exec": [ "var response = pm.response.json();\r", "pm.environment.set(\"DeletedDocumentId\", response.Rows[0][0])" ], "type": "text/javascript" } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "content-type": true, "accept": true } }, "request": { "method": "POST", "header": [ { "key": "accept", "value": "application/vnd.docuware.platform.documentstable+json, application/json" }, { "key": "content-type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"CompleteCondition\": null,\r\n \"Condition\": [],\r\n \"SortOrder\": [\r\n {\r\n \"Field\": \"DELETEDATETIME\",\r\n \"Direction\": \"Desc\"\r\n }\r\n ],\r\n \"ForceRefresh\": true,\r\n \"Operation\": \"And\",\r\n \"AdditionalResultFields\": [],\r\n \"Start\": 0,\r\n \"Count\": 100,\r\n \"IncludeSuggestions\": false\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/TrashBin/Query", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "TrashBin", "Query" ] }, "description": "This HTTP POST request is used to query the Trash Bin on the specified platform. The request is sent to the endpoint `{{ServerUrl}}/{{Platform}}/TrashBin/Query`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"CompleteCondition\": null,\n \"Condition\": [],\n \"SortOrder\": [\n {\n \"Field\": \"DELETEDATETIME\",\n \"Direction\": \"Desc\"\n }\n ],\n \"ForceRefresh\": true,\n \"Operation\": \"And\",\n \"AdditionalResultFields\": [],\n \"Start\": 0,\n \"Count\": 100,\n \"IncludeSuggestions\": false\n}\n\n ```\n\nThis is a JSON request body used to query the Trash Bin in DocuWare through the {{ServerUrl}}/{{Platform}}/TrashBin/Query endpoint. It includes the following key-value pairs:\n\n- \"CompleteCondition\": A null value indicating that there is no complete condition specified.\n- \"Condition\": An empty array that specifies the conditions that the documents in the Trash Bin must meet in order to be included in the results. In this case, there are no conditions specified.\n- \"SortOrder\": An array that specifies the order in which the results should be sorted. The results will be sorted first by the DELETEDATETIME field in descending order (most recent first).\n- \"Field\": A string value representing the name of the field to sort by. In this case, \"Field\" is set to \"DELETEDATETIME\".\n- \"Direction\": A string value representing the direction of the sort. In this case, \"Direction\" is set to \"Desc\" for descending order.\n- \"ForceRefresh\": A boolean value that indicates whether the server should ignore cached data and perform a fresh search. In this example, it is set to true to force a refresh.\n- \"Operation\": A string value that specifies how the conditions specified in \"Condition\" should be combined. In this example, it is set to \"And\", indicating a logical AND operation.\n- \"AdditionalResultFields\": An empty array that specifies additional document fields that should be included in the results. In this example, there are no additional result fields specified.\n- \"Start\": A numeric value representing the index of the first result to return. In this example, it is set to 0 to begin with the first result.\n- \"Count\": A numeric value representing the maximum number of results to return. In this example, it is set to 100 to limit the results to 100.\n- \"IncludeSuggestions\": A boolean value that indicates whether the server should include suggestions for the query. In this example, it is set to false to exclude suggestions.\n \n\n### Response\n\nThe response for the execution of this request has a status code of 200, indicating a successful response. The response body includs the following information:\n\n- `TimeStamp`: The timestamp of the response.\n- `Count`: An object containing information about the count of items in the Trash Bin.\n - `HasMore`: A boolean value indicating if there are more items in the Trash Bin.\n - `ExceedLimit`: A boolean value indicating if the count of items exceeds a limit.\n - `Value`: The count value of items in the Trash Bin.\n- `Headers`: An array of objects representing the headers of the response.\n - `FieldName`: The name of the header field.\n - `Type`: The type of the header.\n - `Label`: The label of the header.\n- `Rows`: An array containing the rows of data returned by the query. Each row is represented as an array of values.\n- `Links`: An array of objects representing links related to the response.\n - `rel`: The relationship of the link.\n - `href`: The URL of the link.\n - `type`: The type of the link.\n\nHere is an example response for this request:\n\n```\n{\n \"TimeStamp\": \"\",\n \"Count\": {\n \"HasMore\": true,\n \"ExceedLimit\": true,\n \"Value\": 0\n },\n \"Headers\": [\n {\n \"FieldName\": \"\",\n \"Type\": \"\",\n \"Label\": \"\"\n }\n ],\n \"Rows\": [\n [\"\"]\n ],\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\",\n \"type\": null\n }\n ]\n}\n\n ```\n\nPlease note that the actual values in the response may vary and the example provided here is for illustrative purposes only." }, "response": [] }, { "name": "Delete Documents", "event": [ { "listen": "test", "script": { "exec": [ "pm.environment.set(\"DeletedDocumentId\", \"\");" ], "type": "text/javascript" } }, { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"DeletedDocumentId\") === false || pm.environment.get(\"DeletedDocumentId\") === \"\") { \r", " throw new Error(\"DeletedDocumentId is empty or does not exist. Please ensure it exists and run the 'Documents Trash Bin -> Get Documents' request.\");\r", "}" ], "type": "text/javascript" } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "content-type": true, "accept": true } }, "request": { "method": "POST", "header": [ { "key": "accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "content-type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"Id\": [\r\n \"{{DeletedDocumentId}}\"\r\n ]\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/TrashBin/BatchDelete", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "TrashBin", "BatchDelete" ] }, "description": "This API endpoint allows you to delete multiple items from the trash bin in the specified platform. The items to be deleted are sent in the request body.\n\nTo delete multiple items, send an HTTP POST request to `{{ServerUrl}}/{{Platform}}/TrashBin/BatchDelete`.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Id\": [\n \"tr_e44651fb-bcd8-4606-9fcf-f380a34e6f8d-488\"\n ]\n}\n\n ```\n\nThis is a JSON request body used to restore one or more deleted documents from the Trash Bin in DocuWare through the {{ServerUrl}}/{{Platform}}/TrashBin/BatchDelete endpoint. It includes the following key-value pairs:\n\n- \"Id\": An array of string values representing the IDs of the documents to be deleted. In this example, the array contains one document ID: \"tr_e44651fb-bcd8-4606-9fcf-f380a34e6f8d-488\". \n The \"Id\" array can include multiple document IDs if you want to delete multiple documents in a batch. Note that in order to delete a document, the corresponding file cabinet and organization must still exist and the user must have sufficient permissions to perform the operation.\n \n\n### Response\n\n```\nThe API will respond with a JSON object containing the following properties:\n\n ```\n\n- `FailedItems` (array): An array of objects representing the items that failed to be deleted. Each object will have the following properties:\n - `Id` (string): The unique identifier of the failed item.\n - `ErrorMessage` (string): An error message explaining why the deletion failed.\n- `SuccessCount` (integer): The number of items successfully deleted.\n \n\n### Examples\n\nExample 1: Failed deletion of items\n\n```\n{\n \"FailedItems\": [\n {\n \"Id\": \"item1\",\n \"ErrorMessage\": \"Failed to delete item1\"\n },\n {\n \"Id\": \"item2\",\n \"ErrorMessage\": \"Failed to delete item2\"\n }\n ],\n \"SuccessCount\": 0\n}\n\n ```\n\nExample 2: Successful deletion of items\n\n```\n{\n \"FailedItems\": [],\n \"SuccessCount\": 2\n}\n\n ```\n\nPlease note that the actual response may vary based on the specific platform and server configuration." }, "response": [] }, { "name": "Restore Documents", "event": [ { "listen": "test", "script": { "exec": [ "pm.environment.set(\"DeletedDocumentId\", \"\");" ], "type": "text/javascript" } }, { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"DeletedDocumentId\") === false || pm.environment.get(\"DeletedDocumentId\") === \"\") { \r", " throw new Error(\"DeletedDocumentId is empty or does not exist. Please ensure it exists and run the 'Documents Trash Bin -> Get Documents' request.\");\r", "}" ], "type": "text/javascript" } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "content-type": true, "accept": true } }, "request": { "method": "POST", "header": [ { "key": "accept", "value": "application/json, text/javascript, */*; q=0.01" }, { "key": "content-type", "value": "application/json" } ], "body": { "mode": "raw", "raw": "{\r\n \"Id\": [\r\n \"{{DeletedDocumentId}}\"\r\n ]\r\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/TrashBin/BatchRestore", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "TrashBin", "BatchRestore" ] }, "description": "This API endpoint allows you to restore multiple items from the trash bin in the specified platform. The items to be restored are sent in the request body.\n\nTo restore multiple items, make a POST request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/TrashBin/BatchRestore\n\n ```\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"Id\": [\n \"tr_e44651fb-bcd8-4606-9fcf-f380a34e6f8d-484\"\n ]\n}\n\n ```\n\nThis is a JSON request body used to restore one or more deleted documents from the Trash Bin in DocuWare through the {{ServerUrl}}/{{Platform}}/TrashBin/BatchRestore endpoint. It includes the following key-value pairs:\n\n- \"Id\": An array of string values representing the IDs of the documents to be restored. In this example, the array contains one document ID: \"tr_e44651fb-bcd8-4606-9fcf-f380a34e6f8d-484\". \n The \"Id\" array can include multiple document IDs if you want to restore multiple documents in a batch. Note that in order to restore a document, the corresponding file cabinet and organization must still exist and the user must have sufficient permissions to perform the operation.\n \n\n### Response\n\nThe response will contain information about the success or failure of the restoration process. The response body will have the following structure:\n\n``` json\n{\n \"FailedItems\": [\n {\n \"Id\": \"item_id\",\n \"ErrorMessage\": \"error_message\"\n },\n ...\n ],\n \"SuccessCount\": success_count\n}\n\n ```\n\nThe `FailedItems` array will contain objects representing the items that failed to be restored. Each object will have an `Id` property, which is the ID of the failed item, and an `ErrorMessage` property, which provides information about the error that occurred during the restoration process.\n\nThe `SuccessCount` property will indicate the number of items that were successfully restored.\n\n#### Example\n\nRequest body:\n\n``` json\n{\n \"itemIds\": [\"item_id1\", \"item_id2\"]\n}\n\n ```\n\nResponse body:\n\n``` json\n{\n \"FailedItems\": [\n {\n \"Id\": \"item_id1\",\n \"ErrorMessage\": \"Error message for item_id1\"\n }\n ],\n \"SuccessCount\": 1\n}\n\n ```\n\nIn this example, one item failed to be restored with the ID \"item_id1\", and the success count is 1." }, "response": [] } ], "description": "This folder provides examples of requests that handle sending and retrieving documents from the trash bin." }, { "name": "Application Properties", "item": [ { "name": "Get Application Properties", "protocolProfileBehavior": { "disableBodyPruning": true }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "DocumentApplicationProperties" ] }, "description": "This API endpoint allows you to retrieve document application properties to a specific document in a file cabinet.\n\nTo retrieve a document application property, you need to make an HTTP POST request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties\n\n ```\n\nThe request should include the necessary parameters and their values.\n\nThe response to the request will have a status code of 200, indicating a successful operation. The response body will contain a JSON object with the following structure:\n\n``` json\n{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"\",\n \"Value\": \"\"\n }\n ]\n}\n\n ```\n\nThe `DocumentApplicationProperty` array will contain the newly added document application property. Each property will have a `Name` and `Value` field, which can be used to identify and retrieve the property in future requests.\n\nPlease note that you need to replace the placeholders `{{ServerUrl}}`, `{{Platform}}`, `{{FileCabinetId}}`, and `{{DocumentId}}` with the actual values specific to your use case.\n\nMake sure to include the necessary authentication headers and provide the required permissions to access and modify the document application properties." }, "response": [] }, { "name": "Add Application Properties", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"Key1\",\n \"Value\": \"Key 1 Value\"\n },\n {\n \"Name\": \"Key2\",\n \"Value\": \"Key 2 Value\"\n }\n ]\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "DocumentApplicationProperties" ] }, "description": "This API endpoint allows you to add document application properties to a specific document in a file cabinet.\n\nTo add a document application property, you need to make an HTTP POST request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties\n\n ```\n\nThe request should include the necessary parameters and their values.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- DocumentId: The ID of the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"Key1\",\n \"Value\": \"Key 1 Value\"\n },\n {\n \"Name\": \"Key2\",\n \"Value\": \"Key 2 Value\"\n }\n ]\n}\n\n ```\n\nThis is a JSON request body used to set or update the custom document application properties associated with a document in DocuWare through the {{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties endpoint. It includes the following key-value pairs:\n\n- \"DocumentApplicationProperty\": An array of objects representing the custom document application properties to be updated. In this example, the array contains two properties: \"Key1\" and \"Key2\".\n \n - \"Name\": A string value representing the name of the property. In this example, the first property's Name is set to \"Key1\".\n \n - \"Value\": A string value representing the value of the property. In this example, the first property's Value is set to \"Key 1 Value\".\n \n\nThe \"DocumentApplicationProperty\" array can include multiple key-value pairs if you want to update multiple custom document application properties at once. Note that any existing custom document application properties not included in the request will remain unchanged. \nCustom document application properties can be used to store additional information about a document beyond the standard metadata fields in DocuWare. They can also be used to implement custom workflow and business logic.\n\n### Response\n\nThe response to the request will have a status code of 200, indicating a successful operation. The response body will contain a JSON object with the following structure:\n\n``` json\n{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"\",\n \"Value\": \"\"\n }\n ]\n}\n\n ```\n\nThe `DocumentApplicationProperty` array will contain the newly added document application property. Each property will have a `Name` and `Value` field, which can be used to identify and retrieve the property in future requests.\n\nPlease note that you need to replace the placeholders `{{ServerUrl}}`, `{{Platform}}`, `{{FileCabinetId}}`, and `{{DocumentId}}` with the actual values specific to your use case.\n\nMake sure to include the necessary authentication headers and provide the required permissions to access and modify the document application properties." }, "response": [] }, { "name": "Delete Application Properties", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"Key2\",\n \"Value\": \"\"\n }\n ]\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "DocumentApplicationProperties" ] }, "description": "This API endpoint allows you to remove document application properties to a specific document in a file cabinet.\n\nTo remove a document application property, send an HTTP POST request to the following endpoint:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties\n\n ```\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- DocumentId: The ID of the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"Key2\",\n \"Value\": \"\"\n }\n ]\n}\n\n ```\n\nThis is a JSON request body used to delete a custom document application property associated with a document in DocuWare through the {{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties endpoint. It includes the following key-value pairs:\n\n- \"DocumentApplicationProperty\": An array of objects representing the custom document application properties to be deleted. In this example, the array contains one property: \"Key2\".\n \n - \"Name\": A string value representing the name of the property. In this example, the property to be deleted is identified by its Name being set to \"Key2\".\n \n - \"Value\": A null or empty string value, which effectively deletes the existing value of the property.\n \n\nNote that this request will only delete the \"Key2\" custom document application property, any other custom properties will remain unchanged. Also, if a custom document application property that doesn't exists is passed in the request, it will not change the existing document.\n\n### Response\n\nThe API will respond with a status code of 200 if the document application property is successfully removed. The response body will be in the following format:\n\n``` json\n{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"\",\n \"Value\": \"\"\n }\n ]\n}\n\n ```\n\nPlease note that the values for `Name` and `Value` will be empty in the response.\n\nMake sure to replace the placeholders (`{{ServerUrl}}`, `{{Platform}}`, `{{FileCabinetId}}`, and `{{DocumentId}}`) in the endpoint URL with the actual values specific to your application." }, "response": [] }, { "name": "Update Application Properties", "request": { "method": "POST", "header": [ { "key": "Accept", "value": "application/json", "type": "text" }, { "key": "Content-Type", "value": "application/json", "type": "text" } ], "body": { "mode": "raw", "raw": "{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"Key1\",\n \"Value\": \"Key 1 Value Updated\"\n },\n {\n \"Name\": \"Key2\",\n \"Value\": \"Key 2 Value Updated\"\n }\n\n ]\n}" }, "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "DocumentApplicationProperties" ] }, "description": "This API endpoint allows you to change document application properties to a specific document in a file cabinet.\n\nTo change document application properties, make an HTTP POST request to the following endpoint:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties\n\n ```\n\nThe request should include the necessary parameters and values.\n\n### Request Parameters\n\nThe request URL should include the following parameters:\n\n- ServerUrl: The URL of the server hosting the file cabinet.\n- Platform: The platform on which the file cabinet is hosted.\n- FileCabinetId: The ID of the file cabinet containing the document.\n- DocumentId: The ID of the document.\n \n\nThe request body needs to contain an object in this format:\n\n``` json\n{\n \"DocumentApplicationProperty\": [\n {\n \"Name\": \"Key1\",\n \"Value\": \"Key 1 Value Updated\"\n },\n {\n \"Name\": \"Key2\",\n \"Value\": \"Key 2 Value Updated\"\n }\n ]\n}\n\n ```\n\nThis is a JSON request body used to update the values of existing custom document application properties associated with a document in DocuWare through the {{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/DocumentApplicationProperties endpoint. It includes the following key-value pairs:\n\n- \"DocumentApplicationProperty\": An array of objects representing the custom document application properties to be updated. In this example, the array contains two properties: \"Key1\" and \"Key2\".\n - \"Name\": A string value representing the name of the property. In this example, the first property's Name is set to \"Key1\".\n - \"Value\": A string value representing the new value of the property. In this example, the first property's Value is set to \"Key 1 Value Updated\".\n\nThe \"DocumentApplicationProperty\" array can include multiple key-value pairs if you want to update multiple custom document application properties at once. Note that any existing custom document application properties not included in the request will remain unchanged.\n\nCustom document application properties can be used to store additional information about a document beyond the standard metadata fields in DocuWare. They can also be used to implement custom workflow and business logic that\n\n### Response\n\nThe response will have a status code of 200, indicating a successful request. The response body will contain an array of document application properties, with each property having a \"Name\" and \"Value\" field.\n\nPlease note that the specific values for the \"Name\" and \"Value\" fields were not provided in the example response. You will need to provide the appropriate values based on your use case.\n\nMake sure to handle any errors or exceptions that may occur during the request and response process." }, "response": [] } ], "description": "This folder provides examples of requests that handle the application properties for a document.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "", "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { ", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documetns from a File Cabinet' request.\");", "}" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Sections", "item": [ { "name": "Get All Sections from a Document", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { \r", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documetns from a File Cabinet' request.\");\r", "}" ], "type": "text/javascript" } }, { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "var firstSection = response.Section[0];\r", "pm.environment.set(\"SectionId\", firstSection.Id);" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections?DocId={{DocumentId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Sections" ], "query": [ { "key": "DocId", "value": "{{DocumentId}}" } ] }, "description": "This API endpoint allows you to retrieve the sections of a specific file cabinet document.\n\nTo make a request, send an HTTP GET request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections?DocId={{DocumentId}}\n\n ```\n\nReplace `{{ServerUrl}}` with the base URL of the server, `{{Platform}}` with the platform name, `{{FileCabinetId}}` with the ID of the file cabinet, and `{{DocumentId}}` with the ID of the document you want to retrieve the sections for.\n\nThe response will have a status code of 200 if the request is successful. The response body will contain an array of sections, each represented by an object with the following properties:\n\n- `SignatureStatus` (array): An array of signature statuses for the section.\n- `Pages` (object): An object containing information about the pages of the section.\n- `Thumbnails` (object): An object containing information about the thumbnails of the section.\n- `Links` (array): An array of links related to the section.\n- `Id` (string): The ID of the section.\n- `ContentType` (string): The content type of the section.\n- `HaveMorePages` (boolean): Indicates whether there are more pages in the section.\n- `PageCount` (number): The total number of pages in the section.\n- `FileSize` (number): The size of the section file.\n- `OriginalFileName` (string): The original file name of the section.\n- `ContentModified` (string): The date and time when the section content was last modified.\n- `HasTextAnnotation` (boolean): Indicates whether the section has text annotations.\n- `AnnotationsPreview` (boolean): Indicates whether the section has an annotations preview.\n \n\nPlease note that the specific values in the response may vary and should not be relied upon for documentation purposes." }, "response": [] }, { "name": "Get a Specific Section", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"SectionId\") === false || pm.environment.get(\"SectionId\") === \"\") { \r", " throw new Error(\"SectionId is empty or does not exist. Please ensure it exists and run the 'Get Sections from a Document' request.\");\r", "}" ], "type": "text/javascript" } } ], "protocolProfileBehavior": { "disabledSystemHeaders": { "accept": true } }, "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections/{{SectionId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Sections", "{{SectionId}}" ] }, "description": "This endpoint retrieves information about a specific section of a document within a file cabinet on the specified platform.\n\n## Request\n\n### HTTP Request Method\n\nGET\n\n### URL\n\n`{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections/{{SectionId}}`\n\n### Request Body\n\nThis request does not require a request body.\n\n## Response\n\n### Status\n\nThe request returns a status code of 200 if successful.\n\n### Response Body\n\nThe response body contains the following information:\n\n- `SignatureStatus`: An array indicating the signature status.\n- `Pages`: An object containing an array of pages and links related to the pages.\n- `Thumbnails`: An object containing an array of thumbnails and links related to the thumbnails.\n- `Links`: An array of links related to the section.\n- `Id`: The ID of the section.\n- `ContentType`: The content type of the section.\n- `HaveMorePages`: A boolean indicating if there are more pages available.\n- `PageCount`: The count of pages in the section.\n- `FileSize`: The size of the file.\n- `OriginalFileName`: The original file name.\n- `ContentModified`: The modified date of the content.\n- `HasTextAnnotation`: A boolean indicating if the section has text annotation.\n- `AnnotationsPreview`: A boolean indicating if annotations preview is available.\n \n\n## Example\n\n``` json\n{\n \"SignatureStatus\": [\"\"],\n \"Pages\": {\n \"Page\": [],\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ]\n },\n \"Thumbnails\": {\n \"Page\": [],\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ]\n },\n \"Links\": [\n {\n \"rel\": \"\",\n \"href\": \"\"\n }\n ],\n \"Id\": \"\",\n \"ContentType\": \"\",\n \"HaveMorePages\": true,\n \"PageCount\": 0,\n \"FileSize\": 0,\n \"OriginalFileName\": \"\",\n \"ContentModified\": \"\",\n \"HasTextAnnotation\": true,\n \"AnnotationsPreview\": true\n}\n\n ```" }, "response": [] }, { "name": "Delete Section", "event": [ { "listen": "prerequest", "script": { "exec": [ "" ], "type": "text/javascript" } }, { "listen": "test", "script": { "exec": [ "pm.environment.set(\"SectionId\", \"\");" ], "type": "text/javascript" } } ], "request": { "method": "DELETE", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections/{{SectionId}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Sections", "{{SectionId}}" ] }, "description": "This HTTP DELETE request is used to delete a specific section from a file cabinet in the specified platform. The request URL should be in the format `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections/{{SectionId}}`.\n\n### Request Parameters\n\n- `ServerUrl` (required): The URL of the server.\n- `Platform` (required): The platform on which the file cabinet exists.\n- `FileCabinetId` (required): The unique identifier of the file cabinet.\n- `SectionId` (required): The unique identifier of the section to be deleted.\n \n\n### Response\n\nThe response will have a status code of 200 if the section is successfully deleted. The response body will be empty." }, "response": [] } ], "description": "This folder provides examples of requests that handle document sections.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }, { "name": "Download", "item": [ { "name": "Download Document", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"DocumentId\") === false || pm.environment.get(\"DocumentId\") === \"\") { \r", " throw new Error(\"DocumentId is empty or does not exist. Please ensure it exists and run the 'Get Documetns from a File Cabinet' request.\");\r", "}" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/FileDownload?TargetFileType=Auto&KeepAnnotations=false", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "FileDownload" ], "query": [ { "key": "TargetFileType", "value": "Auto", "description": "The format to download the document in. Valid values are \"Auto\", \"PDF\", \"Original\"." }, { "key": "KeepAnnotations", "value": "false", "description": "Indicates if the document should be downloaded with annotations. This only applies to documents download in PDF format." } ] }, "description": "This API endpoint is used to download a file from a specific document in a file cabinet. The file is downloaded in the format specified by the \"TargetFileType\" parameter.\n\nTo download a file, make a GET request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/FileDownload?TargetFileType=Auto&KeepAnnotations=false\n\n ```\n\nThe request should include the following parameters:\n\n- `ServerUrl`: The URL of the server hosting the file cabinet.\n- `Platform`: The platform on which the file cabinet is hosted.\n- `FileCabinetId`: The ID of the file cabinet containing the document.\n- `DocumentId`: The ID of the document from which the file should be downloaded.\n- `TargetFileType` (optional): The desired file format of the downloaded file. If not specified, the file will be downloaded in the default format.\n- `KeepAnnotations` (optional): A boolean value indicating whether to keep annotations in the downloaded file. If set to `false`, annotations will be removed from the file. If not specified, annotations will be kept in the file.\n \n\nThe response to this request will be the downloaded file. The response status code will be 200 if the file was successfully downloaded.\n\nPlease note that the response provided in the execution is null, which means that no specific information about the downloaded file is available. The content of the downloaded file will vary depending on the document and file cabinet configuration." }, "response": [] }, { "name": "Download Section", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"SectionId\") === false || pm.environment.get(\"SectionId\") === \"\") { \r", " throw new Error(\"SectionId is empty or does not exist. Please ensure it exists and run the 'Get Sections from a Document' request.\");\r", "}" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections/{{SectionId}}/Data", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Sections", "{{SectionId}}", "Data" ] }, "description": "This HTTP GET request is used to retrieve data from a specific section in a file cabinet. The request should be made to the following endpoint: `{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Sections/{{SectionId}}/Data`.\n\n### Request Parameters\n\n- `ServerUrl` (string): The URL of the server.\n- `Platform` (string): The platform on which the file cabinet is hosted.\n- `FileCabinetId` (string): The unique identifier of the file cabinet.\n- `SectionId` (string): The unique identifier of the section within the file cabinet.\n \n\n### Response\n\nThe response to this request will have a status code of 200, indicating a successful request. However, the response body is `null`, which means that no data was returned for the specified section in the file cabinet.\n\nPlease note that the response body may contain different data depending on the specific section and file cabinet being accessed." }, "response": [] }, { "name": "Download Thumbnail", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"SectionId\") === false || pm.environment.get(\"SectionId\") === \"\") { \r", " throw new Error(\"SectionId is empty or does not exist. Please ensure it exists and run the 'Get Sections from a Document' request.\");\r", "}" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Rendering/{{SectionId}}/Thumbnail?Page={{Page}}", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Rendering", "{{SectionId}}", "Thumbnail" ], "query": [ { "key": "Page", "value": "{{Page}}", "description": "The page number to download thumbnails for." } ] }, "description": "This API endpoint is used to retrieve a thumbnail image of a specific section within a file cabinet in the specified platform. The thumbnail image represents a specific page within the section.\n\nTo make a request, you need to provide the following parameters in the URL path:\n\n- `ServerUrl`: The URL of the server where the platform is hosted.\n- `Platform`: The name or identifier of the platform.\n- `FileCabinetId`: The unique identifier of the file cabinet.\n- `SectionId`: The unique identifier of the section within the file cabinet.\n- `Page`: The page number for which you want to retrieve the thumbnail image.\n \n\nThe HTTP method used for this request is GET.\n\nThe execution of this request returns a response with a status code of 200. However, the response body was null, indicating that no data was returned.\n\nPlease note that the response body may contain the thumbnail image data in a different execution, but in this particular case, it is empty.\n\nMake sure to handle the response appropriately based on the status code and the actual response body received." }, "response": [] } ], "description": "This folder provides examples of requests related to downloading documents.", "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "if (pm.environment.has(\"FileCabinetId\") === false || pm.environment.get(\"FileCabinetId\") === \"\") { ", " throw new Error(\"FileCabinetId is empty or does not exist. Please ensure it exists and run the 'Get All File Cabinets and Document Trays' request.\");", "}", "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] } ], "description": "This folder provides examples of requests that perform document level functions." }, { "name": "Workflow", "item": [ { "name": "Get Document Workflow History", "event": [ { "listen": "test", "script": { "exec": [ "const response = pm.response.json();\r", "pm.environment.set(\"WorkflowId\", response.InstanceHistory[0].WorkflowId);\r", "pm.environment.set(\"WorkflowInstanceId\", response.InstanceHistory[0].Id);\r", "\r", "" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/WorkflowHistory", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "FileCabinets", "{{FileCabinetId}}", "Documents", "{{DocumentId}}", "WorkflowHistory" ] }, "description": "This API endpoint retrieves the workflow history of a specific document in a file cabinet. The workflow history provides information about the various actions and steps that have been taken on the document within the workflow process.\n\nTo retrieve the workflow history, make an HTTP GET request to the following URL:\n\n```\n{{ServerUrl}}/{{Platform}}/FileCabinets/{{FileCabinetId}}/Documents/{{DocumentId}}/WorkflowHistory\n\n ```\n\nReplace `{{ServerUrl}}` with the base URL of the server, `{{Platform}}` with the platform version, `{{FileCabinetId}}` with the ID of the file cabinet, and `{{DocumentId}}` with the ID of the document.\n\nThe response to this request will have a status code of 200, indicating a successful request. The response will be in XML format and will contain the workflow document history. However, the provided response does not contain any specific information about the workflow history.\n\nPlease note that this endpoint requires proper authentication and authorization to access the workflow history of a document." }, "response": [] }, { "name": "Get Document Workflow History Steps", "event": [ { "listen": "prerequest", "script": { "exec": [ "if (pm.environment.has(\"WorkflowId\") === false || pm.environment.get(\"WorkflowId\") === \"\") { \r", " throw new Error(\"WorkflowId is empty or does not exist. Please ensure it exists and run the 'Get Document Workflow History' request on a valid document.\");\r", "}\r", "\r", "if (pm.environment.has(\"WorkflowInstanceId\") === false || pm.environment.get(\"WorkflowInstanceId\") === \"\") { \r", " throw new Error(\"WorkflowInstanceId is empty or does not exist. Please ensure it exists and run the 'Get Document Workflow History' request on a valid document.\");\r", "}" ], "type": "text/javascript" } } ], "request": { "method": "GET", "header": [ { "key": "Accept", "value": "application/json", "type": "text" } ], "url": { "raw": "{{ServerUrl}}/{{Platform}}/Workflows/{{WorkflowId}}/Instances/{{WorkflowInstanceId}}/History", "host": [ "{{ServerUrl}}" ], "path": [ "{{Platform}}", "Workflows", "{{WorkflowId}}", "Instances", "{{WorkflowInstanceId}}", "History" ] }, "description": "This endpoint retrieves the history of a specific workflow instance. The request should be sent to {{ServerUrl}}/{{Platform}}/Workflows/29341189-7564-4194-ba2c-33963f41891f/Instances/b13d1794-b4b7-5e99-91d9-0bcaa13036f3/History using an HTTP GET method.\n\nThe response will include a JSON document containing details such as the workflow ID, instance name, version, and a list of historical steps including activity names, types, and dates.\n\nAdditionally, it provides information about the parameters and results of each historical step." }, "response": [] } ], "description": "This section provides examples of requests related to a documents workflow history" } ], "auth": { "type": "bearer", "bearer": [ { "key": "token", "value": "{{AccessToken}}", "type": "string" } ] }, "event": [ { "listen": "prerequest", "script": { "type": "text/javascript", "exec": [ "" ] } }, { "listen": "test", "script": { "type": "text/javascript", "exec": [ "" ] } } ] }