User GuidesAPI ReferenceRelease NotesEnrichment APIs
Doc HomeSupportLog In

Using the Tamr Core API

Use the Tamr Core API to complete all of the tasks available through the Tamr Core user interface (UI), and certain additional tasks that can be completed only via the API.

This API Reference provides specifications for the function calls and responses of the Tamr Core versioned APIs, with example calls available in cURL, Node, Ruby, PHP, Python, and other languages.

The More menu lets you pick different languages to view the endpoint call.The More menu lets you pick different languages to view the endpoint call.

The More menu lets you pick different languages to view the endpoint call.

Other resources for using the API include:

  • Interactive Swagger API documentation, described in the section below.
  • Tamr Python Client, a specialized library to use for direct interactions with Tamr Core.
  • Tamr Toolbox, a Python library created to provide a simple interface for common interactions with Tamr Core and common data workflows that include Tamr Core.

This API Reference is based on the Swagger API documentation for the versioned service and complements it by providing additional context for many of the endpoints as well as the different language options noted above.

Note: This API Reference is not interactive. The Try it option that appears below an example call is a non-functional artifact from the Swagger source.

Versioned and Non-versioned APIs

Tamr provides versioned and non-versioned APIs. Tamr strongly recommends using endpoints in the versioned service only, and does not guarantee continued support for the non-versioned API services. See Versioning.

Using the Swagger API Documentation

Interactive Swagger API documentation is installed with each Tamr Core instance. You can access this documentation at http://<tamr_ip>:9100/docs. To execute single-time actions or test calls for an automated workflow, you can “try out” API calls in the Swagger documentation interface. These calls return data based on your user permissions and role.

When you use the interactive Swagger documentation to “try it out”, Swagger generates a cURL command and a request URL:

  • You can copy the cURL command to use in a CLI tool or script. See the procedure that follows.
  • For a GET method, you can copy the request URL and use it in a browser. You cannot use the request URL for other methods.

In the Swagger documentation, several services offer different resources. Tamr highly recommends using only the resources and endpoints in the versioned service, as shown in the image below.

Tamr Core versioned API in Swagger documentation.Tamr Core versioned API in Swagger documentation.

Tamr Core versioned API in Swagger documentation.

To execute API calls in the Swagger documentation:

  1. Navigate to http://<tamr_ip>:9100/docs for your Tamr Core instance and then select a service. For example, select versioned.
  2. Enter your username and password for the Tamr Core instance at the top of the page and select Use Credentials.
  3. Locate the resource and the functionality you want to execute. Select the endpoint (for example, GET/v1/datasets) to expand the information panel for this API endpoint.
  4. Enter any information required for the request into the text fields.
  5. Select the Try it Out button to submit the API call. The response appears below the button.

Tip: If the result is an error, check that you entered the required information in the correct format, and read the error message to understand the problem.

Each time you select the Try It Out button, the cURL command that you can use to make that same API call appears, as shown in the image below. When you are comfortable using the APIs, you can copy these commands to modify and use them.

Example of a cURL command.Example of a cURL command.

Example of a cURL command.

cURL Command Considerations for Windows/DOS Users

All cURL API command examples in this guide are based on Mac/Linux. The Windows/DOS command prompt does not support single quotes. cURL statements use single quotes to specify JSON data. In addition, linefeeds in scripts that span multiple lines are escaped differently in Windows/DOS.

The simplest solution is to set up a Bash shell in your Windows environment. In this case, you do not need to modify the cURL command examples.

If you cannot set up the Bash shell, you can use one of these two options:

  • Move the JSON data payload into a separate text file. With this solution, you do not need any single quotes to surround the curly braces.
  • Modify the cURL command by using double quotes around the JSON data and then escaping all of the inner double quotes. In addition, if this is a multi-line cURL command, replace the the backslash (\) used to continue the line with a carat (^).

The ZenDesk Installing and using cURL article provides more detailed information about running cURL commands in Windows/DOS environments.