API Basics

What is an API?

API stands for Application Programming Interface. An API is an intermediary that allows two applications to interact with each other. It works like a messenger between two parties, where one party requests and receives a response from another party for the request.

Who is a Client?

A client is a software distributed to customers who can access or communicate with the server by using an API. This could be an internal service or an external facing asset like a mobile app (Android/iOS) or mobile website or website.

What is a Server?

A server is a machine running some processes that will process some service for you based on a user's request via API.

What are Status Codes?

Status codes are sent by a server in response to the request made by a client.

Response status codes are distributed into five categories -

  • 1xx: Informational
  • 2xx: Success
  • 3xx: Redirection
  • 4xx: Client Error
  • 5xx: Server Error

1xx: Informational

Status CodeMeaning
101Switching Protocols
103Early Hits

2xx: Success

Status CodeMeaning
203Non-Authoritative Information
204No Content
205Reset content
206Partial Consent
208Already Reported
226IM Used

3xx: Redirection

Status CodeMeaning
300Multiple Choice
301Moved Permanently
303See Other
304Not Modified
305User Proxy
307Temporary Redirect
308Permanent Redirect

4xx: Client Error

Status CodeMeaning
400Bad Request
402Payment required
404Not Found
405Method Not Allowed
406Not Acceptable
407Proxy Authentication Required
408Request Timeout
411Length Required
412Precondition Failed
413Payload Too Large
414URI Too Long
415Unsupported Media Type
416Range Not Satisfiable
417Expectation Failed
418I'm a Teapot
421Misdirect Request
422Unprocessable Entity
424Failed Dependency
425Too Early
426Upgrade Required
428Precondition Required
429Too Many Requests
431Request Header Fields Too Large
451Unavailable for Legal Reasons

5xx: Server Error

Status CodeMeaning
500Internal Server Error
501Not Implemented
502Bad Gateway
503Service Unavailable
504Gateway Timeout
505HTTP Version Not Supported
511Network Authentication Required