the endpoint interface