API Wanted Features
From EVEDev
A summary of feature requests for the API. If you have pages, threads, posts that describe feature requests in depth, dev comments on them or anything else that helps with them, please post them here.
Please unroll links to the forum (copy the main idea and include the link to that thread for discussion).
[edit] New Features
[edit] Check API key type
- A way to identify an API key as full access or not without selecting a character first
- Helps improve click-flow/work-flow for applications that require a full access key
Use the /char/AccountBalance.xml.aspx output. If you get an 106-error, you have a limited key.
[edit] Alliance / Corporation Logo Export [implemented]
- Partially done: APIv2_Corp_CorporationSheet_XML includes shape and color data
- A way to retrieve alliance and corporation logo by their ID. Alliance logos nowadays also part of the Data Dump, but as we get the Dumps very irregularly, there may be alliances that aren't there anymore by the time we get the dump. As a logo is a vital part of the alliance identity, you should be able to use it oog. Not so important for corps, but would be very nice too.
- A very simple version would be http://api.eve-online.com/images/alliance/?allianceid=xxxxx or something like that to directly retrieve an image file. Or even more simpler do a static dump of ally/corp logos during DT and name the files after ID (not the weird iconXX_XX we have now). I think as there this information is already on EVE-O page and (at least it says) updated on daily basis, this really can't be difficult for the alliance logos, not sure for the corp logos as I think they're generated in the client.
[edit] Forum Links
- http://myeve.eve-online.com/ingameboard.asp?a=topic&threadID=336246
- http://myeve.eve-online.com/ingameboard.asp?a=topic&threadID=537910&page=1#4
- http://myeve.eve-online.com/ingameboard.asp?a=topic&threadID=537910&page=4#104
[edit] Remarks
Something just came to my mind. You sure want us to mirror the images, not using them directly from the API, so whatever we get should be optimized to make that simple. If you don't have the ability do detect that a image changed, the only way will be to fetch and compare them, simple but I don't know if you want this. The corp logo could be dumped with a random file name when they've changed somewhere and in the results for the corp details from the API this filename could be included, so if it changes you know the logo changed and can fetch it or you add a version indicator. A similar thing could perhaps be done for alliance logos in the alliance listing. Otherwise some kind of API call (like a feed) for (changed) images. --Neko
- On this topic, ideally what I'd like to see would be the logos available for download as a zip or something whenever there are new ones added or old ones are changed, but secondary to that storing the logo ID in the normal corp information XML page would be enough; there are some things here that can help keep the load off CCPs servers.
- Use a standard HTTP HEAD request rather than a GET; this will tell you (on most http servers) when the last time the file was modified was and its size, so you only GET it again if that has changed.
- There are only a set number of logos in the game (hence the ID number), so if you have already cached "logo12345" then you don't have to go fetch it (with GET or HEAD) again and again if displaying data for multiple corps. Obviously the logo URL itself should be static, as in /blah/logos/12345.jpg --RS
- On this topic, ideally what I'd like to see would be the logos available for download as a zip or something whenever there are new ones added or old ones are changed, but secondary to that storing the logo ID in the normal corp information XML page would be enough; there are some things here that can help keep the load off CCPs servers.
[edit] Market History
This probably shouldn't be done via the API, but via an "export" button in the market window, like the buy/sell order export.
- Make the data that's already available in the market history table exportable. That is the data that's used for the history graph. In difference to the sell/buy orders (which you can already export and different sites use them) this data represents the real transactions that has been made within the market, not only the offers made, so it's vital for every EVE economist to have it. At the moment I don't see the point in the table that's displayed in the client, the numbers alone a something near zero significance without the ability to interpret them (like the graph) and because you can't copy the data and I hope no one wastes his time with typewriting it, they're totally useless. So at least an export like we have with the sell/buy orders would be a good idea, better an export through the API.
- All pilots that think they get what's inside this data already through the sell/buy order export, should think about not so populated markets and wider gaps between sell and buy orders. The orders are fine I you want to buy/sell anything but for the purpose of defining the price of an item on the market you need data about made transactions.
- One idea I read for the people that think this export is to powerful, was to limit the export to the region the char is in. Don't know if this is an easy technical solution.
- Would be nice to have this as live data, so if transactions on the market are made the data is updated, but I think this would kill some server for sure. So having one day old data (everything before last DT) is the way this could be done, I think.
- It would also be nice to see Buy and Sell Order starts and status changes. ex: 10 out of 100 left, price modifications, cancellations, buying range, etc.
- It would also be helpful to have a Buy/Sell Order ID attached to any transaction. This would allow you to properly assign an incoming transaction to the proper Buy/Sell Order.
[edit] Forum Links
- http://myeve.eve-online.com/ingameboard.asp?a=topic&threadID=537910&page=3#65
- http://myeve.eve-online.com/ingameboard.asp?a=topic&threadID=537910&page=5#126
[edit] Blueprint Details
- A list of a character's/corporation's BPOs/BPCs, with itemIDs (to link with the assets list), typeIDs (so you don't have to link with the assets list), location, material level, productivity level, and runs remaining.
[edit] Account Status
Number of days remaining and (possibly) existence of (and a link to accept) outstanding GTC-for-isk offers. To emphasize, this would not include exposing billing data, of course!
[edit] Testing Tools
- A copy of the EVE API running against the Singularity database.
- This API would have much, much lower cache times to aid in development
- CCP could also deploy beta APIs here, to solicit feedback from the eve-dev community prior to rolling it out on TQ
[edit] Skill Training History
It would be very nice to be able to see the skill training history (per the page on the in-game character sheet).
[edit] Contract Export
[edit] Personal/Corporation
Export of the contracts available via the "My Contracts" tab - contracts my corp or I did issue, or were issued to us, with contract information.
[edit] Public
@Chribba: I want an auction API as well so I can pull out all auctions/etc to a nice webpage that is searchable in the way I want it @Salvis: i second that @Mintoko: ...could call it eveBay. :)
[edit] ItemID to Name
- A number of the other APIs return itemIDs or similar, such as the asset list, starbase list, and the industry jobs list (in the form of a containerID). It would be useful to be able to pass in one or more itemIDs to the API, and receive back a list of names (for example, ship names, control tower names, and lab names).
- Use the static data dump.
- itemID != typeID. itemIDs are for unpackaged items such as ships, which can be renamed. This proposed API would allow applications to retrieve the name for such an item.
- itemIDs are always accompanied by typeID. Again, use the static data dump.
- This is not to get the item type's name. An ItemID to Name API would allow you to get the name the player assigned to a ship, or a GSC, or any other container - an assembled ship's name is obviously not in the static data export, on account of it not being static. This would be used with eg an asset tracker, so you can see "Player's Gallente Shuttle" instead of just "Gallente Shuttle".
- itemIDs are always accompanied by typeID. Again, use the static data dump.
- itemID != typeID. itemIDs are for unpackaged items such as ships, which can be renamed. This proposed API would allow applications to retrieve the name for such an item.
[edit] Customizable API access
would be great to have a possibility to generate api key's with customizable restrictions, not beeing restricted to the predefined security settings of 'limited' and 'full'. Maybe even allow/disallow selected API functions per key.
- A possible implementation is given in more detail in this thread [1].
- Specifically, an option enabling one to expose information about a character without being required to disclose all alts on an account would be welcome. As of this writing, 2008-09-25, to show a character sheet via /char/CharacterSheet.xml.aspx, a userID is required in addition to the limited apiKey + characterID, and this limited apiKey + userID can be concurrently used by any application to find any alts via /account/Characters.xml.aspx.
[edit] Public Character Information
- Character information would be nice. At least something that maps a character to a corporation. Ideally, this would give out all the details you can see with a simple "show info" - name, titles, corp, alliance, bio, bloodline, sex, decorations, employment history, and standings.
- It would be very useful to be able to check the Alliance and Corporation membership of a character by name or charID without knowing that character's API Key. The ability to submit a list of charIDs and get a list of responses in a single query would significantly reduce the number of queries for practical features.
[edit] Managing Contacts
- A function to add a Contact to your contacts; additional param: standing
[edit] Corporation Office List / Office Rents
A list of offices a character's corporation has. Maybe add rent cost and when the next rent is due.
[edit] War List
A list of wars a corporation or alliance is involved in. Either only a character's corporation, or any corporation (both information is available via the in-game corporation window).
[edit] Corporation Bills
List of bills the alliance and corp has to pay and outstanding, with dates when they are due.
[edit] Simple Authentication
To enable 3rd party web apps to authenticate you, an API key that only allows one API call - "is the character named XYZ on the account of the owner of this api key" - would be nice. The problem can be solved via other methods, but this is probably the simplest to implement.
[edit] Standings/Security Transactions
Simple these two transaction logs like InGame.
[edit] Planetary Interaction Information
With the advent of PI, players are already investing substantial resources in extraction and processing. An API is a necessity. This API can be further broken down into 3 parts.
[edit] Colonization Inventory
List assets stored in Customs Offices, and in storage/launchpad/CC. Can be integrated with the existing asset API.
[edit] Colonization Schema
List command centers, extractors, facilities, storage units, launchpads. For all colonization units include their links, routes, schematics, power and CPU.
[edit] Colonization Status
List extraction and processing status: cycles, time remaining, input and output stats.
[edit] Improvements to Existing APIs
[edit] Smaller journal lists for faster updates
- A way to retrieve wallet journals for personal wallets at shorter intervals than 1 hour (Max of 10-100 items as opposed to 1000 to reduce load generated)
- Possibly a way of regulating this on a per-character basis (IE have an application system)
- This would be primarily for applications making use of wallet journals on ingame agents to provide ISK-paid-for services.
- Stop resetting the hour timer when an information request is made too early
[edit] EVEmail Export
- Partially implemented: APIv2_Char_MailMessages_XML returns mail headers, and APIv2_Char_Notifications_XML returns notification headers.
XML, POP3, or IMAP read access to mail contents.
- http://myeve.eve-online.com/ingameboard.asp?a=topic&threadID=623251
- http://myeve.eve-online.com/ingameboard.asp?a=topic&threadID=549984
- http://myeve.eve-online.com/ingameboard.asp?a=topic&threadID=537910&page=8#227
[edit] Server Status
- Partially implemented: APIv2_Server_ServerStatus_XML says whether or not the server is open, and how many people are online.
- Additional information like build, motd, etc. could be available also.
- A way to find out about planned downtimes in the near future. It could cover the next few days or so, and have a reason such as "Daily downtime" or "Patch deployment."
[edit] Additional Data in MemberTracking
- Add race, gender, bloodline, school, career, ancestry, specialization, and sec. status
- Add the possibility to get the roles of a character via title (and not only roles)
- This request might be restated as "allow calling CharacterSheet API with key of another member of the corporation"
[edit] FW Top Stats with Factions
The FW top stats for corps and characters should include a faction id.
[edit] Improved Starbase API
In order to create an EveMon style POS monitor an improved POS API really is required. Being able to manage these things out of the game would be a HUGE improvment.
- Fuel usage/hour, at the very least for charters, power, and CPU
- Non-control-tower structures anchored at this starbase and their status (online/offline and shield, armor, and hull hitpoints).
[edit] Ability to Query Specific Alliance IDs
In AllianceList.xml.aspx it should be possible to pass in one or more alliance IDs to query, instead of always receiving the entire list.

