var async = require('async'); var GitHubApi = require('github'); var github = new GitHubApi({ version: '3.0.0', protocol: 'https' }); github.authenticate({ type: 'basic', username: 'user', password: 'pass' }); async.waterfall([ function (callback) { github.gists.getAll({}, callback); }, function (gists, callback) { // filter gists by properties as needed async.each(gists, function (gist, callback) { github.gists.delete({ id: gist.id }, callback); }, callback); } ], function (err) { if (err) { console.log('Execution failed: %s', err.message); process.exit(1); } console.log('Done!'); process.exit(0); });