Global designGeneral considerations on API design
|
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 |
Retrieve a collectionHow to get a collection or resources
|
Sorting a collectionHow to sort a collection of resources |
CollectionWhat is a collection (set) of resources
|
Date and TimeHow to deal with date and time data |
Data formatwhich data format use |
DELETEThe DELETE method deletes the specified resource. |
GETThe GET method requests a representation of the specified resource. Requests using GET should only retrieve data and should have no other effect.
|
PATCHThe PATCH method applies partial modifications to a resource.
|
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. |
PUTThe PUT method requests that the enclosed entity be stored under the supplied URI. If the URI refers to an already existing resource, it is modified; if the URI does not point to an existing resource, then the server can create the resource with that URI.
|
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, …)
|
Developer experienceHow to take care of developer experience (DX)
|
DocumentationHow to produce and/or propose API documentation
|
Guiding inputsHow to help consumers or end user to input relevant data
|
UndoHow to undo things |
LanguageWhich language(s) use when designing an API
|
CaseWhich case (lowercase, camelCase, …) to use and when
|
NamingHow to name things
|
Action resourceHow to use action resource (e.g. resources like /cancel or /approve) |
Create resource with a specific IDHow to create resource with a provided id
|
Create resourceHow to create resources |
Delete resourceHow to delete resources |
Resource IDWhat is a resource ID and/or how it’s built |
Batch BulkHow to handle batch/bulk processing/creation/update/… (e.g. handle multiple resources at conce)
|
Replace resourceHow to replace (or update fully) a resource
|
Retrieve resource partiallyHow to retrieve partially a resource
|
Retrieve resourceHow to retrieve a resource
|
Resource's stateHow to change a resource’s state/status (like processed/sent/paid/…)
|
Update resource partiallyHow to udate partially a resource
|
Update resourceHow to update a resource
|
URL formatHow to design URLs
|
ResourceGeneral informations about resources
|