Third Party Developer Blog

rss Viewing all items


ESI Tutorial: Using Swagger Codegen to Generate a Client API

CCP Zoetrope | 2017-06-08 00:00
This blog post is part of a series of blogs examining best practices for ESI development. Each blog will be published on the 8th of each month during the journey towards XML API and CREST’s termination date. The legacy APIs will be terminated on May 8th, 2018, or earlier if metrics signal a trivial level of usage. Here on this blog we regularly mention the fact that ESI uses a framework called Swagger. In fact, the word "Swagger" is directly in the name (EVE Swagger Interface)! We also regularly mention that Swagger provides the capability of auto generating code for the programming language of your choice. However, it's not entirely obvious from looking at Swagger documentation how one should go about generating and using a client library. This blog will cover two ways to generate a library using ESI with tools provided ... read more

Caution: AccountStatus.xml.aspx Deprecated and Unreliable

Team Tech Co | 2017-05-26 16:50
Currently, the XML API endpoint /account/AccountStatus.xml.aspx is returning unreliable data. This endpoint has been officially deprecated since November 2016. Team Tech Co. has decided that this issue is not considered a "critical bug". As such, there are no plans to make changes to the endpoint to fix this issue (per our announcement here). The reasons we did not class it as such are: Account level information will not be available in ESI. Players receive notification e-mails directly from CCP if their non-recurring subscription is approaching expiry. This endpoint's original intent is no longer relevant, as players are not prevented from logging into EVE if their Omega status lapses. Despite being deprecated and unreliable, we will be leaving the endpoint active so as to not disrupt applications that would break if it ... read more

ESI Best Practices: Generating Code With Underscore Routes

CCP Bartender | 2017-05-08 16:00
This blog post is part of a series of blogs examining best practices for ESI development. Each blog will be published on the 8th of each month during the journey towards XML API and CREST’s termination date. The legacy APIs will be terminated on May 8th, 2018, or earlier if metrics signal a trivial level of usage. This blog explains best practices for autogenerating language specific clients from the ESI swagger spec. When generating code from one of the named routes (e.g. ), you may have noticed the resulting client library uses /latest as the version in all its URL calls. You can see why if you look at this fragment of the swagger spec from the above URL: { "basePath": "/latest", "host": "", "info": { "description": "An ... read more

Changes to the public citadel endpoint

CCP Bartender | 2017-05-05 15:07
Greetings all! On Tuesday 9th of May, Team Tech Co will be releasing a behavior change to the /universe/structures/ endpoint. This change will affect all versions of the endpoint, and although it will not change the specification of the endpoint (so you won't need to update your code), you may wish to know about how the behavior changed and why. Until now, this endpoint has been returning the structure ID’s of every structure that had the "public" entity on its ACL's allowed docking rights. This was done on the basis that such citadels are clearly visible in space and in the in-game structure browser, and thus matched information given in game. However, this is not quite correct. It is possible to add the "public" entity to one's ACL's, and then explicitly ban someone. Some of you may have noticed that if ... read more

Breaking changes and you - How to use alt-routes to enhance your sanity

CCP Bartender | 2017-02-01 14:19
Afternoon developers! We've mentioned it before, but I'd like to give everyone a clear best-practices guide to how to use alt-routes in ESI to maintain application stability against a constantly evolving API. Schedule of breaking changes Before I get into that though, we previously said we'd be updating a forum thread with all planned breaking changes to ESI. That's turned out to be a bad solution to letting you all know when we're planning to change stuff. It's hard for you to read at a glance, and it's totally outside the tools we use day-to-day to develop ESI. We've moved this information to the ESI deployment timeline, here: The timeline shows the deployment of totally new routes, but it also shows the deployment of routes that are going to have breaking changes. Consider the following screenshot: ... read more

ESI Mail Scopes Are Now Released

CCP Bartender | 2017-01-24 17:57
Greetings developers! Team Tech Co. is pleased to announce that all mails scopes (esi-mail.organize_mail.v1, esi-mail.read_mail.v1, and esi-mail.send_mail.v1) have now been released and are available for general use. We're excited to see what everyone does with them! (Thunderbird plugin, I want to believe!) However, I'd like to drop a quick reminder about section 2.3 of the EVE developer license agreement: 'Developer acknowledges and agrees that no Application shall be used [...] (b) as a means of phishing or spamming' Our third party developers have great judgement when it comes to these types of issues, but I wish to make it clear that one of our key indicators of "spam" will be "whether other people think you are sending spam". Applications that create work for our GM's by sending large volumes of unwanted mail (thus prompting people to create tickets asking us to ... read more

Technical Note: Character ID Ranges

CCP Bartender | 2016-12-07 15:31
Greetings developers, Quick info dump here. Up until now, all character ID's have been totally sequential and existed in rigidly defined ID ranges. In support of the influx of new players from the Ascension release, we are laying the groundwork to move characters into a non-sequential range (much like citadel ID's). More news on that will come next year (no need to panic ^_^), but for right now, you should know that all new characters on singularity are being created with ID's starting from 2112000000. This change will be released on TQ next Tuesday, 13th Dec 2016. For the time being, these new character ID's will remain sequential. However, CCP makes no guarantees that this will continue to be the case, and caution against encoding that assumption into your application logic as a long term strategy. (And yes, once we're closer to ... read more

Introducing the ESI API

Team Tech Co | 2016-11-08 18:45 | Comments
The EVE Swagger Interface is a new framework developed by Team Tech Co to underpin the new ESI API. If you don't know what this is, you should go here to read the blog Introducing ESI - A new API for EVE Online. This blog will dive a little deeper into the design and technical specifics of ESI, going to get into the base design of ESI to explain a few basic principles of what's going on behind the scenes. Most of this is transparent to the front-end, but may be of interest to some capsuleers regardless. Fundamentals Multi-tenant to the core ESI was designed to be a single interface to all information EVE related. As such, if ESI and the cluster agree on configuration, you can change the datasource query parameter on any route (including //swagger.json) to the ... read more

Legacy SDE discontinued

CCP Tellus | 2016-10-20 14:27
Greetings capsuleers! Along with the release of the Citadel expansion several months back, we improved upon the Static Data Export (SDE) by converting the remaining SQL data to YAML files. To aid in the transition and to give 3rd party developers time to migrate over to the new format, we had provided SDE builds in the old format alongside the new version after each release. We are discontinuing builds of the old SDE version builds. New SDE releases will be YAML only. That's all! Have a nice day. :) ~~ CCP Tellus read more

YC118.8 CREST Features

CCP Bartender | 2016-09-02 17:22
Greetings all! There are some new and resurrected features coming to CREST in the YC118.8 release. New remote client UI feature: open mail template Resource: /characters//ui/openwindow/newmail/ As part of our ongoing work on smoothing the transition away from the IGB removal, the /characters//ui/openwindow/newmail/ resource has been added. This POST resource will take a subject and body, and optionally a list of recipients, and open a pre-filled mail window on the client, ready for the user to hit send. There are a few caveats due to idiosyncrasies in the eve mail system: Corporations, alliances and mailing lists are all types of mailing groups. You may only send to one mailing group, at a time, so you may either fill out the corporationOrAllianceRecipient field, or the toMailingListId field, but not both. You may ... read more