Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

This is the initial draft of recommended best practices for API development and consumption at Columbia.

(warning) content below is out of date and needs to be updated.

Overview

The central feature of REST architecture is the emphasis on a uniform interface between components

...

Use the following example patterns as a guide. Implementing every HTTP method and complex search query parameters is not required but should follow these patterns when used.

Note that the above definitions have reserved the following query parameter names:

...

Basic Operation APIs are shown with examples (for the directory app, version 1):

  • GET https://<domain-app>.api.columbia.edu/v1/people people - Retrieves a list of People from directory

  • GET https://<domain-app>.api.columbia.edu/v1/people/jd1234 jd1234 - Retrieves John Doe's information based on UNI

  • POST https://<domain-app>.api.columbia.edu/v1/people people - Creates a new employee using JSON payload

  • PUT https://<domain-app>.api.columbia.edu/v1/people/jd1234 jd1234 - Updates John Doe's info in Directory

  • PATCH https://<domain-app>.api.columbia.edu/v1/people/jd1234 jd1234 - Partially updates the John Doe's info in Directory

  • DELETE https://<domain-app>.api.columbia.edu/v1/people/jd1234 jd1234 - Deletes John Doe's record in directory

  • Search GET https://<domain-app>.api.columbia.edu/v1/people?filter=[{“surname”,”like”,”Smith*”}]&sortBy=“surname”&sortOrder=“asc” “asc” - Search for people with surnames starting with Smith

...

The following metadata and special resources should be available for every application:

...

A top-level Columbia University enterprise metadata directory will contain the list of available types (schemas) and resource types (item, collection, etc.) that are used by the various applications:

SSL Everywhere

Always use SSL, no exceptions. This is enforced at the f5 load balancer (api.columbia.edu) which terminates SSL sessions.

...