Skip to main content
Mitratech Success Center

TAP API Documentation

TAP's API utilizes Microsoft's OData standard for call URL Elements & parameters. Find a guide to these features here.

POST Access Token /auth/identity/connect/token Generates an access token for use in subsequent calls.

URL Elements & Parameters

Tenant Name - The subdomain of your environment e.g. default.tap.thinksmart.com

Environment

Body Elements

grant_type - password

scope - api

redirect_uri - tapredirect (Typical default value, reach out to Mitratech to confirm)

username - The registered user to be authorized

password - That user's password

client_id - To be obtained from Mitratech

client_secret - To be obtained from Mitratech

Sample Request

HTTP
POST
/default/auth/identity/connect/token HTTP/1.1
Host: default.stagingtap.thinksmart.com
Content-Type: application/x-www-form-urlencoded

grant_type=password&scope=api&redirect_uri=tapredirect&username=test@test.com&password=UserPassWord&client_id=6b95e19lc3774a9a900e72287ffcefa4&client_secret=qSYBt+HkGTElD+FpKs3ItdUbRZHVeyvZvj1a/Tt5C4M=

Sample Response

{
  "access_token": "d57fc1d99d15f18f9234aa181853d805",
  "expires_in": 3600,
  "token_type": "Bearer"
}

Live

Live Response

GET Download by ID /api/v1/files/{id} Method which will return a file by id. Use GET File Attachments to get the file ids from a specific workflow record.

URL Elements & Parameters

{id} - The id of the file you want to download.

Sample Request

HTTP
GET
/default/api/v1/files/ef821349-695b-414f-8d40-78dde3fa3eb1 HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer ad98e0b76d9a90543c8b4bd9953cec1c

Sample Response

Octet stream of file body.

Live

Live Response

GET Tenant Configurations /api/v1/gridconfigurations/tenant Method which will return all dashboard grid configurations.

URL Elements & Parameters

$top - The max number of records

$skip - The number of records to skip

$filter - A function that must evaluate to true for a record to be returned

$select - Specifies a subset of properties to return

$orderby - Determines what values are used to order a collection of records

$inlinecount - Set 'allpages' if you want to have total count value in result

Sample Request

HTTP
GET
/default/api/v1/gridconfigurations/tenant?$top=1&$skip=0&$filter=Name eq 'Cole API Training' HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer e2f3bc12116f1d87f35d01a62526b7e1

Sample Response

{
  "Items": [
    {
      "ID": "2dbfc80d-5fb4-458d-ab92-2e2abbec11cc",
      "Name": "Cole API Training",
      "Description": "Cole API Training",
      "Configuration": null,
      "UserID": null,
      "ApplicationID": "00000000-0000-0000-0000-000000000000",
      "IsPinned": false,
      "IsTenant": true,
      "IsDefault": false,
      "HasURL Elements & Parameters": false,
      "DateCreated": "2019-10-03T18:06:13.732",
      "UserCreated": "3883892d-81e0-4606-a18c-406a3ca09355",
      "DateModified": "2020-04-29T22:02:47.787",
      "UserModified": "3883892d-81e0-4606-a18c-406a3ca09355"
    }
  ],
  "NextPageLink": null,
  "Count": null
}

Live

Live Response

GET User Configurations /api/v1/gridconfigurations/user Method that will return all dashboard grid configurations visible for current user

URL Elements & Parameters

$top - The max number of records

$skip - The number of records to skip

$filter - A function that must evaluate to true for a record to be returned

$select - Specifies a subset of properties to return

$orderby - Determines what values are used to order a collection of records

$inlinecount - Set 'allpages' if you want to have total count value in result

Sample Request

HTTP
GET
/default/api/v1/gridconfigurations/user HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer 5b79de7c00961bfebd24c10f95e30ce6

Sample Response

{
"Items": [
  {
    "ID": "cb5b946c-d965-4925-ab1b-f2f6cc3fdd53",
    "Name": "User default",
    "Description": null,
    "Configuration": null,
    "UserID": "b24626a6-6d61-4b76-99f6-3ed4b4606468",
    "ApplicationID": "00000000-0000-0000-0000-000000000000",
    "IsPinned": false,
    "IsTenant": false,
    "IsDefault": false,
    "HasParameters": false,
    "DateCreated": "2020-05-18T15:23:55.642",
    "UserCreated": "b24626a6-6d61-4b76-99f6-3ed4b4606468",
    "DateModified": "2020-05-18T15:23:55.642",
    "UserModified": "b24626a6-6d61-4b76-99f6-3ed4b4606468"
  }
],
"NextPageLink": null,
"Count": null
}

Live

Live Response

GET Configuration by ID /api/v1/gridconfigurations/{id} Method which returns the details of a grid configuration by id.

URL Elements & Parameters

{id} - The id of the grid configuration returned from the tenant configurations or user configurations call.

Sample Request

HTTP
GET /default/api/v1/gridconfigurations/cb5b946c-d965-4925-ab1b-f2f6cc3fdd53 HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer 5b79de7c00961bfebd24c10f95e30ce6

Sample Response

{
  "ID": "cb5b946c-d965-4925-ab1b-f2f6cc3fdd53",
  "Name": "User default",
  "Description": null,
  "Configuration": null,
  "UserID": "b24626a6-6d61-4b76-99f6-3ed4b4606468",
  "ApplicationID": "00000000-0000-0000-0000-000000000000",
  "IsPinned": false,
  "IsTenant": false,
  "IsDefault": false,
  "HasParameters": false,
  "DateCreated": "2020-05-18T15:23:55.642",
  "UserCreated": "b24626a6-6d61-4b76-99f6-3ed4b4606468",
  "DateModified": "2020-05-18T15:23:55.642",
  "UserModified": "b24626a6-6d61-4b76-99f6-3ed4b4606468"
}

Live

Live Response

GET Available Templates /api/v1/templates/dashboard Returns available workflow templates for visible on dashboard

URL Elements & Parameters

$top - The max number of records

$skip - The number of records to skip

$filter - A function that must evaluate to true for a record to be returned

$select - Specifies a subset of properties to return

$orderby - Determines what values are used to order a collection of records

$inlinecount - Set 'allpages' if you want to have total count value in result

Sample Request

HTTP
GET /default/api/v1/templates/dashboard?$filter=WorkflowName eq 'Cole API Training 2020' HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

{
  "Items": [
    {
      "ID": "f5031928-95d6-4169-8d95-a9fc5b89c5ae",
      "WorkflowName": "Cole API Training 2020",
      "InitialStage": "Description for stage 1",
      "DateCreated": "2020-03-30T10:48:39.257"
    }
  ],
  "NextPageLink": null,
  "Count": null
}

Live

Live Response

GET User info by ID /api/v1/users/{id} Method which returns user info by id.

URL Elements & Parameters

{id} - The id of the user in question.

Sample Request

HTTP
GET /default/api/v1/users/b24626a6-6d61-4b76-99f6-3ed4b4606468? HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

{
  "ID": "b24626a6-6d61-4b76-99f6-3ed4b4606468",
  "FullName": "Cole API User",
  "Email": "test@test.com",
  "Roles": [
    "Super Admin"
  ],
  "Departments": [
    "Global"
  ],
  "ESignKey": "test2@test.com",
  "CustomFields": [
    {
      "Key": "Employee Type",
      "Value": "Full Time"
    }
  ]
}

Live

Live Response

GET Current User /api/v1/users/current Returns authenticated user info.

Sample Request

HTTP
GET /default/api/v1/users/current HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

{
  "ID": "b24626a6-6d61-4b76-99f6-3ed4b4606468",
  "FullName": "Cole API User",
  "Email": "test@test.com",
  "Roles": [
    "Super Admin"
  ],
  "Departments": [
    "Global"
  ],
  "ESignKey": "test2@test.com",
  "CustomFields": [
    {
      "Key": "Employee Type",
      "Value": "Full Time"
    }
  ]
}

Live

Live Response

GET All Users /api/v1/users Returns TAP users info.

URL Elements & Parameters

$top - The max number of records

$skip - The number of records to skip

$filter - A function that must evaluate to true for a record to be returned

$select - Specifies a subset of properties to return

$orderby - Determines what values are used to order a collection of records

$inlinecount - Set 'allpages' if you want to have total count value in result

Sample Request

