REST API entry point and endpoint

Agree with Roman Vottner here and gave a thumb up. I only want to add a few more links here for anyone trying to get a clear idea.

API Endpoint

I like the answer here: https://smartbear.com/learn/performance-monitoring/api-endpoints/

"Simply put, an endpoint is one end of a communication channel. When an API interacts with another system, the touchpoints of this communication are considered endpoints. For APIs, an endpoint can include a URL of a server or service. Each endpoint is the location from which APIs can access the resources they need to carry out their function."

And samples here: What is an Endpoint?

  https://example.com/api/login
  https://example.com/api/accounts
  https://example.com/api/cart/items

API Entry Point

Look here: https://restful-api-design.readthedocs.io/en/latest/urls.html

"A RESTful API needs to have one and exactly one entry point. The URL of the entry point needs to be communicated to API clients so that they can find the API. Technically speaking, the entry point can be seen as a singleton resource that exists outside any collection."

So, following the previous example, it would be:

  https://example.com/api

Extra note: in GraphQL world, there is a single endpoint for the API, no entry point (https://graphql.org/learn/best-practices/#http). Usually in the form

  https://example.com/graphql

Simply speaking an entry point might be something like http://api.your-company.com which a client will enter without any a-priori knowledge. The API will teach the client everything it needs to know in order to make informed choices on what things it could do next.

Regarding Endpoints Wikipedia i.e. state the following:

Endpoint, the entry point to a service, a process, or a queue or topic destination in service-oriented architecture

In a broad sense, the endpoint is just the target host invoked that should process your request (or delegate to some other machines in case of load balancing and what not). In a more narrow sense an endpoint is just the server-sided stuff invoked that is processing your request, i.e. a URI like http://api.your-company.com/users/12345 will ask for a users representation (assuming a GET request). The concrete user is the resource processed while the endpoint might be actually a Spring (or framework of your choice) based service handling all requests targeting everything http://api.your-company.com/users/* related.

Tags:

Rest

Endpoint