REST Overview

A RESTful API is an application program interface (API) that uses HTTPS requests to perform CRUD operations. A RESTful API is based on representational state transfer (REST) architectural principles.

A RESTful API explicitly takes advantage of HTTP methodologies. The API uses POST to create a resource, GET to read a resource, PUT to update a resource, and DELETE to remove a resource.

REST API calls are stateless; nothing is saved that has to be remembered by the next API call. This statelessness has made REST the preferred architecture for interoperability between computer systems on the Internet, enabling the components built on top of a REST API to have better performance and greater reliability and scalability.

Resources

The central concept in REST is a resource. A resource is any object a company wants to make available (expose) to customers. Public APIs on the web enable developers to access objects such as documents, files, images, and database fields.

You access a resource by making a request to a REST endpoint, which is just a URL. For example, within the DPS Contacts hub, you can access any contact your role permits with a URL of the form:
https://<base_URL>/contact/<contact_ID>

When you access the URL for a resource, you get a representation of the current state of the resource. For a contact, this representation contains all of the data in the hub for that contact.

When interacting with a resource, a client program must specify the data representation. Deltek REST APIs require all requests to use the JSON format. To update the state of a DPS resource, a client program must send a request with the new state of the resource represented using JSON. The API returns any data in the response using JSON.