HTTP
GET /default/api/v1/users?$filter=FullName eq 'Cole API User' HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

{
  "Items": [
    {
      "ID": "b24626a6-6d61-4b76-99f6-3ed4b4606468",
      "FullName": "Cole API User",
      "Email": "cole.apiuser@cole.com",
      "Roles": [
        "Super Admin"
      ],
      "Departments": [
        "Global"
      ],
      "ESignKey": "test@test.com",
      "CustomFields": [
        {
          "Key": "Employee Type",
          "Value": "Full Time"
        }
      ]
    }
  ],
  "NextPageLink": null,
  "Count": null
}

Live

Live Response

GET All Workflows /api/v1/workflows/all Method that will return all dashboard workflows (does not support OData filtering yet).

URL Elements & Parameters

pageSize - Page size (Required)

page - Number of displayed page (Required)

configurationId - Id of Workflow Dashboard configuration

search - Text for search filter

orderBy - Field name for sorting

orderDirection - Direction of sorting. Possible values: ASC, DESC

advancedFilter - Advanced filter for records (e.g. : column1~startswith~'value'~and~column2~eq~'value')

dynamicColumns - Dynamic columns separated with comma to select and filter on

Sample Request

HTTP
GET /default/api/v1/workflows/all?pageSize=1&page=1 HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

{
  "Items": [
    {
      "ResultSetId": "de7d60b1-ec0b-4d90-8988-0a3d8d3727e9",
      "TaskId": "de7d60b1-ec0b-4d90-8988-0a3d8d3727e9",
      "TokenId": "67f44d69-2a50-4501-9579-04c49f9f6735",
      "Columns": [
        {
          "Name": "__WorkflowName__",
          "Label": "Workflow Name",
          "Value": "Request # 00489724"
        },
        {
          "Name": "__WorkflowDescription__",
          "Label": "Workflow Description",
          "Value": "Time Range Test"
        },
        {
          "Name": "__CurrentAssignee__",
          "Label": "Current Assignee",
          "Value": "Cole Stewart (2nd)"
        },
        {
          "Name": "__DateLastUpdated__",
          "Label": "Last Updated",
          "Value": "5/14/2020 9:09:29 AM"
        },
        {
          "Name": "__DateCreated__",
          "Label": "Created",
          "Value": "5/14/2020 9:09:29 AM"
        },
        {
          "Name": "__DateSigned__",
          "Label": "Date Signed",
          "Value": ""
        },
        {
          "Name": "__DateCompleted__",
          "Label": "Completed",
          "Value": ""
        },
        {
          "Name": "__Status__",
          "Label": "Status",
          "Value": "Relationship 1"
        },
        {
          "Name": "__DocumentIdentifier__",
          "Label": "Document ID",
          "Value": ""
        },
        {
          "Name": "__EndDate__",
          "Label": "End Date",
          "Value": "12/31/2033 12:00:00 AM"
        },
        {
          "Name": "__FormProgress__",
          "Label": "Stage Progress",
          "Value": "0"
        },
        {
          "Name": "__NextSigner__",
          "Label": "Next Signer",
          "Value": ""
        }
      ],
      "Actions": [
        "edit_",
        "remove_",
        "attachments_",
        "cancel",
        "continue",
        "auditTrail",
        "changeUser",
        "offline_"
      ]
    }
  ],
  "Count": 159072
}

Live

Live Response

GET Task Values /api/v1/workflows/{taskId}/view View values from specific workflow task by "{taskId}"

URL Elements & Parameters

{taskId} - ID of workflow task

include - Additional properties to include. Use "fieldCode" value to add EchoSign code to result.

Sample Request

HTTP
GET /default/api/v1/workflows/97244a03-df1a-403e-8913-ad6706ad3b46/view HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

