2.0.3 • Public • Published

    Node.js Wrapper for OVH APIs

    The easiest way to use the APIs in your node.js applications.

    NPM Version Build Status Coverage Status

    // Create your first application tokens here:
    var ovh = require('ovh')({
      appKey: process.env.APP_KEY,
      appSecret: process.env.APP_SECRET,
      consumerKey: process.env.CONSUMER_KEY
    ovh.request('GET', '/me', function (err, me) {
      console.log(err || 'Welcome ' + me.firstname);

    You can also use the promised version like this:

    ovh.requestPromised('GET', '/me')
      .then(function (response) {
        //Do what you want
      .catch(function (err) {
        //Return an error object like this {error: statusCode, message: message}


    The easiest way to get the latest stable release is to grab it from the npm registry.

    $ npm install ovh

    Alternatively, you may get latest development version directly from Git.

    $ npm install git://

    Example Usage

    Login as a user

    1. Create an application

    Depending the API you plan to use, you need to create an application on the below websites:

    Once created, you will obtain an application key (AK) and an application secret (AS).

    2. Authorize your application to access to a customer account

    To allow your application to access to a customer account using an OVH API, you need a consumer key (CK).

    Here is a sample code you can use to allow your application to access to a complete account.

    Depending the API you want to use, you need to specify the below API endpoint:

    • OVH Europe: ovh-eu (default)
    • OVH US: ovh-us
    • OVH North-America: ovh-ca
    • SoYouStart Europe: soyoustart-eu
    • SoYouStart North-America: soyoustart-ca
    • Kimsufi Europe: kimsufi-eu
    • Kimsufi North-America: kimsufi-ca
    var ovh = require('ovh')({
      endpoint: 'ovh-eu',
      appKey: 'YOUR_APP_KEY',
      appSecret: 'YOUR_APP_SECRET'
    ovh.request('POST', '/auth/credential', {
      'accessRules': [
        { 'method': 'GET', 'path': '/*'},
        { 'method': 'POST', 'path': '/*'},
        { 'method': 'PUT', 'path': '/*'},
        { 'method': 'DELETE', 'path': '/*'}
    }, function (error, credential) {
      console.log(error || credential);
    $ node credentials.js
    { validationUrl: '',
      consumerKey: 'CK',
      state: 'pendingValidation' }

    This consumer key can be scoped with a specific authorization. For example if your application will only send SMS:

    ovh.request('POST', '/auth/credential', {
      'accessRules': [
        { 'method': 'POST', 'path': '/sms/*/jobs'},
    }, function (error, credential) {
      console.log(error || credential);

    Once the consumer key will be authorized on the specified URL, you'll be able to play with the API calls allowed by this key.

    3. Let's play!

    You are now be able to play with the API. Look at the examples available online.

    You can browse the API schemas using the web consoles of the APIs:

    Migration from 1.x.x to 2.x.x without Proxy support

    For example if you use the OVH Europe API, you'll have to check on the endpoints available for your feature.

    In order to have the informations about the bill with id "0123".

    • Before in 1.x.x with Proxy:["0123"].$get(function (err, billInformation) {
    • Now in 2.x.x with promise:
    ovh.requestPromised('GET', '/me/bill/0123') //This route has been found at
      .then(function (billInformation) {
      .catch(function (err) {

    Full documentation and examples

    The full documentation is available online:


    Get the sources

    git clone
    cd node-ovh

    You've developed a new cool feature? Fixed an annoying bug? We'd be happy to hear from you!

    Run the tests

    Tests are based on mocha. This package includes unit and integration tests.

    git clone
    cd node-ovh
    npm install -d
    npm test

    Integration tests use the OVH /domain/zone API, the tokens can be created here.

    export APP_KEY=xxxxx
    export APP_SECRET=yyyyy
    export CONSUMER_KEY=zzzzz
    npm run-script test-integration


    The documentation is based on Github Pages and is available in the gh-pages branch.

    Supported APIs

    OVH Europe

    OVH US

    OVH North America

    SoYouStart Europe

    SoYouStart North America

    Kimsufi Europe

    Kimsufi North America

    Related links


    npm i ovh

    DownloadsWeekly Downloads






    Unpacked Size

    107 kB

    Total Files


    Last publish


    • avatar
    • avatar
    • avatar