apiApi Best Practices


Introduction

These are some API Best Practices I had been used.

Parameters

ParameterDetails
sortSort by Single or Multiple columns. sort=email,name
dirSort Ascending/Descending. dir=asc or dir=desc
columnFilter by. phone=5555555555
limitItems per Page. limit=25
pagePage Number. page=2
api_keyAPI Key. api_key=ABCDEF1234567890

Remarks

Status Codes

1xx: Information

MessageDescriptionLong Description
100ContinueThe server has received the request headers, and the client should proceed to send the request body
101Switching ProtocolsThe requester has asked the server to switch protocols
103CheckpointUsed in the resumable requests proposal to resume aborted PUT or POST requests

2xx: Successful

MessageDescriptionLong Description
200OKThe request is OK (this is the standard response for successful HTTP requests)
201CreatedThe request has been fulfilled, and a new resource is created
202AcceptedThe request has been accepted for processing, but the processing has not been completed
203Non-Authoritative InformationThe request has been successfully processed, but is returning information that may be from another source
204No ContentThe request has been successfully processed, but is not returning any content
205Reset ContentThe request has been successfully processed, but is not returning any content, and requires that the requester reset the document view
206Partial ContentThe server is delivering only part of the resource due to a range header sent by the client

3xx: Redirection

MessageDescriptionLong Description
300Multiple ChoicesA link list. The user can select a link and go to that location. Maximum five addresses
301Moved PermanentlyThe requested page has moved to a new URL
302FoundThe requested page has moved temporarily to a new URL
303See OtherThe requested page can be found under a different URL
304Not ModifiedIndicates the requested page has not been modified since last requested
306Switch ProxyNo longer used
307Temporary RedirectThe requested page has moved temporarily to a new URL
308Resume IncompleteUsed in the resumable requests proposal to resume aborted PUT or POST requests

4xx: Client Error

MessageDescriptionLong Description
400Bad RequestThe request cannot be fulfilled due to bad syntax
401UnauthorizedThe request was a legal request, but the server is refusing to respond to it. For use when authentication is possible but has failed or not yet been provided
402Payment RequiredReserved for future use
403ForbiddenThe request was a legal request, but the server is refusing to respond to it
404Not FoundThe requested page could not be found but may be available again in the future
405Method Not AllowedA request was made of a page using a request method not supported by that page
406Not AcceptableThe server can only generate a response that is not accepted by the client
407Proxy Authentication RequiredThe client must first authenticate itself with the proxy
408Request TimeoutThe server timed out waiting for the request
409ConflictThe request could not be completed because of a conflict in the request
410GoneThe requested page is no longer available
411Length RequiredThe "Content-Length" is not defined. The server will not accept the request without it
412Precondition FailedThe precondition given in the request evaluated to false by the server
413Request Entity Too LargeThe server will not accept the request, because the request entity is too large
414Request-URI Too LongThe server will not accept the request, because the URL is too long. Occurs when you convert a POST request to a GET request with a long query information
415Unsupported Media TypeThe server will not accept the request, because the media type is not supported
416Requested Range Not SatisfiableThe client has asked for a portion of the file, but the server cannot supply that portion
417Expectation FailedThe server cannot meet the requirements of the Expect request-header field

5xx: Server Error

MessageDescriptionLong Description
500Internal Server ErrorA generic error message, given when no more specific message is suitable
501Not ImplementedThe server either does not recognize the request method, or it lacks the ability to fulfill the request
502Bad GatewayThe server was acting as a gateway or proxy and received an invalid response from the upstream server
503Service UnavailableThe server is currently unavailable (overloaded or down)
504Gateway TimeoutThe server was acting as a gateway or proxy and did not receive a timely response from the upstream server
505HTTP Version Not SupportedThe server does not support the HTTP protocol version used in the request
511Network Authentication RequiredThe client needs to authenticate to gain network access

Reference: Http Codes