[
  {
    "Label": "From",
    "Value": "05/12/2020"
  },
  {
    "Label": "Is all information accurate?",
    "Value": "Option 1"
  },
  {
    "Label": "1. Record Code Name",
    "Value": "Accounts Payable"
  },
  {
    "Label": "1. Retention Period",
    "Value": "7 Years"
  },
  {
    "Label": "1. Record Code",
    "Value": "ACC-1020"
  },
  {
    "Label": "To",
    "Value": "05/12/2020"
  },
  {
    "Label": "Description",
    "Value": "asdf"
  },
  {
    "Label": "Records Review Due Date",
    "Value": "05/12/2020"
  },
  {
    "Label": "Select Request Type",
    "Value": "Option 1"
  },
  {
    "Label": "Submission Date",
    "Value": "05/12/2020"
  },
  {
    "Label": "Your Email",
    "Value": "test@test.com"
  },
  {
    "Label": "Is review by all attorneys required?",
    "Value": "Option 2"
  },
  {
    "Label": "Record Location",
    "Value": "adsf"
  },
  {
    "Label": "Destruction Eligibility Date",
    "Value": "05/12/2020"
  }
]

Live

Live Response

GET Form Info /api/v1/workflows/form View form info for workflow initiation or continuation. If there is only templateId provided - will return info for start stage.

URL Elements & Parameters

templateId - ID of workflow template

tokenId - ID of workflow token (for continuation only)

additionalInfo - Adds additional field info into result

Sample Request

HTTP
GET /default/api/v1/workflows/form?templateId=f5031928-95d6-4169-8d95-a9fc5b89c5ae HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

{
  "TemplateId": "f5031928-95d6-4169-8d95-a9fc5b89c5ae",
  "ResultSetId": null,
  "TaskId": null,
  "TokenId": null,
  "TemplateName": "Cole API Training 2020",
  "Title": null,
  "StageTitle": "Stage 1",
  "Status": null,
  "ActiveRelationship": null,
  "IsContinuable": true,
  "CurrentAssignee": null,
  "IsWizardEnabled": false,
  "FormSections": [
    {
      "title": "Form",
      "sectionIndex": 0
    },
    {
      "title": "Submit",
      "sectionIndex": 1
    }
  ],

  "AdditionalWorkflowInfo": {
    "allConditions": []
  },
  "FormFields": [
    {
      "ID": "form-element-wrapper_1",
      "Name": "element1",
      "Label": "Text 1 User Readable",
      "Value": "",
      "Required": false,
      "Editable": true,
      "Validation": "",
      "FieldType": "text-box",
      "AdditionalInfo": null
    },
    {
      "ID": "form-element-wrapper_3",
      "Name": "element3",
      "Label": "Area 1",
      "Value": "",
      "Required": false,
      "Editable": true,
      "Validation": null,
      "FieldType": "text-area",
      "AdditionalInfo": null
    },
    {
      "ID": "form-element-wrapper_4",
      "Name": "element4",
      "Label": "Dropdown 1",
      "Value": "",
      "Required": false,
      "Editable": true,
      "Validation": "drop-down",
      "FieldType": "drop-down",
      "AdditionalInfo": null
    },
    {
      "ID": "form-element-wrapper_6",
      "Name": "element6",
      "Label": "Radio 1",
      "Value": "",
      "Required": false,
      "Editable": true,
      "Validation": "radio-button",
      "FieldType": "radio-button",
      "AdditionalInfo": null
    },
    {
      "ID": "form-element-wrapper_7",
      "Name": "element7",
      "Label": "File Field 1",
      "Value": "",
      "Required": false,
      "Editable": true,
      "Validation": null,
      "FieldType": "file-upload",
      "AdditionalInfo": null
    }
  ]
}

Live

Live Response

POST Initiate /api/v1/workflows/{templateId}/form Initiates workflow by workflow template ID.

URL Elements & Parameters

templateId - ID of workflow template

Allowed Content Types

multipart/form-data (only way to submit files) in structure fieldName:fieldValue
application/x-www-form-urlencoded in structure fieldName=fieldValue
application/json in structure { "fieldName" : "fieldValue" }

Request Body

Sample Request

HTTP
POST /default/api/v1/workflows/f5031928-95d6-4169-8d95-a9fc5b89c5ae/form HTTP/1.1
Host: default.stagingtap.thinksmart.com
Content-Type: application/json
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

{
  "element1": "Cole",
  "element3": "This is an area field \n don't you know",
  "element4": "Dogs",
  "element6": "One"
}

Sample Response

{
  "ResultSetId": "e5dc17e3-bee1-4e52-9015-f67849827a67",
  "TokenCollection": [
    "10a73c62-7ed3-4c85-80cb-e15d22381937"
  ]
}

Live

Live Response

PUT Continue /api/v1/workflows/{tokenId}/form Submit active workflow by Token ID.

URL Elements & Parameters

{tokenId} - ID of workflow token

Allowed Content Types

multipart/form-data (only way to submit files) in structure fieldName:fieldValue
application/x-www-form-urlencoded in structure fieldName=fieldValue
application/json in structure { "fieldName" : "fieldValue" }

Request Body

Sample Request

HTTP
PUT /default/api/v1/workflows/024775a4-ba29-4a47-a113-08d2173d66a5/form HTTP/1.1
Host: default.stagingtap.thinksmart.com
Content-Type: application/json
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

{
  "element1": "Cole 2"
}

Sample Response

{
  "ResultSetId": "9d4422f6-b671-46d9-9a59-bd70c4d25131",
  "TokenCollection": [
    "da85043a-ee64-4e79-a980-cba29540a93d"
  ]
}

Live

Live Response

GET File Attachments /api/v1/workflows/{resultSetId}/files View workflow attachments by resultSetId

URL Elements & Parameters

{resultSetId} - ID of workflow

Sample Request

HTTP
GET /default/api/v1/workflows/21c237e9-80ff-4a77-93f1-5a6502537d06/files HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

[
  {
    "ID": "340657b6-c209-4bc7-a4e7-525a46147fb9",
    "Name": "Example.pdf",
    "UploadedBy": "Cole API User",
    "UploadedOn": "2020-05-17T23:59:59"
  }
]

Live

Live Response

DELETE Cancel Sent Documents /api/v1/workflows/{resultSetId}/docs Terminates workflow instance by resultSetId

URL Elements & Parameters

{resultSetId} - Unique ID of workflow instance

onlyReminders - Resets only reminders of workflow ("cancel and continue" if false)

Sample Request

HTTP
DELETE /default/api/v1/workflows/f4556b4b-b1b6-4311-8535-30680962da4e/docs HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

"f15c5db3-4fbb-467d-a06d-c2ae6d6ef883"

Live

Live Response

GET Signed Documents /api/v1/workflows/{resultSetId}/docs View workflow signed documents by resultSetId

URL Elements & Parameters

{resultSetId} - Unique ID of workflow instance

Sample Request

HTTP
GET /default/api/v1/workflows/0343d707-68a9-4169-894b-4d10b511c489/docs HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

[
  {
    "ID": "24db6805-65c1-4116-ae19-c11213e2db21",
    "Name": "Example_20200518",
    "Status": "Signed",
    "SignedOn": "2020-05-18T09:04:58.89",
    "AgreementID": "3AAABLblqZhCFTIk62mlFlFg_z_qogm-R7D4bbfz2LyntZ5B85ckGzT98lgR_YNoCDouaY3Iq0AB8V3kPK1gnd59Mpgv5Ggjz",
    "UploadedOn": "2020-05-18T09:04:37.363",
    "UploadedBy": "Cole Stewart (2nd)"
  }
]

Live

Live Response

DELETE Cancel Workflow /api/v1/workflows/{resultSetId}/cancel Cancels workflow instance by resultSetId

URL Elements & Parameters

{resultSetId} - Unique ID of workflow instance

Sample Request

HTTP
DELETE /default/api/v1/workflows/1ee7fe50-c779-4f46-ace8-7197ed04bb63/cancel HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

-- 1154 No Content --

Live

Live Response

PUT Reassign Workflow /api/v1/workflows/{tokenId}/assign/{userId} Assigns new user to specific workflow token by tokenId

URL Elements & Parameters

{tokenId} - ID of workflow token (Required)

userId - New user ID (Required)

message - (Required)

Sample Request

HTTP
PUT /default/api/v1/workflows/4420b8cc-3e37-45c6-8292-f6f86f2a260d/assign/3883892d-81e0-4606-a18c-406a3ca09355? HTTP/1.1
Host: default.stagingtap.thinksmart.com
Authorization: Bearer d57fc1d99d15f18f9234aa181853d805

Sample Response

-- 1150 OK --

Live

Live Response

  • Was this article helpful?