Friday, October 21, 2016

Gaps today due to DNS attack

The well publicized DDoS DNS attack today caused gaps in EveKit synchronization and market data coverage.  The first attack started approximately 11:00 UTC and ended just after 13:00 UTC.  A second prolonged attack started just before 17:00 UTC and ended around 21:00 UTC.  During these attacks many account sync requests failed due to the inability to resolve the location of some EVE services.  You'll see these outages in your sync history as red blocks, e.g.

Market data downloads were also affected.  During the attacks, book data was not able to update and will show the state of the book just before the attack began.  Market history (daily summaries) should not be affected.

Tuesday, October 18, 2016

SDE 2016-10-11 released

We've released the 20161011 SDE at  You can access the SDE directly through that link, or go to the SDE section at

As part of this release, we've also enabled an alias "latest" which always points to the latest Swagger config file for the SDE.  Starting with this release, you can use this link: to refer to the latest Swagger config.  If you use this link in your client generation code, then you'll always generate the latest client.  In most cases this won't be a problem.  We'll post here if a release includes a backwards incompatible change.

Tuesday, October 11, 2016

Two small bug fixes just released

We've just released two quick bug fixes:

  • Member tracking wasn't passing the "extended" flag correctly causing EveKit to only sync the limited version of this XML API.  We've fixed this so that sync requests from here on should retrieve extended member tracking information if your XML API key allows it.
  • Wallet journal sync incorrectly assumed that refIDs were unique across ALL wallet divisions.  This isn't true for transfers between wallet divisions which use the same refID to record the transfer in each division*.  In the past, EveKit would have recorded only one of the two journal entries leaving a gap.  Going forward, both entries will now be properly recorded.
*Shout out to Golden Gnu for pointing out this bug.

Sunday, October 9, 2016

Flat asset list downloads

We've just released a small update to EveKit which will sync account assets using both the nested and flat AssetList API calls.  The way this works is as follows:

  1. We first call the nested AssetList API method.  This method indicates containment relationships between assets which we preserve in EveKit.
  2. We then call the flat AssetList API method and add any assets which were not returned in the nested call.  These assets will not have containment information as that information is excluded in the flat call.
  3. We finish by sync'ing the downloaded asset list with existing assets stored in your account, e.g. end of life assets you no longer possess, update any containment relationships which have changed, etc.
We added the call to the flat AssetList API in order to capture assets stored in Citadels, which are currently excluded from the nested call.  The flat API endpoint also includes some unexpected items, such as skills you have trained, and installed implants.  We leave it to the EveKit user to filter out these assets if they are not important.

Saturday, October 8, 2016

Market History Delay - 2016-10-07

There was a problem with the market history uploader last night which corrupted the last several days of market history for several market types.  Order book data was not affected.  The corrupted files have been fixed, but data for 2016-10-06 will be missing until the uploader runs again tonight.  Tomorrow morning (2016-10-09) at around 09:00 UTC the gaps for 2016-10-06 and 2016-10-07 will be filled.

We apologize for the outage.

Monday, October 3, 2016

EveKit 2.1.0 release

We've just released version 2.1.0 of EveKit.  This release fixes a number of type errors in sync'd data, including missing fields for some object types.  The second big change in this release is support for the "locations" XML endpoint.  If your registered EVE XML API key allows access to assets and locations, then EveKit will request the location of each of your assets.  These locations are stored with complete history as with any other EveKit object.

A new "locations" endpoint has been added to the EveKit API to provide access to the new data.  You'll need enable access to locations in your EveKit API access keys to access the new data.

The following type errors and missing fields were corrected:

  • AccountStatus.logonCount from int to long
  • AccountStatus.logonMinutes from int to long
  • APICall.groupID from int to long
  • CalendarEventAttendee.eventID from int to long
  • CharacterSheet.freeSkillPoints from int to long
  • SkillInfo.freeSkillPoints from int to long
  • UpcomingCalendarEvent.eventID from int to long
  • ContainerLog.itemTypeID from long to int
  • ContainerLog.locationID from int to long
  • ContainerLog.quantity from int to long
  • ContainerLog.typeID from long to int
  • MemberTracking.baseID from int to long
  • MemberTracking.locationID from int to long
  • Outpost.solarSystemID from long to int
  • Starbase.locationID from int to long
  • Asset.quantity from int to long
  • Asset.rawQuantity from int to long
  • Contract.startStationID from int to long
  • Contract.endStationID from int to long
  • Contract.volume from long to double
  • ContractItem.rawQuantity from int to long
  • IndustryJob.activityID from long to int
  • IndustryJob.blueprintTypeID from long to int
  • IndustryJob.productTypeID from long to int
  • IndustryJob.timeInSeconds from long to int
  • IndustryJob.solarSystemID from long to int
  • WalletTransaction.typeID from long to int
  • WalletTransacton.clientTypeID missing (int)
  • WalletTransaction.characterID missing (long)
  • WalletTransaction.characterName missing (String)