Model Synchronization and Access

EveKit data is updated through a process called model synchronization. During model synchronization, data is retrieved from ESI endpoints and compared to the current live version of various data models. If new data is encountered, or previous data has been removed, then EveKit’s model objects are updated as described in the previous section. EveKit attempts to look for new data at least as frequently as the ESI cache timers allow, and as often as load on the EveKit servers allow. At time of writing, the shortest interval between EveKit updates is 7 minutes. The fastest ESI cache timer is about five seconds (e.g. character location).

Endpoint to Model Data Mapping

The following table shows the mapping from ESI endpoint(s) to EveKit model object(s).

ESI endpoint EveKit Models Updated Notes
  • /alliances/{alliance_id}/contacts/
  • /alliances/{alliance_id}/contacts/labels/
  • /characters/{character_id}/contacts/labels/
  • /characters/{character_id}/contacts/
  • /corporations/{corporation_id}/contacts/labels/
  • /corporations/{corporation_id}/contacts/
Contacts and contact labels are updated simultaneously during synchronization.
  • /characters/{character_id}/assets/
  • /characters/{character_id}/assets/locations/
  • /characters/{character_id}/assets/names/
  • /corporations/{corporation_id}/assets/
  • /corporations/{corporation_id}/assets/locations/
  • /corporations/{corporation_id}/assets/names/
Assets, their locations and their names are updated simultaneously during synchronization. Note that Location stores both location and name.
  • /characters/{character_id}/blueprints/
  • /corporations/{corporation_id}/blueprints/
 
  • /characters/{character_id}/bookmarks/
  • /characters/{character_id}/bookmarks/folders/
  • /corporations/{corporation_id}/bookmarks/
  • /corporations/{corporation_id}/bookmarks/folders/
EveKit does not store a separate bookmark folder object. Instead, bookmark and folder information are combined in the Bookmark object. A consequence is that empty folder names are not stored. This may change in the future.
  • /characters/{character_id}/calendar/
  • /characters/{character_id}/calendar/{event_id}/
  • /characters/{character_id}/calendar/{event_id}/attendees/
Calendar events and their attendees are updated simultaneously during synchronization.
  • /characters/{character_id}/contracts/
  • /characters/{character_id}/contracts/{contract_id}/bids/
  • /characters/{character_id}/contracts/{contract_id}/items/
  • /corporations/{corporation_id}/contracts/
  • /corporations/{corporation_id}/contracts/{contract_id}/bids/
  • /corporations/{corporation_id}/contracts/{contract_id}/items/
Contracts, contract items and contract bids (for auctions) are updated simultaneously during synchronization.
  • /characters/{character_id}/fw/stats/
  • /corporations/{corporation_id}/fw/stats/
 
  • /characters/{character_id}/fittings/
 
  • /characters/{character_id}/fleet/
  • /fleets/{fleet_id}/
  • /fleets/{fleet_id}/members/
  • /fleets/{fleet_id}/wings/
Character fleet information including fleet composition is updated simultaneously during synchronization.
  • /characters/{character_id}/industry/jobs/
  • /corporations/{corporation_id}/industry/jobs/
 
  • /characters/{character_id}/killmails/recent/
  • /corporations/{corporation_id}/killmails/recent/
  • /killmails/{killmail_id}/{killmail_hash}/
Kill mail processing is sharded by killmail ID due to size. As a result, several synchronization rounds are necessary to process all recent killmail. At time of writing, 10 rounds are necessary to completely process all recent kill mail. During a round, the sharded kill list and detailed kill information are updated simultaneously.
  • /characters/{character_id}/location/
 
  • /characters/{character_id}/loyalty/points/
 
  • /characters/{character_id}/mail/
  • /characters/{character_id}/mail/{mail_id}/
  • /characters/{character_id}/mail/lists/
  • /characters/{character_id}/mail/labels/
Mail processing is sharded by mail ID due to size. As a result, several synchronization rounds are necessary to process all mail. At time of writing, 20 rounds are necessary to completely process all mail. During a round, the sharded mail list and detailed mail information are updated simultaneously. Mailing list and mail label processing is not sharded and will be updated in a single synchronization round.
  • /characters/{character_id}/orders/
  • /characters/{character_id}/orders/history/
  • /corporations/{corporation_id}/orders/
  • /corporations/{corporation_id}/orders/history/
Market orders and market order history are processed simultaneously during synchronization.
  • /characters/{character_id}/medals/
 
  • /characters/{character_id}/mining/
 
  • /characters/{character_id}/notifications/
  • /characters/{character_id}/notifications/contacts/
Notifications and contact notifications are processed simultaneously during synchronization.
  • /characters/{character_id}/online/
 
  • /characters/{character_id}/opportunities/
 
  • /characters/{character_id}/planets/
  • /characters/{character_id}/planets/{planet_id}/
The planet list and detailed planet information are processed simultaneously during synchronization.
  • /characters/{character_id}/agents_research/
 
  • /characters/{character_id}/roles/
 
  • /characters/{character_id}/clones/
 
  • /characters/{character_id}/implants/
 
  • /characters/{character_id}/fatigue/
 
  • /characters/{character_id}/
 
  • /characters/{character_id}/ship/
 
  • /characters/{character_id}/skillqueue/
 
  • /characters/{character_id}/skills/
  • /characters/{character_id}/attributes/
