API Updates

4 min read

Deviation Actions

muteor's avatar
By
Published:
34.4K Views
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.

 

© 2014 - 2024 muteor
Comments42
Join the community to add your comment. Already a deviant? Log In
finwe's avatar
Is there any chance to add an endpoint for getting deviations list of the authenticated user in a close future? And folders lists... And deviations in a specific folder...
Right now, I am using the old school DiFi. And to use DiFi properly, i have to find user-id (the system id number) first.. To do so, i have to make a standard HTTP request from user's profile page. So, unnecessary data traffic. And even more, a DiFi gallery response is a lot of data, because of the HTML strings. Another unnecessary data traffic...
So, if you can add some endpoints for deviantArt Gallery it could be awesome..

For example:
GET   /gallery/deviations?[count, offset, order(latest, popular)]
GET   /gallery/folders?[count, offset]
GET   /gallery/folder?[count, offset, order(latest, popular)]

---