{ "openapi": "3.0.0", "info": { "title": "The Conga IDD REST API Documentation", "description": "Welcome to the IDD REST API Documention. You can find out more about IDD at the [Conga IDD website](<insert link>). In order to explore the REST API you need a API key and a valid tenant registered with MAX.", "termsOfService": "https://apttus.com/company/legal/apttus-general-terms-of-use/", "contact": { "email": "maxcustomersupport@conga.com" }, "version": "1.0.0" }, "servers": [ { "url": "https://maxazdev.apttuscloud.io/idd/api/v1", "description": "IDD API" } ], "tags": [ { "name": "Config Discovery and Management", "description": "Provider and Mapping" }, { "name": "Document Analysis", "description": "Intelligent Import" } ], "paths": { "/{tenantId}/config/registerprovider": { "post": { "tags": [ "Config Discovery and Management" ], "summary": "Register Provider", "description": "Saves provider details in IDD. provider, providerSpecifics.version, providerUrl and kira token (passed as bearer token) are used by other APIs by dipping into the IDD cache/DB.", "operationId": "registerprovider", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "Instance url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "requestBody": { "$ref": "#/components/requestBodies/registerProvider" }, "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request" }, "404": { "description": "Server Not Found" }, "500": { "description": "Internal Server Error" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/config/retrieveprovider": { "get": { "tags": [ "Config Discovery and Management" ], "summary": "Retrieve Provider", "description": "Fetches the saved provider details from IDD. Uses tenantId, instanceurl and proovider as query to fetch the provider from IDD cache/DB.", "operationId": "retrieveprovider", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "Instance url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "x-content-type": "application/json", "$ref": "#/components/schemas/storedProviderInfo" } } } }, "400": { "description": "Invalid tenantId supplied" }, "404": { "description": "Tenant not found" } }, "security": [ { "APIKeyAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/config/testconnection": { "get": { "tags": [ "Config Discovery and Management" ], "summary": "Test Connection to Kira", "description": "Pings kira to check kira url provided by the user. Requires kira Token to be sent as bearer token.", "operationId": "testconnection", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "Instance url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "kiraurl", "in": "query", "description": "kira url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://ca.app.kirasystems.com/platform-api/" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK" }, "400": { "description": "Bad Request" }, "404": { "description": "Server Not Found" }, "500": { "description": "Internal Server Error" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/config/syncprovisions": { "get": { "tags": [ "Config Discovery and Management" ], "summary": "Sync Provisions from Kira", "description": "Fetches kira token, url and version using retrieveProvider API. Makes a call to kira to get the latest kira provisions and stores as hashmap in IDD. If provision mapping array exists in the IDD, it is restored to the same kira field id as a part of the new set of kira provisions.", "operationId": "syncprovisions", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "instance url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/provisions" } } } }, "400": { "description": "Invalid tenantId supplied" }, "404": { "description": "Tenant not found" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/config/getprovisions": { "get": { "tags": [ "Config Discovery and Management" ], "summary": "Get Provisions to Add", "description": "gets all kira provisions from IDD with mappings from projects", "operationId": "getprovisions", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "instance url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "provider", "in": "query", "description": "provider", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "kira" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/getProvisions" } } } }, "400": { "description": "Invalid tenantId supplied" }, "404": { "description": "Tenant not found" } }, "security": [ { "APIKeyAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/config/createprovisionmap": { "post": { "tags": [ "Config Discovery and Management" ], "summary": "Create Provision Map", "description": "Creates provision map in provision maps table within IDD using the details given by user. The table contains unique recordtypes, tenant and instanceurl. Makes kira API call to get the project_id from the given project_name. Another kira api call creates the template_id and adds field ids provided by the user into kira. A project, default worksheet with fields are created in kira. If syncProvisions is enabled then field mappings from syncProvisionIds is also added into the kira provisions table in IDD.", "operationId": "createprovisionmap", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "instance Url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "requestBody": { "$ref": "#/components/requestBodies/createProvisionMap" }, "responses": { "200": { "description": "OK" }, "400": { "description": "Invalid tenantId supplied" }, "404": { "description": "Tenant not found" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/config/getprovisionmap": { "get": { "tags": [ "Config Discovery and Management" ], "summary": "Get Provision Map", "description": "Gets provision map from provision maps table within IDD using the recordtype given by user.", "operationId": "getprovisionmap", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "instance Url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "recordtype", "in": "query", "description": "Record Type", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "NDA" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/getProvisionMap" } } } }, "400": { "description": "Invalid tenantId supplied" }, "404": { "description": "Tenant not found" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/config/editprovisionmap": { "post": { "tags": [ "Config Discovery and Management" ], "summary": "Edit Provision Map", "description": "Edits provision map from provision maps table within IDD using the details given by user. Fetches privder details from retrieve provider api. Fetches provision map details from get provision map api call. Makes kira API call to update the project_name from the given project_id (fetched from IDD). Another kira api call updates the field ids associated with the given template_id. If syncProvisions is enabled then field mappings from syncProvisionIds is also edited within the kira provisions table in IDD.", "operationId": "editprovisionmap", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "instance url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "recordtype", "in": "query", "description": "Record Type", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "NDA" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "requestBody": { "required": true, "$ref": "#/components/requestBodies/editProvisionMap" }, "responses": { "200": { "description": "OK" }, "400": { "description": "Invalid Request Params" }, "404": { "description": "Record Not Found" }, "500": { "description": "Internal Server Error" } }, "security": [ { "APIKeyAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/config/deleteprovisionmap": { "delete": { "tags": [ "Config Discovery and Management" ], "summary": "Delete Provision Map", "description": "Deletes provision map in the provisions table within IDD. Fetches provider details using retreive provider api. Fetches provision map info using get provision map api. Makes a kira call to delete the project from the project_id (fetched via the api).", "operationId": "deleteprovisionmap", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string", "example": "max" } }, { "name": "instanceurl", "in": "query", "description": "instance url", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "https://www.conga.com" } }, { "name": "recordtype", "in": "query", "description": "Record Type", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "NDA" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK" }, "400": { "description": "Invalid params" }, "404": { "description": "Project not found" }, "500": { "description": "Internal Server Error" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "ConfigDiscoveryAndManagement" } }, "/{tenantId}/analyze/uploadinfo": { "get": { "tags": [ "Document Analysis" ], "summary": "Get the information to make an upload request", "description": "Retrieves the request details needed to make an upload directly to the provider. This is used primarily for small files.", "operationId": "uploadinfoGet", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "recordtype", "in": "query", "description": "Record type", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "instanceurl", "in": "query", "description": "Instance URL", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/uploadInfoResult" } } } }, "500": { "description": "Unable to retrieve data" } }, "security": [ { "APIKeyAuth": [] } ], "x-swagger-router-controller": "DocumentAnalysis" }, "post": { "tags": [ "Document Analysis" ], "summary": "Send provider's upload information (job id/document id) or send file information for IDD to do the upload", "description": "<p>Collects job/document information if an upload is done manually. Or, will do the upload internally.<br><i>See the types of inputs in the request body description.</i></p><p>For requests with automatic notification enabled (i.e., notificationInfo object is included in request), then in the notification, the request body will look like the below:<UL><LI>status: complete,<LI>responseBody:<UL><LI>is_extracted: true,<LI>language: English,<LI>scan_quality: A,<LI>is_scanned: true,<LI>page_count: 10,<LI>error_code: 0,<LI>jobId: 412455,<LI>documentId: 86453,<LI>projectId: 625</UL></UL></p>", "operationId": "uploadinfoPost", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "resumable", "in": "query", "description": "Set to 'true' if you want to upload documents using the resumable API", "required": false, "style": "form", "explode": false, "schema": { "type": "string", "example": false } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "requestBody": { "$ref": "#/components/requestBodies/uploadInfoRequest" }, "responses": { "200": { "description": "OK <p>The information was received (when request body is of type uploadJobInfo or uploadJobInfoWithNotification). Or, if the request body is of type uploadDocumentInfo, then the file was downloaded successfully and automatic polling has begun.</p>" }, "500": { "description": "Invalid request" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "DocumentAnalysis" } }, "/{tenantId}/analyze/status": { "get": { "tags": [ "Document Analysis" ], "summary": "Job status information", "description": "Retrieves the job status from the provider.", "operationId": "status", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "jobid", "in": "query", "description": "Job ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "documentid", "in": "query", "description": "Document ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "context", "in": "query", "description": "Stringified form of JSON representing the context from IDD", "required": true, "schema": { "type": "string" }, "explode": true, "example": { "recordType": "NDA", "projectId": "557", "instanceUrl": "https://www.conga.com" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "In progress", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/jobStatusInProgress" } } } }, "303": { "description": "Complete", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/jobStatusComplete" } } } }, "403": { "description": "Job access denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeJobDeniedError" } } } }, "404": { "description": "Job does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeJobDoesNotExistError" } } } }, "410": { "description": "Job information unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeJobUnavailableError" } } } }, "500": { "description": "Internal error" } }, "security": [ { "APIKeyAuth": [] } ], "x-swagger-router-controller": "DocumentAnalysis" }, "post": { "tags": [ "Document Analysis" ], "summary": "Job status information with automatic notification upon completion", "description": "<p>Retrieves the status information for the job/document given.</p><p>For requests with automatic notification enabled (i.e., notificationInfo object is included in request), then in the notification, the request body will look like the below:<UL><LI>status: complete,<LI>responseBody:<UL><LI>is_successful: true,<LI>redirect_href: https://ca.app.kirasystems.com/platform-api/v1/downloads/3625/files,<LI>downloadId: '3625'<LI>job_id: '1928'<LI>document_id: '83920'</UL></UL><br><i>Note that downloadId is only included if the job was an export.</i></p>", "operationId": "statuspost", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "jobid", "in": "query", "description": "Job ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "documentid", "in": "query", "description": "Document ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "context", "in": "query", "description": "Stringified form of JSON representing the context from IDD", "required": true, "schema": { "type": "string" }, "explode": true, "example": { "recordType": "NDA", "projectId": "557", "instanceUrl": "https://www.conga.com" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "requestBody": { "$ref": "#/components/requestBodies/notificationInfoRequest" }, "responses": { "200": { "description": "In progress", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/jobStatusInProgress" } } } }, "303": { "description": "Complete", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/jobStatusComplete" } } } }, "403": { "description": "Job access denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeJobDeniedError" } } } }, "404": { "description": "Job does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeJobDoesNotExistError" } } } }, "410": { "description": "Job information unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeJobUnavailableError" } } } }, "500": { "description": "Internal error" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "Document Analysis" } }, "/{tenantId}/analyze/docstatus": { "get": { "tags": [ "Document Analysis" ], "summary": "Document status information", "description": "Retrieves the current status of the document.", "operationId": "docstatus", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "documentid", "in": "query", "description": "Document ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "context", "in": "query", "description": "Stringified form of JSON representing the context from IDD", "required": true, "schema": { "type": "string" }, "explode": true, "example": { "recordType": "NDA", "projectId": "557", "instanceUrl": "https://www.conga.com" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "Status of document", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/documentStatus" } } } }, "403": { "description": "Document access denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeDocDeniedError" } } } }, "404": { "description": "Document does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeDocDoesNotExistError" } } } }, "500": { "description": "Internal error" } }, "security": [ { "APIKeyAuth": [] } ], "x-swagger-router-controller": "Document Analysis" }, "post": { "tags": [ "Document Analysis" ], "summary": "Document status information with automatic notification upon completion", "description": "<p>Displays the status information for the document provided.</p><p>For requests with automatic notification enabled (i.e., notificationInfo object is included in request), then in the notification, the request body will look like the below:<UL><LI>status: complete,<LI>responseBody:<UL><LI>is_extracted: true,<LI>language: English,<LI>scan_quality: A,<LI>is_scanned: true,<LI>page_count: 10,<LI>error_code: 0,<LI>job_id: 412455,<LI>document_id: 86453,<LI>projectId: 625</UL></UL></p>", "operationId": "docstatuspost", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "documentid", "in": "query", "description": "Document ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "context", "in": "query", "description": "Stringified form of JSON representing the context from IDD", "required": true, "schema": { "type": "string" }, "explode": true, "example": { "recordType": "NDA", "projectId": "557", "instanceUrl": "https://www.conga.com" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "requestBody": { "$ref": "#/components/requestBodies/notificationInfoRequest" }, "responses": { "200": { "description": "Status of document", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/documentStatus" } } } }, "403": { "description": "Document access denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeDocDeniedError" } } } }, "404": { "description": "Document does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/analyzeDocDoesNotExistError" } } } }, "500": { "description": "Internal error" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "Document Analysis" } }, "/{tenantId}/analyze/docinfo": { "get": { "tags": [ "Document Analysis" ], "summary": "Get extracted provisions", "description": "Retrieves the extracted information from the provider, along with mapped fields and templates.", "operationId": "docinfo", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "documentid", "in": "query", "description": "Document ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "instanceurl", "in": "query", "description": "Instance URL", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "recordtype", "in": "query", "description": "Record Type", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/extractedFileInfo" } } } }, "500": { "description": "Internal error" } }, "security": [ { "APIKeyAuth": [] } ], "x-swagger-router-controller": "Document Analysis" } }, "/{tenantId}/analyze/normalizephrase": { "get": { "tags": [ "Document Analysis" ], "summary": "Extracts date, currency, and numbers from natural language text.", "description": "Extracts date, currency, and numbers from natural language text. This API accepts Tenant Name, Input Phrase, and Time Zone as input parameters and returns date, currency, and time as output, with options to modify the date format of the output. For example, <UL> <LI><B>Input:</B> <P><I>The Acme agreement is expected to start on the first Monday of 2021 and end two years since then and it is valued at Fifty Thousand Dollars payable within the first 3 months of next year.</I> <LI><B>Output:</B> <OL> <LI>first Monday of 2021 = 2021-01-04 <LI>two years since then = 2023-01-04 <LI>Fifty Thousand Dollars = USD 50000 <LI>the first 3 months of next year = 2021-01-01 to 2021-03-31 </OL> </UL>", "operationId": "ichronosResolvePhrase", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name Eg. apttussfdc or max", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" }, "example": "max" }, { "name": "input", "in": "query", "description": "Input phrase to be resolved", "required": true, "style": "form", "explode": true, "schema": { "type": "string" }, "example": "effective as of 01 / 01/ 2019" }, { "name": "timezone", "in": "query", "description": "Timezone [SID key](https://www.salesforceben.com/list-timezonesidkey-salesforce/)", "required": false, "style": "form", "explode": true, "schema": { "type": "string" }, "example": "America/Los_Angeles" }, { "name": "options", "in": "query", "description": "Stringified form of JSON representing the iChronosOptions", "required": false, "schema": { "type": "string" }, "example": { "objectName": "Apttus__APTS_Agreement__c", "fullNLUResult": false, "format": "mm-dd-yyyy" } }, { "name": "instanceurl", "in": "query", "description": "Instance URL", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/entityResponseList" } } } } }, "security": [ { "APIKeyAuth": [] } ] } }, "/{tenantId}/analyze/normalizetemplate": { "get": { "tags": [ "Document Analysis" ], "summary": "Extracts date and time parameters from natural language queries containing variables or templates.", "description": "Extracts date and time parameters from natural language queries containing variables or templates. This API accepts Tenant Name, Template Phrase, Time Zone, Data Map and Options as input parameters. For example, <B><I>if you provide input query as 6 weeks from contract start date and specify the contract start date as 1/1/2021 under Data Map field, it returns the output as 2/12/2021. </B></I> This API works in combination with resolvephrase API.", "operationId": "ichronosResolveTemplate", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name Eg. apttussfdc or max", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" }, "example": "max" }, { "name": "input", "in": "query", "description": "Input templated phrase to be resolved.", "required": true, "style": "form", "explode": true, "schema": { "type": "string" }, "example": "90 days from the ${Apttus__Contract_Start_Date__c}" }, { "name": "timezone", "in": "query", "description": "Timezone [SID key](https://www.salesforceben.com/list-timezonesidkey-salesforce/)", "required": false, "style": "form", "explode": true, "schema": { "type": "string" }, "example": "America/Los_Angeles" }, { "name": "dataMap", "in": "query", "description": "Stringified form of JSON representing the dataMap to resolve the template", "required": false, "style": "form", "explode": true, "schema": { "type": "string" }, "example": { "Apttus__Contract_Start_Date__c": "2019-10-01", "Apttus__Contract_End_Date__c": "2020-10-01" } }, { "name": "options", "in": "query", "description": "Stringified form of JSON representing the iChronosOptions", "required": false, "schema": { "type": "string" }, "example": { "objectName": "Apttus__APTS_Agreement__c", "fullNLUResult": false, "format": "mm-dd-yyyy" } }, { "name": "instanceurl", "in": "query", "description": "Instance URL", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/entityResponseList" } } } } }, "security": [ { "APIKeyAuth": [] } ] } }, "/{tenantId}/analyze/feedback": { "post": { "tags": [ "Document Analysis" ], "summary": "Logs app level feedback event on prior resolution", "description": "Logs app level feedback event on prior resolution. This API can be used by a client application to log analytics events that will help us understand how iChronos resolutions are performing. The API accepts Tenant Name, Prior API Response, along with the application level resolved value and the actual user specified correct value as input parameters.", "operationId": "ichronosFeedback", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name Eg. apttussfdc or max", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" }, "example": "max" }, { "name": "phrase", "in": "query", "description": "Input phrase that was used in recent iChronos API request.", "required": true, "style": "form", "explode": true, "schema": { "type": "string" }, "example": "the term is three (3) years" }, { "name": "response", "in": "query", "description": "Stringified form of JSON response returned by iChronos", "required": false, "style": "form", "explode": true, "schema": { "type": "string" }, "example": { "phrase": "the term is three (3) years", "entities": [ { "entity": "three (3) years", "startIndex": 12, "endIndex": 26, "type": "duration", "resolution": { "values": [ { "type": "duration", "value": 94608000000 } ] } } ] } }, { "name": "correctResolution", "in": "query", "description": "Indicates whether the iChronos resolution was accepted as is by the user. If true, user accepted as is. Else it should be set to false.", "required": true, "style": "form", "explode": true, "schema": { "type": "boolean" }, "example": "true" }, { "name": "resolvedValue", "in": "query", "description": "Stringified JSON or just string describing how app resolved the value", "required": true, "style": "form", "explode": true, "schema": { "type": "string" }, "example": "36" }, { "name": "correctValue", "in": "query", "description": "Stringified JSON or just string describing how user corrected the value", "required": true, "style": "form", "explode": true, "schema": { "type": "string" }, "example": "48" }, { "name": "options", "in": "query", "description": "Stringified form of JSON representing the iChronosOptions. You need to pass in the context parameter with the below properties <UL> <LI>instanceUrl to identify the SFDC org originating the request. <LI>userId SFDC userId identifying the user. <LI>userName SFDC user name identifying the user. <LI>requestId indicating the x-request-id returned by the original iChronos request for which feedback is provided <LI>field such as Apttus__Contract_Start_Date__c for which the feedback is provided <LI>sessionId a unique Id identifying a set of iChronos resolutions for a single user session (eg: If start date, end date & term are resolved for a single user document, this could be set to the documentId) </UL>", "required": false, "schema": { "type": "string" }, "example": { "context": { "instanceUrl": "https://max1.my.salesforce.com", "clientVersion": "12.2020.000.0001", "userId": "0054T000000dqllQAB", "userName": "Jeremy Jones", "requestId": "29080e70-3993-437a-a923-fa59700cc07e", "field": "Apttus__Contract_Start_Date__c", "sessionId": "a0h4T000000iuqjQAA" } } }, { "name": "instanceurl", "in": "query", "description": "Instance URL", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK" } }, "security": [ { "APIKeyAuth": [] } ] } }, "/{tenantId}/analyze/export": { "post": { "tags": [ "Document Analysis" ], "summary": "Send a request to start exporting the document and get an automatic notification once job is complete", "description": "<p>Exports a document based on the settings given in the <i>payload</i> object of the request body.<br></p><p>For requests with automatic notification enabled (i.e., notificationInfo object is included in request), then in the notification, the request body will look like the below:<UL><LI>status: complete,<LI>responseBody:<UL><LI>is_successful: true,<LI>redirect_href: https://ca.app.kirasystems.com/platform-api/v1/downloads/3625/files,<LI>downloadId: 3625</UL></UL></p>", "operationId": "exportPost", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "documentid", "in": "query", "description": "Document ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "format", "in": "query", "description": "File format", "required": true, "style": "form", "schema": { "enum": [ "pdf", "word", "excel" ] } }, { "name": "instanceurl", "in": "query", "description": "Instance URL", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "requestBody": { "$ref": "#/components/requestBodies/exportRequest" }, "responses": { "202": { "description": "Returns job ID and document ID and automatic polling of the job status will begin", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exportInfoResult" } } } }, "400": { "description": "Unsupported arguments", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exportUnsupportedArgumentsError" } } } }, "403": { "description": "Document, project, or field access denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exportAccessDeniedError" } } } }, "404": { "description": "Document does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exportDocDoesNotExistError" } } } }, "500": { "description": "Internal error" }, "503": { "description": "Service unavailable", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/exportServiceUnavailableError" } } } } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "Document Analysis" } }, "/{tenantId}/analyze/downloadinfo": { "get": { "tags": [ "Document Analysis" ], "summary": "Retrieve info to download the document", "description": "Retrieves the information needed to download the file directly from the provider. This is used primarily for small files.", "operationId": "downloadinfo", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "downloadid", "in": "query", "description": "Download ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "instanceurl", "in": "query", "description": "Instance URL", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/downloadResult" } } } }, "403": { "description": "Download access denied", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/downloadAccessDeniedError" } } } }, "404": { "description": "Download does not exist", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/downloadDoesNotExistError" } } } }, "500": { "description": "Internal error" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "Document Analysis" } }, "/{tenantId}/analyze/download": { "post": { "tags": [ "Document Analysis" ], "summary": "Downloads the exported document and then uploads to the specified location", "description": "<p>Downloads the exported file from the provider, and uploads to the specified url. A notification object must be provided in the request, to get notification that the upload to the client is complete.</p><p>In the notification, the request body will look like the below:<UL><LI>status: complete,<LI>responseBody:<UL><LI>id: \"0686g000009rGcUAAU\",<LI>success: \"true\",<LI>errors: [],<LI>downloadId: \"12293\",</UL></UL></p>", "operationId": "download", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "requestBody": { "$ref": "#/components/requestBodies/downloadDocRequest" }, "responses": { "200": { "description": "OK <p>The download from the provider was successful</p>" }, "500": { "description": "Invalid request" } }, "security": [ { "APIKeyAuth": [] }, { "BearerAuth": [] } ], "x-swagger-router-controller": "DocumentAnalysis" } }, "/{tenantId}/analyze/deletedoc": { "delete": { "tags": [ "Document Analysis" ], "summary": "Delete the document", "description": "Deletes the document from the provider.", "operationId": "deletedoc", "parameters": [ { "name": "tenantId", "in": "path", "description": "Tenant name", "required": true, "style": "simple", "explode": false, "schema": { "type": "string" } }, { "name": "documentid", "in": "query", "description": "Document ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "instanceurl", "in": "query", "description": "Instance URL", "required": true, "style": "form", "explode": false, "schema": { "type": "string" } }, { "name": "username", "in": "query", "description": "User Name", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "dummyuser" } }, { "name": "userid", "in": "query", "description": "User ID", "required": true, "style": "form", "explode": false, "schema": { "type": "string", "example": "a56392269d970c" } } ], "responses": { "202": { "description": "Successfully deleted" }, "403": { "description": "Document access denied" }, "404": { "description": "Document does not exist" }, "500": { "description": "Internal error" } }, "security": [ { "APIKeyAuth": [] } ], "x-swagger-router-controller": "Document Analysis" } } }, "components": { "examples": { "downloadRequest": { "value": { "downloadId": "40289", "fileName": "highlightedNDA", "uploadUrl": "https://max4.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion", "context": { "recordType": "NDA", "instanceUrl": "https://www.conga.com" }, "notificationInfo": { "url": "https://www.notifyme.com", "method": "POST" } } }, "uploadJobInfo": { "value": { "jobId": "40289", "documentId": "89000", "context": { "recordType": "NDA", "projectId": "342", "instanceUrl": "https://www.conga.com" } } }, "uploadJobInfoWithNotification": { "value": { "jobId": "40289", "documentId": "89000", "context": { "recordType": "NDA", "projectId": "342", "instanceUrl": "https://www.conga.com" }, "notificationInfo": { "url": "https://www.notifyme.com", "method": "POST" } } }, "uploadDocumentInfo": { "value": { "fileLink": "https://max4.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion/0686g000000y49vAAA/VersionData", "filesize": 95821, "fileTitle": "ImportantDocument.docx", "fileFormat": "docx", "context": { "recordType": "NDA", "instanceUrl": "https://www.conga.com" }, "notificationInfo": { "url": "https://www.notifyme.com", "method": "POST" } } } }, "schemas": { "providerInfo": { "type": "object", "properties": { "provider": { "type": "string", "description": "provider name", "format": "string", "example": "kira" }, "providerUrl": { "type": "string", "description": "provider url", "format": "string", "example": "https://ca.app.kirasystems.com/platform-api" }, "useIchronos": { "type": "boolean", "description": "use Ichronos", "format": "boolean", "example": true }, "logoUrl": { "type": "string", "description": "logo url", "format": "string", "example": "https://www.abc.com" }, "providerSpecific": { "type": "object", "properties": { "version": { "type": "string", "description": "version", "format": "string", "example": "v1" }, "defaultProjectId": { "type": "string", "description": "default Project Id", "format": "string", "example": "209" }, "deleteDocumentFromKira": { "type": "boolean", "description": "default Project Id", "format": "boolean", "example": false }, "retrieveHighlightedDocument": { "type": "boolean", "description": "default Project Id", "format": "boolean", "example": true } } } } }, "storedProviderInfo": { "type": "object", "properties": { "provider": { "type": "string", "description": "provider name", "format": "string", "example": "Kira" }, "providerUrl": { "type": "string", "description": "provider url", "format": "string", "example": "https://ca.app.kirasystems.com/platform-api" }, "providerToken": { "type": "string", "description": "provider token", "format": "string", "example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzIjoiRUVWOTA4RzNrcEF2ZnVwTWpIZ1pZSGxnIiwiZiI6Mzk3fQ.B7jK7thmhWgsgd3Xxx-GtsV0TwSsEAXaIsTIuqV3vn8" }, "tenant": { "type": "string", "description": "tenant id", "format": "string", "example": "max" }, "instanceUrl": { "type": "string", "description": "instance Url", "format": "string", "example": "https://www.conga.com" }, "maxUrl": { "type": "string", "description": "max Url", "format": "string", "example": "https://maxazdev.apttuscloud.io" }, "maxToken": { "type": "string", "description": "max Token", "format": "string", "example": "a17b499c0668904aea0b675099e531b82cfb" }, "iddUrl": { "type": "string", "description": "idd Url", "format": "string", "example": "https://maxazdev.apttuscloud.io/idd" }, "iddToken": { "type": "string", "description": "idd token", "format": "string", "example": "a17b499c0668904aea0b675099e531b82cfb" }, "logoUrl": { "type": "string", "description": "logo url", "format": "string", "example": "https://www.abc.com" }, "useIchronos": { "type": "boolean", "description": "use Ichronos", "format": "boolean", "example": true }, "providerSpecific": { "type": "object", "properties": { "version": { "type": "string", "description": "version", "format": "string", "example": "v1" }, "defaultProjectId": { "type": "string", "description": "default Project Id", "format": "string", "example": "123" }, "deleteDocumentFromKira": { "type": "boolean", "description": "default Project Id", "format": "boolean", "example": false }, "retrieveHighlightedDocument": { "type": "boolean", "description": "default Project Id", "format": "boolean", "example": true } } } } }, "createProvisionMap": { "type": "object", "properties": { "project_name": { "type": "string", "description": "project name", "format": "string", "example": "sample_idd" }, "recordType": { "type": "string", "description": "record type", "format": "string", "example": "MSA" }, "syncProvisions": { "type": "boolean", "description": "Sync Provisions", "format": "boolean", "example": true }, "syncProvisionIds": { "type": "object", "properties": { "clauseMap": { "type": "object", "properties": { "268": { "type": "array", "items": { "example": { "congaTemplateId": "234abc" } } } } }, "fieldMap": { "type": "object", "properties": { "2": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Free" } } } } } } }, "clauseMap": { "type": "object", "properties": { "267": { "type": "array", "items": { "example": { "congaTemplateId": "345678" } } }, "268": { "type": "array", "items": { "example": { "congaTemplateId": "234abc" } } } } }, "fieldMap": { "type": "object", "properties": { "2": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Free" } } }, "1038": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Lively" } } } } } } }, "getProvisionMap": { "type": "object", "properties": { "project_name": { "type": "string", "description": "project name", "format": "string", "example": "sample_idd" }, "syncProvisions": { "type": "boolean", "description": "Sync Provisions", "format": "boolean", "example": true }, "instanceUrl": { "type": "string", "description": "instance url", "format": "string", "example": "https://www.conga.com" }, "syncProvisionIds": { "type": "object", "properties": { "clauseMap": { "type": "object", "properties": { "268": { "type": "array", "items": { "example": { "congaTemplateId": "234abc" } } } } }, "fieldMap": { "type": "object", "properties": { "2": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Free" } } } } } } }, "project_id": { "type": "string", "description": "project id", "format": "string", "example": 67 }, "template_id": { "type": "string", "description": "template id", "format": "string", "example": 795 }, "recordType": { "type": "string", "description": "record type", "format": "string", "example": "NDA" }, "tenant": { "type": "string", "description": "tenant", "format": "string", "example": "max" }, "clauseMap": { "type": "object", "properties": { "267": { "type": "array", "items": { "example": { "congaTemplateId": "345678" } } }, "268": { "type": "array", "items": { "example": { "congaTemplateId": "234abc" } } } } }, "fieldMap": { "type": "object", "properties": { "2": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Free" } } }, "1038": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Lively" } } } } } } }, "editProvisionMap": { "type": "object", "description": "New Field map/Clause map Values", "properties": { "project_name": { "type": "string", "description": "Project Name", "format": "string", "example": "updated-project-name" }, "clauseMap": { "type": "object", "properties": { "268": { "type": "array", "items": { "example": { "congaTemplateId": "234abc" } } }, "272": { "type": "array", "items": { "example": { "congaTemplateId": "345678" } } } } }, "fieldMap": { "type": "object", "properties": { "9": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Happy" } } }, "1038": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Lively" } } } } }, "provider": { "type": "string", "description": "provider", "format": "string", "example": "kira" }, "syncProvisions": { "type": "boolean", "description": "Sync Provisions", "format": "boolean", "example": true }, "syncProvisionIds": { "type": "object", "properties": { "clauseMap": { "type": "object", "properties": { "272": { "type": "array", "items": { "example": { "congaTemplateId": "345678" } } } } }, "fieldMap": { "type": "object", "properties": { "9": { "type": "array", "items": { "example": { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Happy" } } } } } } }, "fieldsToAdd": { "type": "integer", "example": [ 9, 272 ] }, "fieldsToRemove": { "type": "integer", "example": [ 2, 267 ] } } }, "getProvisions": { "type": "object", "properties": { "provider": { "type": "string", "description": "provider info", "format": "string", "example": "kira" }, "tenant": { "type": "string", "description": "tenant", "format": "string", "example": "max" }, "instanceUrl": { "type": "string", "description": "instance url", "format": "string", "example": "https://www.conga.com" }, "provisions": { "type": "object", "properties": { "1": { "type": "object", "example": { "field_id": "1,", "field_name": "Title" } }, "2": { "type": "object", "example": { "field_id": "2,", "field_name": "Parties", "mappedProvisions": [ { "objectName": "Apttus__APTS_Agreement__c", "congaField": "Free" } ] } } } } } }, "provisions": { "type": "object", "properties": { "provider": { "type": "string", "description": "provider info", "format": "string", "example": "kira" }, "tenant": { "type": "string", "description": "tenant info", "format": "string", "example": "max" }, "instanceUrl": { "type": "string", "description": "instance info", "format": "string", "example": "https://www.conga.com" }, "provisions": { "type": "array", "items": { "$ref": "#/components/schemas/provisionResult" } } }, "description": "Sample provisions", "example": { "provider": "kira", "tenant": "max", "instanceUrl": "https://www.conga.com", "provisions": [ { "field_id": 1, "field_name": "Title" }, { "field_id": 2, "field_name": "Parties" } ] } }, "provisionResult": { "type": "object", "properties": { "field_id": { "type": "string", "description": "Id", "format": "id", "example": 1 }, "field_name": { "type": "string", "description": "field name", "format": "string", "example": "Title" } } }, "provisionMapByRecordType": { "type": "object", "properties": { "tenant": { "type": "string", "description": "tenant name", "example": "conga" }, "recordType": { "type": "string", "description": "Type of Record", "example": "NDA" }, "objectName": { "type": "string", "description": "Name of CLM object", "example": "Apttus__APTS_Agreement__c" }, "fieldMap": { "$ref": "#/components/schemas/provisionMapByRecordType_fieldMap" } }, "description": "Filters Provion Map by Record Type", "example": { "fieldMap": { "fieldId_1": [ { "fieldName": "Apttus__Total_Contract_Value__c" }, { "fieldName": "Apttus__Total_Contract_Value__c" } ] }, "recordType": "NDA", "objectName": "Apttus__APTS_Agreement__c", "tenant": "conga" } }, "fieldName": { "type": "object", "properties": { "fieldName": { "type": "string", "description": "field name", "example": "Apttus__Total_Contract_Value__c" } }, "description": "Field Name", "example": { "fieldName": "Apttus__Total_Contract_Value__c" } }, "entityResolutionResult": { "type": "object", "properties": { "type": { "type": "string", "description": "Entity type" }, "Mod": { "type": "string", "description": "Modifier" }, "start": { "type": "string", "description": "Start date of time period", "format": "datetime" }, "end": { "type": "string", "description": "End date of time period", "format": "datetime" } }, "description": "Explanation of query clause" }, "User": { "type": "object", "properties": { "id": { "type": "integer", "format": "int64" }, "username": { "type": "string" }, "firstName": { "type": "string" }, "lastName": { "type": "string" }, "email": { "type": "string" }, "password": { "type": "string" }, "phone": { "type": "string" }, "userStatus": { "type": "integer", "description": "User Status", "format": "int32" } }, "xml": { "name": "User" } }, "provisionResult_Apttus__ProvisionType__c": { "type": "object", "properties": { "Clause": { "type": "boolean", "description": "Clause", "example": false, "default": false }, "Field": { "type": "boolean", "description": "Field", "example": true, "default": false } }, "description": "Provision Type", "example": { "Field": true, "Clause": false } }, "provisionMapByRecordType_fieldMap": { "type": "object", "properties": { "fieldId_1": { "type": "array", "description": "field id maps to array of fields", "items": { "$ref": "#/components/schemas/fieldName" } } }, "description": "Each Kira provision (field_id) maps to an array of CLM fields or clauses (field name or template ID)", "example": { "fieldId_1": [ { "fieldName": "Apttus__Total_Contract_Value__c" }, { "fieldName": "Apttus__Total_Contract_Value__c" } ] } }, "entityResponse": { "type": "object", "properties": { "entity": { "type": "string", "description": "sub phrase", "format": "string" }, "startIndex": { "type": "integer", "description": "Start index of the sub phrase", "format": "int32" }, "endIndex": { "type": "integer", "description": "End index of the sub phrase", "format": "int32" }, "type": { "type": "string", "description": "Entity resolution type", "format": "string" }, "resolution": { "$ref": "#/components/schemas/entityResolutionResultList" } } }, "entityResponseList": { "type": "object", "properties": { "phrase": { "type": "string", "description": "input phrase" }, "entities": { "type": "array", "items": { "$ref": "#/components/schemas/entityResponse" } } }, "example": { "phrase": "pull up quotes expiring in the next 90 days that are starting next week", "entities": [ { "entity": "in the next 90 days", "startIndex": 24, "endIndex": 42, "type": "daterange", "resolution": { "values": [ { "type": "daterange", "start": "2020-09-11", "end": "2020-12-10" } ] } }, { "entity": "starting next week", "startIndex": 53, "endIndex": 70, "type": "daterange", "resolution": { "values": [ { "type": "daterange", "Mod": "since", "start": "2020-09-14" } ], "altValues": [ { "type": "daterange", "start": "2020-09-14", "end": "2020-09-20", "notes": "starting" } ] } } ] } }, "entityResolutionResultList": { "type": "object", "description": "Entity resolution", "properties": { "values": { "type": "array", "items": { "$ref": "#/components/schemas/entityResolutionResult" } } } }, "uploadBody": { "type": "object", "properties": { "project_id": { "type": "string", "description": "Project ID", "format": "string", "example": "880" } } }, "uploadContext": { "type": "object", "properties": { "recordType": { "type": "string", "description": "Record type", "format": "string", "example": "NDA" }, "projectId": { "type": "string", "description": "Project ID", "format": "string", "example": "880" }, "instanceUrl": { "type": "string", "description": "Instance URL", "format": "string", "example": "https://www.conga.com" } } }, "uploadHeader": { "type": "object", "properties": { "accept": { "type": "string", "description": "Accept type", "format": "string", "example": "application/json" }, "Authorization": { "type": "string", "description": "Bearer token", "format": "string", "example": "Bearer 12345" }, "Content-Type": { "type": "string", "description": "Content type", "format": "string", "example": "multipart/form-data" } } }, "uploadInfoResult": { "type": "object", "properties": { "uploadUrl": { "type": "string", "description": "URL", "format": "string", "example": "https://www.conga.com/maxupload/documents" }, "uploadMethod": { "type": "string", "description": "Request method", "format": "string", "example": "GET" }, "uploadHeader": { "$ref": "#/components/schemas/uploadHeader" }, "uploadBodyParameter": { "$ref": "#/components/schemas/uploadBody" }, "context": { "$ref": "#/components/schemas/uploadContext" } } }, "notificationInfo": { "type": "object", "description": "Including this webhook information will enable automatic polling by IDD", "properties": { "url": { "type": "string", "description": "URL", "format": "string", "example": "https://www.conga.com/maxupload/notify" }, "method": { "type": "string", "description": "Request method", "format": "string", "example": "POST" } } }, "uploadInfo": { "type": "object", "description": "The document has been uploaded manually and client received document and job IDs. Use this object to pass that information to IDD", "properties": { "jobId": { "type": "string", "description": "Job ID", "format": "string", "example": "80291" }, "documentId": { "type": "string", "description": "Document ID", "format": "string", "example": "394201" }, "context": { "$ref": "#/components/schemas/uploadContext" }, "notificationInfo": { "$ref": "#/components/schemas/notificationInfo" } } }, "uploadFileInfo": { "type": "object", "description": "Pass the download document information to IDD, which will download the document and then upload it to the provider. If notificationInfo is included, then IDD will poll the document status and notify the webhook.", "properties": { "fileLink": { "type": "string", "description": "Link to file to upload", "format": "string", "example": "https://somewebsite.com/document/download/" }, "filesize": { "type": "integer", "description": "Size of file", "format": "int64", "example": 123213 }, "fileFormat": { "type": "string", "description": "File format (e.g., docx, pdf)", "format": "string", "example": "docx" }, "fileTitle": { "type": "string", "description": "File name", "format": "string", "example": "NDA_Agreement.docx" }, "context": { "$ref": "#/components/schemas/uploadContext" }, "notificationInfo": { "$ref": "#/components/schemas/notificationInfo" } } }, "extractedProvision": { "type": "object", "properties": { "tags": { "type": "array", "description": "A possibly empty array of strings with tags that were assigned to the field instances.", "items": { "type": "string" } }, "flag_user_id": { "type": "integer", "description": "Integer identifier of user that red-flagged the field instance.", "format": "int64" }, "field_name": { "type": "string", "description": "Name of the field.", "format": "string" }, "field_instance_url": { "type": "string", "description": "Url for viewing the field instance in the Kira UI", "format": "string" }, "page_range": { "type": "array", "description": "An array of two Integers indicating the document pages on which the field instance starts and ends. Both values are inclusive.", "items": { "type": "integer", "format": "int64" } }, "is_flagged": { "type": "boolean", "description": "Boolean, true/false value to indicate if a field instance has been red-flagged." }, "text_ranges": { "description": "An array of text ranges were this field instance text occurs in the document, each element containing two integer elements, representing the range start (inclusive) and end (exclusive) respectively.", "type": "array", "items": { "type": "array", "items": { "type": "integer" } } }, "field_instance_id": { "type": "integer", "format": "int64", "description": "Integer identifier of the field-instance." }, "field_id": { "description": "Integer identifier of the field.", "type": "integer", "format": "int64" }, "text": { "description": "Text of the field instance.", "type": "string", "format": "string" }, "mappedFields": { "description": "An array of objects and fields this provision maps to", "type": "array", "items": { "$ref": "#/components/schemas/mappedField" } }, "mappedClauses": { "description": "An array of template IDs this provision maps to", "type": "array", "items": { "$ref": "#/components/schemas/mappedClause" } } } }, "mappedField": { "type": "object", "properties": { "objectName": { "description": "Object name", "type": "string", "format": "string" }, "congaField": { "description": "Field name", "type": "string", "format": "string" } } }, "mappedClause": { "type": "object", "properties": { "congaTemplateId": { "description": "Template ID", "type": "string", "format": "string" } } }, "extractedFileInfo": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Project ID", "format": "string", "example": "625" }, "documentId": { "type": "string", "description": "Document ID", "format": "string", "example": "82736" }, "jobId": { "type": "string", "description": "Job ID", "format": "string", "example": "43325" }, "recordType": { "type": "string", "description": "Record Type", "format": "string", "example": "NDA" }, "foundProvisionMap": { "type": "boolean", "description": "T/F if a provision map was found", "format": "string", "example": true }, "extractedProvisions": { "type": "array", "items": { "$ref": "#/components/schemas/extractedProvision" } } } }, "uploadFileFeedback": { "type": "object", "properties": { "projectId": { "type": "string", "description": "Project ID", "format": "string", "example": "625" }, "documentId": { "type": "string", "description": "Document ID", "format": "string", "example": "82736" }, "jobId": { "type": "string", "description": "Job ID", "format": "string", "example": "43325" } } }, "jobStatusInProgress": { "type": "object", "properties": { "status": { "type": "string", "description": "Job status", "format": "string", "example": "in progress" }, "responseBody": { "type": "object", "description": "Response from provider", "properties": { "retry_after": { "type": "integer", "example": 15 }, "job_status": { "type": "string", "example": "in-progress" }, "last_update_time": { "type": "string", "example": "2021-01-19T22:52:20Z" } } } } }, "jobStatusComplete": { "type": "object", "properties": { "status": { "type": "string", "description": "Job status", "format": "string", "example": "complete" }, "responseBody": { "type": "object", "description": "Response from provider", "properties": { "is_successful": { "type": "boolean", "example": true }, "downloadId": { "type": "string", "description": "Download ID - Only included if a download job was initiated", "format": "string", "example": "1028" }, "job_id": { "type": "string", "example": "405194" }, "document_id": { "type": "string", "example": "85401" }, "redirect_href": { "type": "string", "example": "https://ca.app.kirasystems.com/platform-api/v1/downloads/108876/files" } } } } }, "analyzeJobDeniedError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Job access denied" } } }, "analyzeJobDoesNotExistError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Job does not exist" } } }, "analyzeJobUnavailableError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Job information unavailable" } } }, "analyzeDocDeniedError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Document access denied" } } }, "analyzeDocDoesNotExistError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Document does not exist" } } }, "documentStatus": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "'in progress' or 'complete'" }, "responseBody": { "type": "object", "description": "Response from provider", "properties": { "is_extracted": { "type": "boolean", "example": true }, "language": { "type": "string", "example": "English" }, "scan_quality": { "type": "string", "example": "A" }, "is_scanned": { "type": "boolean", "example": true }, "page_count": { "type": "integer", "example": 4 }, "error_code": { "type": "integer", "example": 0 }, "jobId": { "type": "integer", "example": 625 }, "document_id": { "type": "string", "example": "82839" }, "job_id": { "type": "string", "example": "1920" } } } } }, "exportInfoResult": { "type": "object", "properties": { "jobId": { "type": "string", "description": "Job ID", "format": "string", "example": "4839" }, "documentId": { "type": "string", "description": "Document ID", "format": "string", "example": "83920" }, "context": { "type": "object", "properties": { "instanceUrl": { "type": "string", "example": "https://www.conga.com" } } } } }, "exportUnsupportedArgumentsError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Unsupported arguments" } } }, "exportAccessDeniedError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Document, project, or field access denied" } } }, "exportDocDoesNotExistError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Document does not exist" } } }, "exportServiceUnavailableError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Service Unavailable" } } }, "downloadAccessDeniedError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Download access denied" } } }, "downloadDoesNotExistError": { "type": "object", "properties": { "status": { "type": "string", "description": "Status", "format": "string", "example": "error" }, "errorMessage": { "type": "string", "description": "Error message", "format": "string", "example": "Download does not exist" } } }, "downloadHeader": { "type": "object", "properties": { "Authorization": { "type": "string", "example": "Bearer xxxx" } } }, "downloadResult": { "type": "object", "properties": { "status": { "type": "string", "description": "Status of file (downloaded - this file has already been downloaded, finished - export is done, and this file can be downloaded)", "format": "string", "example": "downloaded or finished" }, "downloadUrl": { "type": "string", "description": "Download URL", "format": "string", "example": "https://www.conga.com/max/download/123" }, "downloadMethod": { "type": "string", "description": "Download method", "format": "string", "example": "GET" }, "downloadHeader": { "$ref": "#/components/schemas/downloadHeader" } } }, "downloadDocRequest": { "type": "object", "properties": { "downloadId": { "type": "string", "description": "Download ID", "format": "string", "example": "80291" }, "fileName": { "type": "string", "description": "Name of file", "format": "string", "example": "hightlightedDoc" }, "uploadUrl": { "type": "string", "format": "string", "example": "https://max4.my.salesforce.com/services/data/v47.0/sobjects/ContentVersion" }, "context": { "$ref": "#/components/schemas/uploadContext" }, "notificationInfo": { "$ref": "#/components/schemas/notificationInfo" } } } }, "requestBodies": { "registerProvider": { "description": "Request to Register Provider", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/providerInfo" } } } }, "createProvisionMap": { "description": "Request to Create Provision Map", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/createProvisionMap" } } } }, "editProvisionMap": { "description": "Request to Edit Provision Map", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/editProvisionMap" } } } }, "editProvisionMapField": { "description": "Request to Edit Provision Map", "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/editProvisionMap" } } } }, "UserRequest": { "description": "Request for User", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/User" } } }, "required": true }, "exportRequest": { "description": "Request for export. If notificationInfo is included, then polling is automatically done to check when export is complete.", "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "payload": { "type": "object", "properties": { "export_format": { "type": "string", "example": "pdf" }, "include_highlight": { "type": "boolean", "example": false }, "pdf_quality": { "type": "string", "example": "low" } } }, "notificationInfo": { "$ref": "#/components/schemas/notificationInfo" } } } } } }, "notificationInfoRequest": { "description": "Webhook information", "required": true, "content": { "application/json": { "schema": { "type": "object", "properties": { "notificationInfo": { "$ref": "#/components/schemas/notificationInfo" } } } } } }, "uploadInfoRequest": { "description": "Request to do one of the following <p>1. uploadJobInfo: Provide IDD with job/document information<br>2. uploadJobInfoWithNotification: Provide IDD with job/document information and request to get notification upon completion<br>3. uploadDocumentInfo: Provide IDD with a link to the file to upload, and IDD will do the upload and notify upon completion if notificationInfo is provided as well.</p>", "required": true, "content": { "application/json": { "schema": { "anyOf": [ { "$ref": "#/components/schemas/uploadInfo" }, { "$ref": "#/components/schemas/uploadFileInfo" } ] }, "examples": { "uploadJobInfo": { "$ref": "#/components/examples/uploadJobInfo" }, "uploadJobInfoWithNotification": { "$ref": "#/components/examples/uploadJobInfoWithNotification" }, "uploadDocumentInfo": { "$ref": "#/components/examples/uploadDocumentInfo" } } } } }, "downloadDocRequest": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/downloadDocRequest" }, "examples": { "downloadRequest": { "$ref": "#/components/examples/downloadRequest" } } } } } }, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" }, "APIKeyAuth": { "type": "apiKey", "name": "X-API-Key", "in": "header" } } } }