A character’s skill list and attributes are processed simultaneously during synchronization.
  • /characters/{character_id}/standings/
  • /corporations/{corporation_id}/standings/
 
  • /corporations/{corporation_id}/titles/
 
  • /characters/{character_id}/wallet/
  • /corporations/{corporation_id}/wallets/
 
  • /characters/{character_id}/wallet/journal/
  • /corporations/{corporation_id}/wallets/{division}/journal/
 
  • /characters/{character_id}/wallet/transactions/
  • /corporations/{corporation_id}/wallets/{division}/transactions/
 
  • /corporations/{corporation_id}/containers/logs/
 
  • /corporations/{corporation_id}/customs_offices/
 
  • /corporations/{corporation_id}/divisions/
 
  • /corporations/{corporation_id}/facilities/
 
  • /corporations/{corporation_id}/medals/
  • /corporations/{corporation_id}/medals/issued/
Corporation medals and issued medals are processed simultaneously during synchronization.
  • /corporations/{corporation_id}/members/
  • /corporations/{corporation_id}/roles/
  • /corporations/{corporation_id}/roles/history/
Corporation member list, roles and history of role changes are processed simultaneously during synchronization.
  • /corporations/{corporation_id}/members/limit/
  • /corporations/{corporation_id}/membertracking/
Corporation member limit and member tracking are processed simultaneously during synchronization.
  • /corporation/{corporation_id}/mining/extractions/
  • /corporation/{corporation_id}/mining/observers/
  • /corporation/{corporation_id}/mining/observers/{observer_id}/
Mining extractions, observer list, and observations are processed simultaneously during synchronization.
  • /corporations/{corporation_id}/shareholders/
 
  • /corporations/{corporation_id}/
  • /corporations/{corporation_id}/icons/
Corporation sheet and icons are processed simultaneously during synchronization.
  • /corporations/{corporation_id}/starbases/
  • /corporations/{corporation_id}/starbases/{starbase_id}/
Starbase list and starbase details are processed simultaneously during synchronization.
  • /corporations/{corporation_id}/structures/
 
  • /corporations/{corporation_id}/titles/
  • /corporations/{corporation_id}/members/titles/
Corporation titles, roles and titles assigned to members are processed simultaneously during synchronization.

Access Permission to Model Data Mapping

The following table gives the mapping from EveKit Access Key Permissions to the model data objects which can be retrieved with those permissions.

Permission Mask EveKit Models
Account Status Access ACCESS_ACCOUNT_STATUS
Account Balance Access ACCESS_ACCOUNT_BALANCE
Asset Access ACCESS_ASSETS
Character Sheet Access ACCESS_CHARACTER_SHEET
Corporation Sheet ACCESS_CORPORATION_SHEET
Contact List Access ACCESS_CONTACT_LIST
Blueprint Access ACCESS_BLUEPRINTS
Bookmark Access ACCESS_BOOKMARKS
Contract Access ACCESS_CONTRACTS
Faction War Stats Access ACCESS_FAC_WAR_STATS
Industry Jobs Access ACCESS_INDUSTRY_JOBS
Kill Log Access ACCESS_KILL_LOG
Locations Access ACCESS_LOCATIONS
Market Orders Access ACCESS_MARKET_ORDERS
Mining Ledger Access ACCESS_MINING_LEDGER
Standings Access ACCESS_STANDINGS
Wallet Journal Access ACCESS_WALLET_JOURNAL
Wallet Transactions Access ACCESS_WALLET_TRANSACTIONS
Meta-Data Modification ALLOW_METADATA_CHANGES N/A - This mask allows write access to the meta-data map for any model object for which the access key has read access.
Calendar Event Attendee Access ACCESS_CALENDAR_EVENT_ATTENDEES
Access Chat Channels ACCESS_CHAT_CHANNELS
Access Character Fleets ACCESS_CHARACTER_FLEETS
Access Contact Notifications ACCESS_CONTACT_NOTIFICATIONS
Access Ship Fittings ACCESS_FITTINGS
Access Mail ACCESS_MAIL
Access Mailing Lists ACCESS_MAILING_LISTS
Access Medals ACCESS_MEDALS
Access Notifications ACCESS_NOTIFICATIONS
Access Research ACCESS_RESEARCH
Access Skill Queue ACCESS_SKILL_QUEUE
Upcoming Calendar Event Access ACCESS_UPCOMING_CALENDAR_EVENTS
Container Log Access ACCESS_CONTAINER_LOG
Corporation Medals Access ACCESS_CORPORATION_MEDALS
Member Medals Access ACCESS_MEMBER_MEDALS
Member Security Access ACCESS_MEMBER_SECURITY
Member Security Log Access ACCESS_MEMBER_SECURITY_LOG
Member Tracking Access ACCESS_MEMBER_TRACKING
Shareholder Access ACCESS_SHAREHOLDERS
Starbase List Access ACCESS_STARBASE_LIST
Structure List Access ACCESS_STRUCTURES
Corporation Titles Access ACCESS_CORPORATION_TITLES