Each API call is stateless (i.e. independent of other API calls) and, therefore, requires authentication information to be included in the form of either an Authorization header or X-Auth-Key header. The only exception to this rule is the login API request which is used to authenticate a user and to retrieve the authorization token to be used in subsequent API calls.
Example 1: When using an API Key for authentication the X-Auth-Key HTTP header is included with each request:
Example 2: When using a token for authentication the Authorization HTTP header is included with each request using a "Bearer " prefix before the token:
The Login API endpoint does not require authentication (since it's function is to perform authentication) and as part of a successful login response provides a token to be used with the Authorization HTTP header in subsequent API calls.
The Authenticate API endpoint is not needed since each API call is authenticated independently but can be used in testing to validate credentials or to get further insight into why credentials are not working as expected.