API FAQs
- Applies to:
- All MindTouch Versions
Getting Started
What is an API?
API stands for Application Programming Interface. The MindTouch API provides developers the ability to access under-the-hood MindTouch functions for programming purposes.
Are there requirements when using the MindTouch API?
MindTouch API usage requires a MindTouch Enterprise license. Most API calls also require authentication, either in the form of user sign-in, or an API Token.
Do I need to have programming experience to use the MindTouch API?
Previous experience with programming and API use is required to utilize the MindTouch API. The MindTouch API is organized around REST, and is programming language independent. Your developers can utilize any programming language which supports REST based APIs to create custom applications which interact with MindTouch data.
How or when could my organization use the MindTouch API?
The MindTouch API allows developers to access page content, site tags, and user information programmatically. In short, most functionality shown in our user interface is available within the API.
What are the most common uses of the MindTouch API?
Some of the most common uses of the MindTouch API are integrating user and group management, exporting and importing content to MindTouch, and exposing MindTouch content into a custom application.
Developing with the API
What changes can I expect to see over time to a basic GET request for an object in the MindTouch schema? How will the contract change?
The only changes that may occur would be limited to the addition of data or parameters. For example, we could add a field called title for a user or a sortby parameter. API parameters are additive, we do not remove parameters from the API. Sometimes it may be required to sunset, deprecate, and remove an API endpoint.
What is the sunsetting policy for deprecated APIs?
While this is very rare, we do occasionally deprecate and remove an API endpoint. Before submitting a request to deprecate an API, the engineer creates a usage report to identify the scale and identity of utilization. Generally speaking, we would not deprecate an API that is being used without a plan to provide a low-friction alternative.
Is there a published SDK? In what languages?
MindTouch does not have official software development kits (SDKs). You can integrate with MindTouch through our REST API endpoints which are accessible in any development language. We do have code snippet examples to help you get acquainted with using a REST API, but most modern day development environments will make it extremely easy to POST, GET, DELETE, and PUT to the MindTouch API. For convenience we also link to unsupported open source MindTouch API clients on GitHub:
These clients are not supported or covered through MindTouch support plans. They can be used at your own risk in your API integrations or examined to discover how the API can be called.
What throttling or other guardrails are in place for the API?
We presently do not throttle the API under normal usage; however, we do monitor all traffic and subsequent database requests to identify spikes, abnormalities, and opportunities for enhancement. Because we can analyze API traffic information across thousands of customers, we can fine-tune the API in ways that are beneficial to everyone. If API usage triggers any limits or thresholds outlined in the MindTouch MSA (Master Service Agreement), we will attempt to contact you immediately to rectify any problems before throttling or temporarily removing access to the API.
Some API calls to fetch page content and search are counted as licensed HelpRequests. The list of API endpoints that are tracked in this manner is outlined here. If your usage of these API endpoints is on track to exceed your licensed HelpRequest count, your Account Executive will contact you to discuss upgrading your license.
Does the API support event triggers or another mechanism for real-time notification?
All MindTouch APIs provide the latest data stored in a MindTouch site's data store(s). The MindTouch API does not support web sockets or streaming. If you wanted to trigger actions from the MindTouch API, you would need to monitor your desired APIs and trigger when certain events or data changes are detected.