adidas
API countsHow many endpoints/resources in an API? |
Global designGeneral considerations on API design |
GovernanceHow to ensure API governance (advertise, consistency, …) |
Updates and VersioningHow to handle API updates and versioning |
AsynchronicityHow to handle long operations |
FilteringHow to select some resources in a collection |
PaginationHow to retrieve a range of resources in a collection |
Standards dataWhich standard use for values like languages, countries, currencies, …
|
Date and TimeHow to deal with date and time data
|
Data formatwhich data format use |
InternationalizationProviding internationalized data representation (e.g. adapted to the user’s country)
|
ErrorsHow to handle errors
|
Error formatHow to provide information about errors
|
Forbidden methods alternativesWhat to do when only possible HTTP methods are POST and GET |
POSTThe POST method requests that the server accept the entity enclosed in the request as a new subordinate of the web resource identified by the URI. The data POSTed might be, for example, an annotation for existing resources; a message for a bulletin board, newsgroup, mailing list, or comment thread; a block of data that is the result of submitting a web form to a data-handling process; or an item to add to a database. |
HTTP methodsGeneral information about HTTP methods usage |
CachingHow to use and provide relevant caching informations |
Content negociation and media typesHow to describe your API data format and/or propose different formats (like json, yaml, xml atom, …) |
HTTP HeadersHow to use standard or custom HTTP headers
|
HTTP StatusesGeneral information about HTTP statuses usage |
HTTP protocolGeneral informations about HTTP protocol |
303 See OtherThe response to the request can be found under another URI using a GET method. When received in response to a POST (or PUT/DELETE), the client should presume that the server has received the data and should issue a redirect with a separate GET message. |
200 OKStandard response for successful HTTP requests. The actual response will depend on the request method used. In a GET request, the response will contain an entity corresponding to the requested resource. In a POST request, the response will contain an entity describing or containing the result of the action. |
400 Bad RequestThe server cannot or will not process the request due to an apparent client error (e.g., malformed request syntax, too large size, invalid request message framing, or deceptive request routing). |
401 UnauthorizedSimilar to 403 Forbidden, but specifically for use when authentication is required and has failed or has not yet been provided. The response must include a WWW-Authenticate header field containing a challenge applicable to the requested resource. |
403 ForbiddenThe request was a valid request, but the server is refusing to respond to it. The user might be logged in but does not have the necessary permissions for the resource. |
404 Not FoundThe requested resource could not be found but may be available in the future. Subsequent requests by the client are permissible. |
405 Method Not AllowedA request method is not supported for the requested resource; for example, a GET request on a form which requires data to be presented via POST, or a PUT request on a read-only resource. |
429 Too Many RequestsThe user has sent too many requests in a given amount of time. Intended for use with rate-limiting schemes. |
HypermediaHow to use hypermedia |
CORSHow to deal with CORS |
DocumentationHow to produce and/or propose API documentation |
Rate limitingHow to provide information about how many calls a consumer can do |
Batch BulkHow to handle batch/bulk processing/creation/update/… (e.g. handle multiple resources at conce) |
RelationshipsHow to define and use relations between resources |
Dereference RelationshipsHow to load a resource and its linked resources in one call |
Retrieve resource partiallyHow to retrieve partially a resource |
URL formatHow to design URLs |