
Formats should be in the form of api/v2/resource/.json.
Specify optional fields in a comma separated list. If it doesn’t change the logic for each response, like OAuth info, put it in the header. If it changes the logic you write to handle the response, put it in the URL. Put the version number at the base of your URL, for example. You shouldn’t need to go deeper than resource/identifier/resource. Use HTTP verbs (GET, POST, PUT, DELETE) to operate on the collections and elements. Use plural nouns only for consistency (no singular nouns). RESTful URLs General guidelines for RESTful URLs Allow users to request formats like JSON or XML like this:. Don’t accept any requests that do not specify a version number. Put the version number of the API in the URL (see examples below). These guidelines aim to support a truly RESTful API. Web API Design, by Brian Mulloy, Apigee. API Facade Pattern, by Brian Mulloy, Apigee. Designing HTTP Interfaces and RESTful Web Services.
White House APIs aim to balance a truly RESTful API interface with a positive developer experience (DX). This document provides guidelines and examples for White House Web APIs, encouraging consistency, maintainability, and best practices across applications.