Shop More Submit  Join Login
Group Info Group Founded 13 Years ago Statistics 47 Members
355,288 Pageviews877 Watchers

API Updates

Thu May 8, 2014, 10:52 AM
We are pleased to announce the release of a new API backend framework and documentation to support future growth of the deviantART & Sta.sh API's.

New Docs2 by muteor

Endpoint2 by muteor



Whats Changed?


We have been busy over the past few months creating a new framework that will allow us to make changes to the API faster.

The main new features are:
  • Versioning - We now support versioning of endpoints meaning we can make backwards incompatible changes.
  • Error Responses - We have standardized our error responses to make it easier for you to handle errors.
  • Request Specifications - We now have fine grained endpoint parameter specifications that improve request validation greatly.
  • Response Specifications - Responses are now predefined so your client will always receive consistent responses and types from the API.
  • Automated Documentation - All of the above means we can auto-generate documentation so that it doesn't become out of sync when we make changes.

Versioning


The ability to version changes to the API is one of the more important new features as it means we can now make backward incompatible changes without breaking older client implementations.

Major versions are specified via the URI of the endpoint and the current major version is v1, for example the whoami call is now: 
/api/v1/oauth2/user/whoami
Minor versions are date based E.g. 20140101 and are requested via the special request header dA-minor-version. If you do not send the header your client will always receive the latest minor version available.

Note: You do NOT need to update your current clients, all requests that do not contain the /v1/ major version in the URI are locked to v1.0 automatically.

Check out the full versioning documentation.

Errors


One of the more inconsistent parts of the old API was its error messages, we have now simplified the error codes and returns to make it easier for your clients to handle error states.

Old style errors are still returned if the request does NOT contain /v1/ in the URI. These will be documented with the endpoint and are marked as deprecated. 

Check out the full errors documentation.

The Future


The point of all this work is to make it possible to release new endpoints in the future. So far we are carefully testing the framework and considering what new endpoints can be released. We don't take the decision to release a new endpoint lightly - it is something that must be well designed, coherent and easy to use and something that we must support for a long time to come.

If you have a burning desire for a particular endpoint that would allow you to do something awesome, then we'd love to hear your thoughts. Please bear in mind that we will only be releasing new endpoints once we are confident that they will work well, be useful to a wide audience and be something we can support log term.

 

More Journal Entries

Group Info

Group
Founded 13 Years ago
Oct 25, 2001

Location
Global

Group Focus
deviantART Related

47 Members
877 Watchers
355,288 Pageviews
Daily Pageviews

Sync

When DT finishes making a brand new deviantART feature, or just fixes a bug, we first run it on our top-secret staging server. When everything's ready to go live, we sync it!
Syncs Per Day

Comments


Add a Comment:
 
:iconmistycascade:
MistyCascade Featured By Owner Jan 31, 2014  Hobbyist General Artist
I don't know if this is where to give a suggestion, but I haven't found anywhere on dA yet where I can give suggestions. I am an Admin at All-World-Works , which is a very large group here on dA (almost 50,000 members). One of the things in our group that we do, is have a "submissions" folder where people dump all their artwork. Then a group of admins who are folder sorters (myself included), manually move everything to the folders they go in. Well, as you can imagine, that is rather tedious work.  I propose a feature for group administrators to be able to click on various pictures, and move it all to a different folder all at the same time. Similar to when submitting a picture to a group, people can click on several pictures to submit to a particular folder. This would make the job for group administrators way easier and more efficient. Thanks for your time! 
Reply
:iconlablayers:
LabLayers Featured By Owner Jan 27, 2014  Student Interface Designer
Thought I'd drop this here in case anyone dreams in Node:


It passes back profile.username, profile.avatar to passport.js.
Reply
:icondahub:
dAhub Featured By Owner Jan 6, 2014
Half an hour ago the "simple-symbol" class was removed from the Message Center.  Is this a permanent change?  Is the "simple-symbol" class being phased out across the site?
Reply
:iconfartprincess:
fartprincess Featured By Owner Feb 5, 2014  Professional Writer
Hi dAhub, sorry for the late response, but yes, this is a permanent change.
Reply
:icondahub:
dAhub Featured By Owner Feb 5, 2014
Thank you
Reply
:iconlogeg:
logeg Featured By Owner Jan 5, 2014  Hobbyist General Artist
Any chance the year-old bug with Windows touch-enabled devices and Chrome will be fixed? Or have you given up on that one? I mean this: support.deviantart.com/entries…
Reply
:iconmilovanf:
milovanf Featured By Owner Dec 26, 2013  Professional Digital Artist
I doubt this is a real place to tell my problem, but in last time, especially yesterday I got several times Error500   Internal Error. Is that a bug or...? Because when I do few times "refresh a page" it doesn't help, but when I exit from my browser and visit the same page again, it's open it with no problems. I thought it was my browser expired but it's not, I restart it and instal it again. Help?
Reply
:icondivinityarcane:
DivinityArcane Featured By Owner Nov 18, 2013  Professional General Artist
Howdy,

A few of the things that I've been working on have required displaying users avatars, and I've noticed that the API does not yet provide a method for acquiring the appropriate format/extension for the given user yet. For dAmn we use the bits sent to translate into one of three formats, which is fine and has worked well over the years. But, for off-site related things (like displaying quotes of users, information about them, or even just their avatar next to their name when referencing them) we have no method of obtaining the information needed. 


If possible, the easiest way (most likely, unless you want to add another endpoint to user) would be to allow deviant urls (x.deviantart.com) for oembed and simply return relevant information on that deviant; i.e. name, join date, pageviews(?), avatar url (format + cachebuster is a plus) and possibly other information such as comment count, deviation count, etc.



In any case, right now I only need a way to get avatar information without writing yet another page scraping method. And yes, by avatars I mean usericons. Any insight would be greatly appreciated.

Thanks!
Reply
:icondivinityarcane:
DivinityArcane Featured By Owner Nov 18, 2013  Professional General Artist
After asking $Pickley about oembed, I see that it's for deviations only. So the most viable endpoint would be /user/whois
Reply
:iconlablayers:
LabLayers Featured By Owner Nov 3, 2013  Student Interface Designer
Regarding the PHP code sample...

I'm getting "Fatal Error: No valid JSON response returned." after I successfully authenticate with www.deviantart.com. I have the oauth2 library properly referenced along with fella.png. What did I do wrong?

gist.github.com/LabLayers/7295…
Reply
Add a Comment: