Hi Clare,

I am sorry but you seem to have found the best resources already. Namely 'what dictionary keys to expect...in a particular Galaxy version' is a hard problem with the current docs. :/
We could definitely do a better job providing example calls and responses in the docs with the code, so they are versioned together.

I believe we are trying pretty hard not to break backward compatibility on both Galaxy side and BioBlend side so the change of file_name to file_path attribute you described sounds alarming. I will look into it.

What I usualy do when I need to have a sample response is to actually call the endpoint using Postman Chrome extension (https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop). However if you need this for multiple Galaxy versions it might be tedious to set them up.

Sorry I couldn't be of more help.

Thank you for using Galaxy!

Martin

On Wed, Sep 30, 2015 at 6:58 AM Clare Sloggett <sloc@unimelb.edu.au> wrote:
Hi all,

I'm wondering if there is any documentation of the JSON structures
returned by particular Galaxy REST API calls.

Some aspects of the Galaxy API are effectively documented via
bioblend's structure, and others are documented at
http://galaxy.readthedocs.org/en/master/api_doc.html . However I don't
know where to look to find out the actual JSON structure that should
be returned by an API call. Does this exist?

For instance, if I call (using bioblend)
   gi.histories.show_history(..., contents=True, details="all"),
I will get back a list of dicts where each dict contains dataset metadata, e.g.:
{ u'api_type': u'file',
  u'create_time': u'2015-09-28T06:00:19.850421',
  u'data_type': u'galaxy.datatypes.sequence.FastqSanger',
  u'file_name': u'/mnt/galaxy/files/000/dataset_2.dat',
  ....

I'd like to know how to find out what dictionary keys to expect for a
particular API call in a particular Galaxy version. In this example,
IIRC at some point the key 'file_name' changed to 'file_path', but I
don't know how to determine which version of Galaxy uses which
convention. I don't think this change would necessarily be reflected
in bioblend, because bioblend just returns the entire JSON structure
as a Python object without caring much about its contents.

I also don't know how to derive this information from the Galaxy
source code itself (even though I know where the API code is under
webapp), so alternatively any guidance on that would be helpful!

Thanks,
Clare
___________________________________________________________
Please keep all replies on the list by using "reply all"
in your mail client.  To manage your subscriptions to this
and other Galaxy lists, please use the interface at:
  https://lists.galaxyproject.org/

To search Galaxy mailing lists use the unified search at:
  http://galaxyproject.org/search/mailinglists/