OneSky API for Node.js
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

OneSky API for Node

This Node.js module provides access to the OneSky API for managing website translations.

Note: This module uses Onesky's "Classic API". Onesky has since released a new API called the Platform API. We should eventually migrate this module to the new API.

If you're looking for a service to order human translations, check out node-gengo.


Install via npm

npm install onesky --save


Initialize onesky with your public and private keys.

var onesky = require('onesky')(publicKey, privateKey);
Example calls

Note: All callbacks are passed an error and data argument: callback(err, data).

Create project with base locale en_US

onesky.project.add('My app', 'en_US', callback);

Fetch project

onesky.project.details('My app', callback);

Add a platform to a project

onesky.platform.add('My app', { type: 'website' }, callback);

Add a phrase to a platform. Strings parameter can be an object, array of objects, string, or an array of strings

var strings = [{
  string: 'My webapp is cool',
  stringKey: 'homepage.webapp_is_cool'
}, {
  string: 'Another sentence, without a stringKey'

onesky.string.input(platformId, strings, callback);

Order translations

  platformId: platformId,
  agencyId: 5,
  toLocale: 'es_ES',
  filter: 'ALL'
}, callback);

Fetch translations

  platformId: platformId,
  locale: 'es_ES'
}, callback);

For additional methods, see Onesky's documentation. All endpoints and options listed in the official API docs are available here.


Forks and pull requests welcome!


  • Add tests
  • Parse OneSky's response when approriate. OneSky often returns unnecessary nesting
  • Design a better way of defining API keys to allow use of multiple onesky accounts


Brandon Paton. Email me if you have any questions: Support by Localize.js.