TaskTemplatesApi:
  deleteTaskTemplate: |-
    const AsanaPreview = require('asana-preview');
    
    let client = AsanaPreview.ApiClient.instance;
    let token = client.authentications['token'];
    token.accessToken = '<YOUR_ACCESS_TOKEN>';
    
    let taskTemplatesApiInstance = new AsanaPreview.TaskTemplatesApi();
    let task_template_gid = "1331"; // String | Globally unique identifier for the task template.

    taskTemplatesApiInstance.deleteTaskTemplate(task_template_gid).then((result) => {
        console.log('API called successfully. Returned data: ' + JSON.stringify(result.data, null, 2));
    }, (error) => {
        console.error(error.response.body);
    });
    
  getTaskTemplate: |-
    const AsanaPreview = require('asana-preview');
    
    let client = AsanaPreview.ApiClient.instance;
    let token = client.authentications['token'];
    token.accessToken = '<YOUR_ACCESS_TOKEN>';
    
    let taskTemplatesApiInstance = new AsanaPreview.TaskTemplatesApi();
    let task_template_gid = "1331"; // String | Globally unique identifier for the task template.
    let opts = { 
        'opt_fields': "created_at,created_by,name,project,template"
    };
    taskTemplatesApiInstance.getTaskTemplate(task_template_gid, opts).then((result) => {
        console.log('API called successfully. Returned data: ' + JSON.stringify(result.data, null, 2));
    }, (error) => {
        console.error(error.response.body);
    });
    
  getTaskTemplates: |-
    const AsanaPreview = require('asana-preview');
    
    let client = AsanaPreview.ApiClient.instance;
    let token = client.authentications['token'];
    token.accessToken = '<YOUR_ACCESS_TOKEN>';
    
    let taskTemplatesApiInstance = new AsanaPreview.TaskTemplatesApi();
    let opts = { 
        'limit': 50, 
        'offset': "eyJ0eXAiOJiKV1iQLCJhbGciOiJIUzI1NiJ9", 
        'project': "321654", 
        'opt_fields': "created_at,created_by,name,project,template"
    };
    taskTemplatesApiInstance.getTaskTemplates(opts).then((result) => {
        console.log('API called successfully. Returned data: ' + JSON.stringify(result.data, null, 2));
    }, (error) => {
        console.error(error.response.body);
    });
    
  instantiateTask: |-
    const AsanaPreview = require('asana-preview');
    
    let client = AsanaPreview.ApiClient.instance;
    let token = client.authentications['token'];
    token.accessToken = '<YOUR_ACCESS_TOKEN>';
    
    let taskTemplatesApiInstance = new AsanaPreview.TaskTemplatesApi();
    let task_template_gid = "1331"; // String | Globally unique identifier for the task template.
    let opts = { 
        'body': {"data": {"<PARAM_1>": "<VALUE_1>", "<PARAM_2>": "<VALUE_2>",}}, 
        'opt_fields': "new_project,new_project.name,new_project_template,new_project_template.name,new_task,new_task.created_by,new_task.name,new_task.resource_subtype,resource_subtype,status"
    };
    taskTemplatesApiInstance.instantiateTask(task_template_gid, opts).then((result) => {
        console.log('API called successfully. Returned data: ' + JSON.stringify(result.data, null, 2));
    }, (error) => {
        console.error(error.response.body);
    });
    
