Which API Should I Use?

Before building, determine which API best fits your use case

Overview

This article provides an overview of the Classic and Jamf Pro APIs with a focus on helping you determine which API is right for the solution your team is developing.

The Basics

The Classic API was introduced over a decade ago and continues to provide a stable foundation on which to build tools and applications that interface with Jamf Pro. Given its maturity, some of technologies used may no longer be considered modern or best practices. Rest assured, it's not going anywhere, anytime soon and will continue to provide the same level of functionality for the foreseeable future.

The Jamf Pro API was released for production usage in v10.25.0 and provides a more modern approach to interfacing with Jamf Pro. While the Jamf Pro API is continuing to be built, new Jamf Pro features and functionality are likely to be available exclusively via this API. Although the feature coverage it provides today is not as extensive as the Classic API, new endpoints are being delivered regularly.

Classic APIJamf Pro API
AuthorizationBasic Auth (deprecated)
OAuth (ROPC grant type)
OAuth (Client Credentials)
OAuth (ROPC grant type)
OAuth (Client Credentials)
SchemaFull XML Support
JSON Support for GET operations
Full JSON Support
Filtering, Sorting and PaginationNoYes
Endpoint VersioningNoYes

Making a Choice

Now that we understand a little of the history and have a basic overview of some fundamentals of each API, let's explore some of the finer details.

In addition to endpoint versioning, the Jamf Pro API supports a preview mode, which allows consumers to get a sneak peek at endpoints that are in the process of being released. While endpoints in this preview state are functional, there will likely be changes to them before they're released as v1. Use these at your own risk, as future versions of Jamf Pro will likely require updates to your tools or applications, to continue using these endpoints.

Generally speaking, Jamf recommends the use of the Jamf Pro API, given that the feature or functionality you're looking to leverage is supported. The Classic API is a great alternative when the feature you intend to leverage isn't yet supported in the Jamf Pro API. In some cases, a combination of both may be necessary, depending on the workflow.

We'd love to get your feedback and learn more about the features you're hoping to take advantage of in our APIs. The best way to provide feedback is via Jamf Nation Feature Requests. Make sure to tag your requests with "API".