I assume there is no official support in the APIs right now since Aura Components are in BETA. The choice of developer tools is a bit narrow (Developer Console and Sublime Lightning) and I want to add Aura support into our free and native IDE CodeFusion (http://www.elastify.eu/apps/CodeFusion).

For Visulaforce and APEX we use ToolingAPI or MetadataAPI to access pages, classes, triggers and static ressources. This works great and boosted our Developer UX and coding performance a lot.

Now I had a look at Dave Caroll's Salesforce CLI here https://github.com/heroku/force This is a great project where you can see how to access Aura related metadata via ToolingAPI. For instance in force.go look at the function GetAuraBundlesList() somewhere near line 440:

func (f *Force) GetAuraBundlesList() (bundles AuraDefinitionBundleResult, err error) {
    aurl := fmt.Sprintf("%s/services/data/%s/tooling/query?q=%s", f.Credentials.InstanceUrl, apiVersion,
        url.QueryEscape("SELECT Id, DeveloperName, NamespacePrefix, ApiVersion, Description FROM AuraDefinitionBundle"))
    body, err := f.httpGet(aurl)
    if err != nil {
    json.Unmarshal(body, &bundles)

Even without knowing the Go language, it's very obviously using the ToolingAPI in the REST flavor. And it does so right NOW. So my questions are:

Does anyone know where to find a BETA- or draft-documentation of this new ToolingAPI features or has anyone tried to use them yet?

Especially I would be interested in extending Andrew Fawcett's ToolingAPI.cls https://github.com/afawcett/apex-toolingapi - simply to make all that Aura-Stuff available in APEX for native apps like CodeFusion. We really like it native! Any plans or interest in a collaborated effort to add this? It really doesn't look too hard, so if time allows, I probably could make the first steps even if the only docu would be reverse engineering the existent Go code. Or do you seen any obvious show stoppers?

Any ideas appreciated.

3 Answers 3


Both ToolingAPI and MetadataAPI are both fully functional and supported (Beta also of course). Dev Console uses the tooling api itself and sublime-lightning sits on top of the forceCLI project that uses various APIs. Packaging support is based on the MD API. At least one ISV/Partner (Squidify) has already Lightning Components enabled their own tools. Our own Salesforce Eclipse plugin will soon have LC support too.

Here is the MD API doc for AuraDefinition and AuraDefinitionBundle that should get you started:


SObject API is also a useful read:


LCs are represented by 2 new entities: AuraDefinitionBundle (the set of defs that comprise a component, app, event, etc) and AuraDefinition (and individual part of a bundle: markup (cmp, app, evt, etc), myCompinentController.js, and so on)

  • Thanks @DougChasman for your reply. Yes I've anticipated that. Unfortunately the current public documentation (v32) seems not cover these beta features salesforce.com/us/developer/docs/api_tooling/index.htm - we (elastify) are also partners. Is there a way to get access to the beta documentation?
    – Uwe Heim
    Nov 28, 2014 at 12:02
  • 1
    Added some doc links to my original answer above Nov 28, 2014 at 12:22
  • That's perfect Doug, it's exactly what I was looking for! Sure it'll help us to implement Aura into the existing APEX wrapper classes for MetadataAPI and ToolingAPI.
    – Uwe Heim
    Nov 28, 2014 at 13:34

We have added Tooling API doc for:

AuraDefinition (https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/sforce_api_objects_auradefinition.htm)

AuraDefinitionBundle (https://developer.salesforce.com/docs/atlas.en-us.api_tooling.meta/api_tooling/sforce_api_objects_auradefinitionbundle.htm)

Apologies that it took a while for the doc to appear.


Access via MetadataAPI form APEX

The MetadataService.cls for APEX has been updated a few days ago and now is also supporting AuraComponentBundles. I tested it and for my use cases it works just fine. You can get the code right here:


If you are updating form an older version < v29.0 you might also have a look here

MetadataAPI: Missing MetadataPort.checkStatus(String[] asyncProcessId) in MetadataService.cls v32.0

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .