{
"swagger": "2.0",
"info": {
"version": "v1",
"title": "TAP API Explorer"
},
"host": "demo.tap.thinksmart.com",
"basePath": "/prod/api",
"schemes": [
"https"
],
"paths": {
"/v1/dashboard/columns": {
"get": {
"tags": [
"Dashboard"
],
"summary": "Grid Columns",
"description": "Method that will return all dashboard workflows (does not support OData filtering yet)",
"operationId": "Dashboard_Columns",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "onlyFromInstances",
"in": "query",
"description": "Should include dynamic columns only from initiated forkflows",
"required": true,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/DashboardColumnDefinition"
}
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/files/{id}": {
"get": {
"tags": [
"Files"
],
"summary": "Download by ID",
"description": "Method which will return a file by id. Use GET File Attachments to get the file ids from a specific workflow record.",
"operationId": "Files_Get",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "File ID",
"required": true,
"type": "string",
"format": "uuid"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"format": "byte",
"type": "string"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/gridconfigurations/tenant": {
"get": {
"tags": [
"GridConfigurations"
],
"summary": "Tenant Configurations",
"description": "Method that will return all dashboard grid configurations",
"operationId": "GridConfigurations_GetByTenant",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "$top",
"in": "query",
"description": "The max number of records",
"required": false,
"type": "string"
},
{
"name": "$skip",
"in": "query",
"description": "The number of records to skip",
"required": false,
"type": "string"
},
{
"name": "$filter",
"in": "query",
"description": "A function that must evaluate to true for a record to be returned",
"required": false,
"type": "string"
},
{
"name": "$select",
"in": "query",
"description": "Specifies a subset of properties to return",
"required": false,
"type": "string"
},
{
"name": "$orderby",
"in": "query",
"description": "Determines what values are used to order a collection of records",
"required": false,
"type": "string"
},
{
"name": "$inlinecount",
"in": "query",
"description": "Set 'allpages' if you want to have total count value in result",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/PageResult[GridConfiguration]"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/gridconfigurations/user": {
"get": {
"tags": [
"GridConfigurations"
],
"summary": "User Configurations",
"description": "Method that will return all dashboard grid configurations visible for current user",
"operationId": "GridConfigurations_GetByUser",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "$top",
"in": "query",
"description": "The max number of records",
"required": false,
"type": "string"
},
{
"name": "$skip",
"in": "query",
"description": "The number of records to skip",
"required": false,
"type": "string"
},
{
"name": "$filter",
"in": "query",
"description": "A function that must evaluate to true for a record to be returned",
"required": false,
"type": "string"
},
{
"name": "$select",
"in": "query",
"description": "Specifies a subset of properties to return",
"required": false,
"type": "string"
},
{
"name": "$orderby",
"in": "query",
"description": "Determines what values are used to order a collection of records",
"required": false,
"type": "string"
},
{
"name": "$inlinecount",
"in": "query",
"description": "Set 'allpages' if you want to have total count value in result",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/PageResult[GridConfiguration]"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/gridconfigurations/{id}": {
"get": {
"tags": [
"GridConfigurations"
],
"summary": "Get by ID",
"description": "Method which returns the details of a grid configuration by id.",
"operationId": "GridConfigurations_Get",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "id",
"in": "path",
"required": true,
"type": "string",
"format": "uuid"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/GridConfiguration"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/healthcheck": {
"get": {
"tags": [
"HealthCheck"
],
"operationId": "HealthCheck_Get",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "object"
}
}
}
}
},
"/v1/templates/dashboard": {
"get": {
"tags": [
"Templates"
],
"summary": "Available templates",
"description": "Returns available workflow templates for visible on dashboard",
"operationId": "Templates_Get",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "$top",
"in": "query",
"description": "The max number of records",
"required": false,
"type": "string"
},
{
"name": "$skip",
"in": "query",
"description": "The number of records to skip",
"required": false,
"type": "string"
},
{
"name": "$filter",
"in": "query",
"description": "A function that must evaluate to true for a record to be returned",
"required": false,
"type": "string"
},
{
"name": "$select",
"in": "query",
"description": "Specifies a subset of properties to return",
"required": false,
"type": "string"
},
{
"name": "$orderby",
"in": "query",
"description": "Determines what values are used to order a collection of records",
"required": false,
"type": "string"
},
{
"name": "$inlinecount",
"in": "query",
"description": "Set 'allpages' if you want to have total count value in result",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/PageResult[WorkflowTemplate]"
}
}
}
}
},
"/v1/users/{id}": {
"get": {
"tags": [
"Users"
],
"summary": "Get by ID",
"description": "Returns user info by ID",
"operationId": "Users_Get",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "id",
"in": "path",
"description": "User ID",
"required": true,
"type": "string",
"format": "uuid"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/User"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/users/current": {
"get": {
"tags": [
"Users"
],
"summary": "Current User",
"description": "Returns authenticated user info",
"operationId": "Users_GetCurrent",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/User"
}
}
}
}
},
"/v1/users/Roles": {
"get": {
"tags": [
"Users"
],
"summary": "User Roles",
"description": "Get all existing roles. These role id’s further can be used for creating or updating users.",
"operationId": "Users_getRoles",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/Role"
}
}
}
}
},
"/v1/users/Departments": {
"get": {
"tags": [
"Users"
],
"summary": "User Departments",
"description": "Get all existing departments. These department id’s further can be used for creating or updating users.",
"operationId": "Users_getDepartments",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/Departmnt"
}
}
}
}
},
"/v1/users": {
"get": {
"tags": [
"Users"
],
"summary": "All Users",
"description": "Returns TAP users info",
"operationId": "Users_Get",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "$top",
"in": "query",
"description": "The max number of records",
"required": false,
"type": "string"
},
{
"name": "$skip",
"in": "query",
"description": "The number of records to skip",
"required": false,
"type": "string"
},
{
"name": "$filter",
"in": "query",
"description": "A function that must evaluate to true for a record to be returned",
"required": false,
"type": "string"
},
{
"name": "$select",
"in": "query",
"description": "Specifies a subset of properties to return",
"required": false,
"type": "string"
},
{
"name": "$orderby",
"in": "query",
"description": "Determines what values are used to order a collection of records",
"required": false,
"type": "string"
},
{
"name": "$inlinecount",
"in": "query",
"description": "Set 'allpages' if you want to have total count value in result",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/PageResult[AdvancedUserModel]"
}
}
}
},
"post": {
"tags": [
"Users"
],
"summary": "Create User",
"description": "Create users through Json. We can either create single or multiple users at a time.\r\nRequired fields to create a user is Login/Password/FirstName/LastName/Roles/Departments.",
"operationId": "Users_CreateUser",
"consumes": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/x-www-form-urlencoded"
],
"produces": [
"text/plain",
"text/csv",
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "users",
"in": "body",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserDetail"
}
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
}
}
},
"delete": {
"tags": [
"Users"
],
"summary": "Delete Users",
"description": "Delete users through Json. We can either delete single or multiple users at a time.\r\nRequired fields to delete a user is Login.",
"operationId": "Users_DeleteUser",
"consumes": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/x-www-form-urlencoded"
],
"produces": [
"text/plain",
"text/csv",
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "users",
"in": "body",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
}
}
},
"patch": {
"tags": [
"Users"
],
"summary": "Update User",
"description": "Update users through Json. We can either update single or multiple users at a time.\r\nRequired fields to update a user is Login.",
"operationId": "Users_UpdateUser",
"consumes": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/x-www-form-urlencoded"
],
"produces": [
"text/plain",
"text/csv",
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "users",
"in": "body",
"required": true,
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/UserDetail"
}
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"type": "string"
}
}
}
}
},
"/v2/workflows/audittrail/details": {
"post": {
"tags": [
"Workflow"
],
"summary": "Returns audit trail details for each provided workflow name.",
"description": "Expects a JSON array of workflow names in the request body.\r\nExample:\r\n\r\n[\"Request # 00020998\",\"Request # 00020995\",\"CNDA0207\"]\r\n",
"operationId": "Workflow_SearchAuditTrailDetails",
"consumes": [
"application/json",
"text/json",
"application/xml",
"text/xml",
"application/x-www-form-urlencoded"
],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "workflowNames",
"in": "body",
"description": "List of workflow names to query. Must not be null or empty.",
"required": true,
"schema": {
"type": "array",
"items": {
"type": "string"
}
}
}
],
"responses": {
"200": {
"description": "Audit trail information was found and returned.",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/AuditTrailDetailList"
}
}
},
"400": {
"description": "The input was invalid (e.g., null or empty list)."
},
"401": {
"description": "Authentication is required or has failed."
},
"403": {
"description": "The caller is not authorized for the current tenant."
},
"500": {
"description": "An unexpected error occurred."
}
}
}
},
"/v1/workflows/all": {
"get": {
"tags": [
"Workflows"
],
"summary": "All Workflows",
"description": "Method that will return all dashboard workflows (does not support OData filtering yet)",
"operationId": "Workflows_GetAll",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "pageSize",
"in": "query",
"description": "Page size",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "page",
"in": "query",
"description": "Number of displayed page",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "configurationId",
"in": "query",
"description": "Id of Workflow Dashboard configuration",
"required": false,
"type": "string",
"format": "uuid"
},
{
"name": "search",
"in": "query",
"description": "Text for search filter",
"required": false,
"type": "string"
},
{
"name": "orderBy",
"in": "query",
"description": "Field name for sorting",
"required": false,
"type": "string"
},
{
"name": "orderDirection",
"in": "query",
"description": "Direction of sorting. Possible values: ASC, DESC",
"required": false,
"type": "string"
},
{
"name": "advancedFilter",
"in": "query",
"description": "Advanced filter for records (e.g. : column1~startswith~'value'~and~column2~eq~'value')",
"required": false,
"type": "string"
},
{
"name": "dynamicColumns",
"in": "query",
"description": "Dynamic columns separated with comma to select and filter on",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/DashboardWorkflowsList"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/workflows/my": {
"get": {
"tags": [
"Workflows"
],
"summary": "Assigned Workflows",
"description": "Method that will return workflows related to requestor (does not support OData filtering yet)",
"operationId": "Workflows_GetMy",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "pageSize",
"in": "query",
"description": "Page size",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "page",
"in": "query",
"description": "Number of displayed page",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "configurationId",
"in": "query",
"description": "Id of Workflow Dashboard configuration",
"required": false,
"type": "string",
"format": "uuid"
},
{
"name": "search",
"in": "query",
"description": "Text for search filter",
"required": false,
"type": "string"
},
{
"name": "orderBy",
"in": "query",
"description": "Field name for sorting",
"required": false,
"type": "string"
},
{
"name": "orderDirection",
"in": "query",
"description": "Direction of sorting. Possible values: ASC, DESC",
"required": false,
"type": "string"
},
{
"name": "advancedFilter",
"in": "query",
"description": "Advanced filter for records (e.g. : column1~startswith~'value'~and~column2~eq~'value')",
"required": false,
"type": "string"
},
{
"name": "dynamicColumns",
"in": "query",
"description": "Dynamic columns separated with comma to select and filter on",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/DashboardWorkflowsList"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/workflows/actionrequired": {
"get": {
"tags": [
"Workflows"
],
"summary": "Action Required Workflows",
"description": "Method that will return workflows that required action of requestor (does not support OData filtering yet)",
"operationId": "Workflows_GetActionRequired",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "pageSize",
"in": "query",
"description": "Page size",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "page",
"in": "query",
"description": "Number of displayed page",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "configurationId",
"in": "query",
"description": "Id of Workflow Dashboard configuration",
"required": false,
"type": "string",
"format": "uuid"
},
{
"name": "search",
"in": "query",
"description": "Text for search filter",
"required": false,
"type": "string"
},
{
"name": "orderBy",
"in": "query",
"description": "Field name for sorting",
"required": false,
"type": "string"
},
{
"name": "orderDirection",
"in": "query",
"description": "Direction of sorting. Possible values: ASC, DESC",
"required": false,
"type": "string"
},
{
"name": "advancedFilter",
"in": "query",
"description": "Advanced filter for records (e.g. : column1~startswith~'value'~and~column2~eq~'value')",
"required": false,
"type": "string"
},
{
"name": "dynamicColumns",
"in": "query",
"description": "Dynamic columns separated with comma to select and filter on",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/DashboardWorkflowsList"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/workflows/getarchivedrecords": {
"get": {
"tags": [
"Workflows"
],
"summary": "GetArchivedRecords",
"description": "Method that will return workflows that that have been archived",
"operationId": "Workflows_GetArchivedRecords",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "pageSize",
"in": "query",
"description": "Page size",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "page",
"in": "query",
"description": "Number of displayed page",
"required": true,
"type": "integer",
"format": "int32"
},
{
"name": "search",
"in": "query",
"description": "Text for search filter",
"required": false,
"type": "string"
},
{
"name": "orderBy",
"in": "query",
"description": "Field name for sorting",
"required": false,
"type": "string"
},
{
"name": "orderDirection",
"in": "query",
"description": "Direction of sorting. Possible values: ASC, DESC",
"required": false,
"type": "string"
},
{
"name": "advancedFilter",
"in": "query",
"description": "Advanced filter for records (e.g. : column1~startswith~'value'~and~column2~eq~'value')",
"required": false,
"type": "string"
},
{
"name": "additionalDynamicColumns",
"in": "query",
"description": "Dynamic columns separated with comma to select and filter on",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/BasicWorkflowDetailsList"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/workflows/{taskId}/view": {
"get": {
"tags": [
"Workflows"
],
"summary": "Task Values",
"description": "View values from specific workflow task by \"taskId\"",
"operationId": "Workflows_GetTaskValues",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "taskId",
"in": "path",
"description": "ID of workflow task",
"required": true,
"type": "string",
"format": "uuid"
},
{
"name": "include",
"in": "query",
"description": "Additional properties to include. Use \"fieldCode\" value to add EchoSign code to result.",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"type": "array",
"items": {
"$ref": "#/definitions/TaskValue"
}
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/workflows/form": {
"get": {
"tags": [
"Workflows"
],
"summary": "Form Info",
"description": "View form info for workflow initiation or continuation. If there is only templateId provided - will return info for start stage.",
"operationId": "Workflows_GetWorkflowForm",
"consumes": [],
"produces": [
"application/json",
"text/json",
"application/xml",
"text/xml"
],
"parameters": [
{
"name": "templateId",
"in": "query",
"description": "ID of workflow template",
"required": false,
"type": "string",
"format": "uuid"
},
{
"name": "tokenId",
"in": "query",
"description": "ID of workflow token (for continuation only)",
"required": false,
"type": "string",
"format": "uuid"
},
{
"name": "additionalInfo",
"in": "query",
"description": "Adds additional field info into result",
"required": false,
"type": "boolean"
}
],
"responses": {
"200": {
"description": "Ok",
"schema": {
"$ref": "#/definitions/WorkflowForm"
}
},
"404": {
"description": "Not Found"
}
}
}
},
"/v1/workflows/{templateId}/form": {
"post": {
"tags": [
"Workflows"
],
"summary": "Initiate",
"description": "Initiates workflow by workflow template ID. Allowed content types: \r\n