REST license question

We’ve been troubleshooting problems with sessions, and potentially running out of licenses(I don’t have any hard data but I’m told the error your session is invalid or has been deleted is an indication we have ran out of licenses). We use REST calls and want to make sure I understand how the licensing for these calls works… This seems like a complicated topic, I’ve read through what Bart wrote in Rest - Monitoring active users (Licensing vs Session Authentication) - #4 by Bart_Elia

When we make REST calls we don’t create a session, and 99.9% of the time it’s read only we don’t write data via REST APIs(a single HTTP GET and we are done often to the BAQ service), and from what Bart writes it sounds like a license is claimed(Default User license?) for the duration of the call plus 1ms. This seems to match what I see, in that I never see a license being used when I check EAC, or even the server trace logs where I’ve enabled verbose logging and session tracing(thanks Haso for your help with how to enable this!). Oddly I don’t see any of these REST calls in the server log file, it’s as if they are free(from a licensing perspective) but I’m sure they are not. I feel like I must be missing some downside to what we are doing. Is my understanding correct and if so is there some downside to how we are calling the REST APIs(not creating a session)?

A REST call DOES have licensing, otherwise people wouldn’t buy licenses… More information in the REST Technical Reference Guides on EpicWeb:

Web Service licenses are (were?) priced higher for the first three and then get less expensive quickly with higher quantities. I believe there is some “rate limiting” so you can’t just get one and overuse it.

If REST is using Default licensing, it looks just like someone at the client as far as I have ever seen. This could be why you are running out of Default licenses.

1 Like

@embedded When we run out of licenses it clearly states maximum number of users exceeded. There is another thread here about the 72 hours which I see sometimes on Test or Pilot that I have left idle.

Here is an EpicCare KB on licensing. you need to login before clicking the link.
https://epiccare.epicor.com/epiccare?id=epiccare_kb_article&sys_id=46c81970dba3af44443cc55305961930&table=kb_knowledge

1 Like

Last I (accidentally) tested this there was a 20 second penalty on every web service licence call if you exceeded the licence count, this continued on all web service sessions until session count was back to licenced levels.

It gets very painful very quickly!

1 Like

I think that error has more to due with allowing the user to do multiple sessions…

1 Like

From KB0047344:
Q: How does Web Service licensing work?
A: Web Service (sometimes referred to as simply Service) licensing is a special type of licence designed for integration. The main way to use this licence type
is using Epicor Service Connect or the RESTful interface into Epicor. The way it works is as follows:
If a Service licence is requested (using REST/Service Connect) then Epicor will check to see the number of Service licences allowed
If the Epicor system has no Service licences, then a Default licence is used and it follows the standard behaviour (see above for explanation of how
this works).
If there is at least one Service licence, then Epicor will allocate a WebService licence to the session.
If there is at least one Service licence but they are all In Use, then Epicor will allocate a WebServiceShared licence to the session. A
WebServiceShared licence is a special licence that will allow processing, but with a 20 second penalty. This penalty is applied to every Business Object
call.

1 Like