Accessing N-able N-central SOAP API functions

N-able - N-central now uses REST APIs. To learn more, view the N-central REST API documentation.

Last Modified

Wed Jan 04 16:36 GMT 2024

Description

Environment

  • N-able N-central

Solution

  1. First to access information about the API navigate to the link below, this will give you the Web Services Description Language (WSDL) link required to pull information from N-able N-central ; there is also a Javadoc's link that lists the different functions, and what each can do.
    • http://Your_FQDN_or_IP/dms/
    • Please refer to this link for additional information about API: LINK
  2. You'll need a program that can make use of this, for the purpose of this article we will be using a Soap test program called SoapUI.
  3. To start you want to get the WSDL link, which allows to the specific functions to pull in data.
  4. This link is found at the dms link above, and when navigating to it it provides an XML list of data.
    1. http://Your_FQDN_or_IP/dms2/services2/ServerEI2?wsdl
  5. Open SoapUi and click on the SOAP button, and enter the WSDL link, it will populate a project name based on the FQDN, and click OK.
  6. Once you loaded the WSDL information, you can now make a request from a device or customer, or anything else from the javadoc's section, let's start with the deviceGet function.
  7. For the username and password this will be any account that has access to the device, or customer, you want to pull data from.
  8. As for the key/value pair, the key will always be either deviceid or applianceid for deviceGet.
  9. Now since there isn't a way to get the deviceid from a device, we'll stick with the applianceid, but we can get the deviceid from the API call.
  10. To get the applianceid of a device, in N-able N-central UI - click on a device>settings>Local Agent and scroll down till you see Appliance ID.
  11. Once you click on the green submit button, it will pull all the information about that device, based on what that call should be making.

Finding and Reviewing the Documentation of API Methods

In order to make API calls, you will need to know the Method Name, required fields and their format. This is described in the documentation as described above.
  1. Browse to https://Your_FQDN_or_IP/dms/
  2. Click on External API's Javadocs > ServerEI2_PortType.
  3. Look at the 2nd column (Method Name!) and click on the appropriate/desired Method to see details.
  4. There were changes to the API in N-able N-central 2020.1 to remove deprecated methods, and also some data structures and labels were changed for consistency. So, screenshots and examples below may no longer be completely accurate. For more information, see the article below or contact N-able Support for assistance: 

Example SOAP Call (CustomerAdd)

--WSDL url
https://example.n-able.com/dms2/services2/ServerEI2


--example soap request.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:ei2="http://ei2.nobj.nable.com/">
   <soap:Header/>
   <soap:Body>
      <ei2:customerAdd>
         <!--Optional:-->
         <ei2:username>productadmin@n-able.com</ei2:username>
         <!--Optional:-->
         <ei2:password>****************</ei2:password>
         <!--Zero or more repetitions:-->
         <ei2:settings>
            <ei2:key>customername</ei2:key>
            <!--Optional:-->
            <ei2:value>AAAAAAA</ei2:value>
         </ei2:settings>
         <ei2:settings>
            <ei2:key>parentid</ei2:key>
            <!--Optional:-->
            <ei2:value>50</ei2:value>
         </ei2:settings>
      </ei2:customerAdd>
   </soap:Body>
</soap:Envelope>



--example soap response
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
   <soap:Body>
      <customerAddResponse xmlns="http://ei2.nobj.nable.com/">
         <return>1698</return>
      </customerAddResponse>
   </soap:Body>
</soap:Envelope>

 

Other Example SOAP Calls

See the following KB articles: