API Guidelines

From Delft Solutions
Jump to navigation Jump to search
  • Clients must never construct URLs without a template.
  • Versioning should be done using Content Type Negotiation.
  • Resources should use HTTP Caching.
  • Relationships between resources should be modeled using links.
  • Updates to resources should use Optimistic Concurrency using ETags.
  • GET, DELETE and PUT must be idempotent.
  • Pagination should use absolute ids for offset calculation instead of relative to the first page.
  • Media Types should have a description of the format to expect as well as the interactions you can make when you're viewing that resource.
  • The API should be explorable using a web browser.
  • The API should be implemented in an Offensive Coding style, it should complain loudly when it receives something it did not expect.