The small issue about enable the session on the API call is you need to add to all the calls on teh API, on WebForms you can add only on teh call you need use the session. Fro me the most easy way is enable on the
Global.asax.
protected void Application_PostAuthenticateRequest(object sender, EventArgs e)
{
HttpContext.Current.SetSessionStateBehavior(System.Web.SessionState.SessionStateBehavior.Required);
}
With this action you already can get a session from the API.