SWTOR Data

API Information - Change Log

Changes

Any changes listed below should affect all versions of the API after it was released, unless otherwise specified.

Date Versions Affected Changes
August 11, 2015 1.0
  • How mods are returned for items has been rewritten
  • Item icon now included with the API
  • API Usage Graph
January 11, 2016 2.0
  • Version 2.0 of the API launched
  • Deprecation date for version 1.0 announced (April 30, 2016)
  • All object types added with 2.0
  • Significant rewrite of the API for version 2.0
March 9, 2016 All
  • Process of getting information from the game sped up and automated.
  • This means that when a patch is released, new data is imported into the website as fast as possible so your apps always have up to date information
March 25, 2016 2.0
  • Images added to the automated process deployed on March 9
  • All image links changed to use cdn.swtordata.com
  • Fixed an oversight in the API Update email causing people with multiple keys to get an email for every key
April 19, 2016 2.0
  • Brand new API website
    • Rebuilt from the ground up to make it easier to find the information needed.
    • More links to the API documentation on the normal website
    • The top navigation now links to a "Powered by SWTORData" section to feature website and apps using the SWTORData API
  • The first rollout of major underlying changes to SWTORData as a whole, which will affect the API. These changes will be going on object type at a time. The goal of these changes will not be rolled out (or revealed) until all objects have been updated.
  • Started the process to split out less used and more resource intensive data points.
    • Added a "item_model" endpoint to get all of the items with the same model
  • The Item object has had several updates:
    • 'moredetailed' flag has been removed
      • In continued work towards optimizing the API code so it is faster and cleaning up the code so it is easier to maintain, I found removing this flag was the better option.
      • The code has been optimized to the point that it should not increase API response time at all.
    • Filters added
    • New Helper API
    • Improved Name Search
    • Quality now returns helpful information:
      • before --- "quality": { "name": "Artifact", "darkdisplaycolor": "white", "lightdisplaycolor": "black", },
      • after --- "quality": { "name": "Artifact", "darkdisplaycolor": "Purple", "lightdisplaycolor": "Purple", "darkdisplaycolor_hex": "a800d7", "lightdisplaycolor_hex": "a800d7" },
      • Fixed issues with darkdisplaycolor and lightdisplaycolor always being white or black
      • Added hex values for both dark and light colors
    • Added Armor Rating to the output
    • Added the ability to get the items crafted with an item.
    • Added Item Model information to get the ID of the model and the number of items with the same model (will not include a list of items, you can get that information from the new 'item_model' endpoint)
    • Added conusmed on use boolean value
    • Added item_slots
    • Added unique_limit
    • Added required_gender
    • Added social_score_required
    • Added social_score_required_rank
    • Added required_profession_level
    • Added required_valor_rank
    • Added item_required_profession
  • Added an object spec to the 2.0 documentation for 'Items' (more to be added later)
May 2, 2016 2.1
  • v2.1 of the API launched. v2.0 is now locked in its current state except for bug fixes. Everything in this release is related to v2.1
    • With the April 19 update I introduced a new feature to the API that caused significant site stability issues. To address this I will be releasing more minor updates when adding new features to the API
    • All 2.X versions of the API will be deprecated at the same time (After 3.0 launches). If you do not need any of the new feautres you can stay on your current version of the API without any problems.
    • For the most part these will not be major changes and it should be easy to switch to a new version
    • The 2.X API series will have many more versions than most likely any other API version. This is due to the large changes that I am currently working on.
  • Caching
    • I am rolling out very aggressive Caching with this release
    • This caching is at an internal Object level instead of on a page level. This means that what is cached/retrieved when you view an item on the website and you call the object in the API is the same. The search results also cache these objects.
    • While this helps save space caching, it also is important so I don't have to precache results to speed things up quickly.
    • I am rolling out this caching as I work through all of the objects. So right now this is limited to Items, Crafting, and Abilities
  • Crafting
    • 'professionlevelrequired' key added
    • 'crafting_profession' filter added to search
    • Crafting name search updated with improvments added to Items
    • 'crafted_item' key added (the item object for the item that is crafted).
  • Item Crafted With
    • The item object returned as part of the 'item_crafted_with' API call has been changed
    • The 'Item' key has been removed and replaced with a 'crafted_item' key which is a complete Item object
  • Ability
    • 'get_tooltip' key added
    • Ability name search updated with improvments added to Items
    • Withs with Ability as use and equip
      • To get items that have a specific ability as a use ability or eqiop ability, I have added 2 new API endpoints. `abilities_use_on_items` and 'abilities_equip_on_items'. Both of these take the Ability ID and returns an Array of Item objects
      • To help cut down on required API calls. The base Ability object has a new key:
        • "items_use_and_equip_information": { "number_of_items_with_equip": 0, "number_of_items_with_use": 0 }
    • Several Filters Added:
      • Target Rule
      • Minimum Range
      • Maximum Range
      • Cooldown Minimum
      • Cooldown Maximum
