Subscription Info in ESI

This is a well known fact within the third party developer community, but it's got little press outside of it and I think it needs more attention from the wider community. The new ESI API intentionally does not reveal information about your account's subscription status.

In hopes of being entirely fair, let me explain the rationale because in theory it's actually pretty solid. One of the major guiding principles behind ESI is that access should always be on a character level. It makes things like SSO easier, it vastly simplifies the API itself, and it allows players who don't have the $$$ or ISK to spend on many accounts a chance to get into the spy game. While many may object to that, a good strategy when trying to decide if a change is good or bad is to flip the question around and see if you still have the same objections. I.e. If we didn't have account level information and were now getting it, what pros and cons would you raise? I suspect many would be objecting on the basis that their account is their business and you'd have to respect that.

However the collateral damage here is that the API must make sure to exclude any information that when collated, would indicate 2 character to be on the same account. For example the new PLEX vault is shared across an account, should that be added? With the old XML API, the /account/AccountStatus.xml.aspx endpoint is what gives you that information. Here's an example response taken from one of my accounts.

<?xml version='1.0' encoding='UTF-8'?>
<eveapi version="2">
    <currentTime>2017-05-25 22:56:00</currentTime>
    <result>
        <paidUntil>2017-06-06 20:01:10</paidUntil>
        <createDate>2013-06-03 14:06:23</createDate>
        <logonCount>3999</logonCount>
        <logonMinutes>482070</logonMinutes>
        <rowset name="multiCharacterTraining" key="trainingEnd" columns="trainingEnd" />
        <rowset name="Offers" key="offerID" columns="offerID,offeredDate,from,to,ISK" />
    </result>
    <cachedUntil>2017-05-25 22:59:47</cachedUntil>
</eveapi>

As you can see, if it were ported directly every single piece of information on it could be used to fairly accurate conclude that 2 characters were on the same account. However that said, everything besides paidUntil is a curiosity we could go without.

Still, I'd hazard a guess that paidUntil is the single most used piece of information in the entire API. If making accounts identifiable is the concern there are ways it can be dealt with. Right now it gives the information accurate to the second. It could easily be rounded to the minute, hour or even day and still be extremely useful. They do plan to add Alpha/Omega status, but generally speaking that information is far less useful.

I understand there are tradeoffs and it's in pursuit of a solid idea, but I feel like this is throwing the baby out with the bath water.