Friday, April 10, 2015

A Postman Collection of vRealize Automation 6 API Calls

I recently had a demo request for the vRealize Automation 6 consumer REST API and I put together a quick collection of Postman REST calls for the demo so I wouldn't have to type them out or search my history during the demo.  I thought I would share them here as others might find this collection useful when exploring the API.

The collection JSON can be found here.

If you aren't familiar with Postman, it is a REST client add-on for Chrome that you can use to test and view API calls - very powerful and lots of features I haven't even explored.  I prefer the "packaged app" version rather than the Chrome plugin.

As of this posting, I have 8 REST calls in the collection.


  • Authenticate - contains the URI and JSON example form for requesting a bearer token.  You'll need the token for the rest of the actions, so explore this first.  Tokens are good for 24 hours by default.
  • Get IaaS Catalog Items - this is a GET for catalog items with a query on the end of the URL for the service ID associated with your IaaS service.  To get this ID, you'll need to run the "Get All Services" and examine the output to find the IaaS service ID.
  • Get All Services - as explained above.  You can also use this to modify the Catalog Items request to find ASD catalog items, AppService catalog items, etc.
  • Get A Catalog Item - Once you have a catalog item ID, you can update the URL and replace the example ID with your own.
  • Request Catalog Item - You'll need to do a little more work here.  For the most part, the example is good but you will want to modify the JSON request in the body to align with your catalog item's fields.  You'll note that I changed several values for some keys that have to modified with your specific environment information (for example, "CATALOG ITEM ID HERE").  For the request key:values modify the requestData/entries array to match the request form you would normally see in the UI.  An easy way to do this, is to use the CloudClient to export a previous request in JSON format and then you can copy the entries array to use with this request.  You could also use Postman to get a previous request and copy/paste from there, but I just find it easier to use CloudClient for that task because I then have a copy I can refer back to without having to get the request again.
  • Status of Request - You can always go into the vRA UI and check the status of a request, but programatically you can do the same using this call.
  • Resource Action Request - This example can be used to perform an action menu item request. Use the "Get Actions for a Resource" call to obtain the pertinent information for the request.
  • Get Actions for a Resource - As indicated above, precursor for running the "Resource Action Request" but note that the action IDs are global (i.e. Power off a VM) so if you are requesting the same action on multiple machines you don't need to modify the action ID each time.
Hope this helps.  Questions in comments or hit me on twitter @johnddias.  

3 comments:

  1. John, do you have samples of the GET statements you created to get those responses? I don't see them in GitHub

    ReplyDelete
  2. Hi Dan, the link to GitHub is an xml file that you will need to import into Postman client. If you examine the xml closely you will see the GET call statements. Is that what you are looking for?

    ReplyDelete
  3. Hi Dan, the link to GitHub is an xml file that you will need to import into Postman client. If you examine the xml closely you will see the GET call statements. Is that what you are looking for?

    ReplyDelete