Unknown 2.2
  • v2.2 of the API launched. v2.1 is now locked in its current state except for bug fixes. Everything in this release is related to v2.2
  • All cases of nested objects should now return full objects as defined by that objects spec. If you find anywhere that this is not the case please contact me.
    • There are a small number of known exceptions:
    • 'crafted_item' in the 'Crafting' object is not a complete object. This created an infinite loop attempting to build a hash. The 'crafted_by' key under 'item' is a full 'crafting' object. So starting with the 'crafting' object, the 'crafte_by' key would be an 'item' object which includes the same 'crafting' object, and the loop goes from there. I am keeping this in here for now while I figure out a better solution. I feel like the 'item' object is important for crafting since it gives the quality and the icon.
  • Caching Changes
    • A while ago I started testing caching on the site. At the time this was using a file based cache solution, this did not scale well and caused a lot of errors in my testing.
    • I have switched to using a memory based cache solution. Right now this is capped at 1GB of storage, caching about 68,000 objects. I have not been able to figure out exactly how much space it would require to cache everything, but I am estimating about 10GB of memory.
    • I have configured it to remove lesser used objects. I will continue to monitor the cache and adjust the limit as needed. I have some wiggle room on the server it is running on to increase that number.
  • This is larger than any change done before:
  • Item
    • Created new Item endpoint 'item_rewarded_from_missions', which takes an item ID and returns all of the missions that reward the Item
    • Added key 'rewarded_from_missions_information' to item to help with knowing when to use the new endpoint. This returns a hash telling how many missions reward the item, and a link to the new endpoint
    • The key 'crafted_by' is now a complete crafting object
        Due to the crafting object using a different name internally, the previous key 'craftingprofession' is now just 'profession' like other crafting objects
    • The 'enhancements' key has has 2 changes
        The 'enhancement' key has been renamed to 'enhancement_item' so it is more clear that it is an Item object
        'enhancement_item' is now a complete item object
    • 'use_ability' and 'equip_ability' are both now complete Ability objects
  • Crafting
    • Under 'required_materials', the 'item' object is now complete
  • Mission
    • The key 'class_icon' has been added under 'mission_classes'
    • 'quantity' key added under rewards
    • 'Rewards' rebuilt to add support for quest rewards that only show up at certain levels
    • 'Item' under 'rewards' is now a complete Item object
    • Branches added (this links to steps within branches, steps has many tasks, and tasks may have links to bonus missions)
    • Added 'get_tooltip' to Mission
  • NPC
    • 'moredetailed' paramater no longer used, Class information included by default
    • Add 'get_tooltip' to NPC
    • Added 'npc_professiontrained' key
    • 'codex_id' key removed
    • 'codex' is now a complete object
    • Fixed issues with 'npc_category' and 'npc_sub_category' not being returned in certain situations
    • Added new 'npc_vendor_packages' key for returning an array of the packages that an NPC may sell.
  • Codex
    • Add 'get_tooltip' to Codex
    • Key 'related_codexes' has been removed since it could not be made into a complete object. Related codex are also now being referred to as "linked codex"
    • Key 'linked_codex_count' has been added to know if there are any linked codex
    • New Endpoint, 'codexes_linked_codexes' which takes a codex ID and returns all of the linked codex entries
  • Decoration
    • Add 'get_tooltip' to Decoration
    • The 'item' key is now a complete object
    • Added keys 'decoration_restricted_faction', 'personal_unlock_limit', 'guild_unlock_limit'
  • Reputation
    • Add 'get_tooltip' to Reputation
    • No other changes to reputation
  • Strongholds
    • Add 'get_tooltip' to Reputation
    • No other changes made to strongholds
  • Achievements
    • Add 'get_tooltip' to Reputation
    • 'api_icon' is now correctly returned with an actual icon
    • 'legacytitle' is now a complete Legacytitle object
  • Collections
    • Add 'get_tooltip' to Reputation
    • Abilities and Items are now complete objects
  • Legacy Titles
    • Add 'get_tooltip' to Reputation
    • 'achievements' key removed from base Legacy Title object
    • key 'achievements_count' added for how many achievements have this legacy title
  • Titles
    • Add 'get_tooltip' to Reputation
  • Known Issues - Everything listed here are issues with data not being returned when it should be. This should not break your application, these are edge cases with certain objects that I am investigating
    • 'class' information for NPC is not being returned for a subset of NPC's
    • There are several cases where Linked Codex entries will not be linked in both directions. (only one object will say it is linked) I am still working to identify why this is happening.
    • Under Decoration, there are several objects that 'available' returns null instead of true or false. Working to identify the cause