What is an Application Program Interface (API)?

REST architecture

Graphic User Interface (GUI) REST client

Authentication

Requests

Responses

Project: Using the Workfront API

Return to Navigation

What is an Application Program Interface (API)?

At its most basic level, an Application Program Interface (API) functions as a translator between other programs that might not speak the same language. For example, a program that facilitates communication between a program on your laptop and a remote server is a simple representation of an API.

A specific example of an API would be a program like Google Maps. When you search for a map, the application requests information from Google's servers and displays the response on your phone screen. Notice that Google Maps works across many different devices, whether those devices are based on software from Microsoft, Android, Apple, or any other popular platform. This is possible because the coding for the graphic user interface (GUI) aspect of the program differs by platform, but the language that Google Maps uses to make requests (from Google servers) and distribute responses (across different devices) is essentially the same. To summarize, Google Maps is an API because it can receive input from different platforms, translate that input for Google's servers, then display the information that it receives.

The Workfront API is a platform that allows developers to construct custom features that may not be included as part of a standard Workfront release. Using the Workfront API, you can integrate Workfront with different programs, build custom reports, or even construct your own programs that interface directly with Workfront and Workfront products.

The Workfront API and REST architecture

The goal of the Workfront API is to simplify building integrations for Workfront by introducing a REST architecture that operates over HTTP. Representational State Transfer (REST) is a software architectural style specific to web services. Programs that are built using REST architecture are considered to be RESTful. RESTful APIs make programming more accessible, code easier to work with, and programs scalable across multiple platforms.

Among the different types of web-service architecture, the two most widely used are Simple Object Access Protocol (SOAP) and Representational State Transfer (REST). SOAP is much older than REST, and it's still widely used because of its power and versatility. However, SOAP can also be cumbersome, confusing, and slow, especially with relation to web-based services. REST has become increasingly popular because it's simple, easy to learn, and efficient. This is largely due to the fact that REST architecture is structurally closer to web-based services than SOAP. Additionally, REST is language agnostic and can facilitate communication between different computers, programs, and servers--regardless of their operating languages--while SOAP operates on an exclusively XML-based protocol.

To learn more about REST architecture and how it applies to the Workfront API visit REST architecture

Graphic User Interface REST client

Working with APIs requires familiarity with a variety of user interfaces (UIs). For the purposes of simplicity, the examples featured throughout the Getting Started documentation will be featured primarily from a program called Postman.

Postman is a GUI client that makes the text-based requests and responses of APIs easier to read and organize. With the ability to save requests, responses, authentication credentials, and many more convenient features, Postman is more than just a visualization tool. Additionally, Postman works well with many other popular UIs and is available free for both PC and Mac platforms.

For more details about Postman and how you it is used to interact with the Workfront API visit GUI REST client

Authentication

It's rare to encounter an API database that doesn't require some sort of authentication. It might seem obvious, but it's worth noting that many API databases deal with sensitive information. While there are a lot of API databases that are open source and don't necessarily deal with sensitive information, companies that maintain these data sets typically require some sort of authentication to track how their information is being used.

The Workfront API requires authentication because it deals with information that is confidential to different companies and individuals within those organizations. In order to perform operations using Workfront API functions, the correct authentication credentials are always required and vary depending on which methods you are using.

For more information about Authentication and how to authenticate all of your requests with the Workfront API visit Authentication

Requests

There are numerous ways to utilize an API, but at the core of every program is the process of sending requests and receiving responses. Before jumping right in and sending requests directly from your own program, it's important to test your requests using a UI client like Postman. This allows you to make sure that your calls are being sent correctly and to analyze what is being returned in the response.

To learn more about how a request is made to the Workfront API visit Requests

Responses

After sending a request from your UI client (as described in "Send a request"), the server sends you a response consisting of:

  • Status code: 3-digit code that indicates what type of response has been sent
  • Header: Gives additional details about a response
  • The body: Contains the bulk of information from the response

If the resource that you requested exists and has been structured correctly, the body of the response contains the information that you need for your program.

To learn more about responses, what they mean, and how they are used, visit Responses

Project: Using the Workfront API

A small project at the end of the Getting Started documentation guides you through the process of interacting with the Workfront API.

  1. Start by authenticating your identity. This ensures that you have the credentials necessary to access the information that you're looking for.
  2. Next, practice making request calls through Postman and analyzing the responses returned by the Workfront API servers.
  3. Finally, create a web application that prints the information returned from your request into a file that can be viewed using another program, such as a web viewer or text editor.

For a quick guide on how to build your own Workfront API visit Project: Using the Workfront API