• View Communities
    • Citrix Developer Network
      The place for unfiltered straight talk on Citrix products. Blogs, code downloads, best practices, APIs, and more can all be found here.
    • Citrix Ready Community Verified
      Does it work with Citrix? Application compatibility questions are a thing of the past with the new Citrix Community Verified site.
    • Blogs
      Learn the latest from the Citrix employees who are building application delivery infrastructure technologies.
    • Blogosphere
      The Citrix Blogosphere is a window into the thousands of conversations taking place about Citrix and Application Delivery.
  •  Sign In
XenServer Developer Network

Download SDKs

Overview

XenServer includes a XML-RPC based API, providing programmatic access to the extensive set of XenServer management features and tools. The XenServer API can be called from a remote system as well as local to the XenServer host. Remote calls are generally made securely over HTTPS, using port 443.

There are five SDKs available, one for each of C, C#, Java, PowerShell, and Python. These are provided under an open-source license (LGPL or GPL with the common linking exception). This allows use (unmodified) in both closed-and open-source applications.

There are also several example code samples also provided for download. Some of the code samples demonstrate creating a VM, running VM power operations, and watching for events.

The XenServer 5.5 SDKs are suitable not just for 5.5, but for use with XenServer 4.0, 4.1 and 5.0 servers too, making it possible to address multiple XenServer versions with a single binary. There are, of course, features missing on the older versions, and client programs are expected to check host.software_version["product_version"] to gracefully fall back when appropriate.

XenServer 5.5


  XenServer.NET: The XenServer SDK for C#.NET
       Download XenServer.NET binaries
       Download XenServer.NET samples
       Download XenServer.NET source

  XenServerJava: The XenServer SDK for Java
       Download XenServerJava binaries
       Download XenServerJava samples
       Download XenServerJava source

  libxenserver: The XenServer SDK for C
       Download libxenserver binaries
       Download libxenserver samples and source

  XenServerPSSnapIn: The XenServer SDK for PowerShell
       Download XS-PS Windows installer
       Download XS-PS source

  XenAPI.py: The XenServer Python module
       Download XenAPI.py
       Browse XenServer API examples using Python

  API Reference
       PDF
       HTML
       Javadoc (zip)

  XenServerConsole: A Java client for XenServer consoles
       Download XenServerConsole source


XenServer SDK VM


We also publish an appliance-style virtual machine, ready to be imported into a XenServer host. This contains the SDKs above, plus a XenServer simulator, and a complete Linux-based development environment.

  Download SDK VM: Version 5.5.0. 328 MB.
  XenServer SDK Guide
       PDF
       HTML


Citrix StorageLink SDK


What is Citrix StorageLink?
Citrix StorageLink lets users automate the configuration and provisioning of the virtual machine storage, taking advantage of advanced features of the attached storage array. StorageLink enables the user to create virtual machines from logical vendor-specific storage repositories that support advanced capabilities such as snapshots, cloning, thin provisioning, and data deduplication. StorageLink also uses advanced storage capabilities to rapidly create virtual machines, increase storage utilization, and provide improved business continuity while lowering total cost of ownership.

Citrix StorageLink seamlessly integrates with storage arrays using either the standards-based SMI-S interface or via a custom vendor-specific StorageLink Storage Adapter.


Citrix StorageLink Gateway SDK (v1.02): Version 1.02 Around 1.21 MB.

  • Documentation for Web Services/SOAP interface for Citrix StorageLink Gateway.


Citrix StorageLink Storage Adapter SDK (v1.09): Version 1.09 Around 22.9 MB.

  • Citrix StorageLink SDK for storage partners.


Further Resources


XenServer Documentation Index

XenServer SDK Forum

Browse and Share Scripts and Samples on the CDN Script Exchange

xvp: A web interface for XenServer, developed at Durham University



Older Releases


Note that the XenServer 5.5 SDKs are also suitable for use with XenServer 4.0, 4.1 and 5.0 servers. These older releases are here for historical purposes only.

XenServer SDK Archive





Tags

xenserverdotnet xenserverdotnet Delete
libxenserver libxenserver Delete
xenserverjava xenserverjava Delete
xenserverpssnapin xenserverpssnapin Delete
xs-ps xs-ps Delete
xenserver xenserver Delete
sdk sdk Delete
api api Delete
download download Delete
Enter tags to add to this page:
Please wait 
Looking for a tag? Just start typing.
  1. Oct 08, 2008

    sateesh c says:

    Hi, I could not find XAPI SDK with C bindings. I need to develop tools that ru...

    Hi, I could not find XAPI SDK with C bindings. I need to develop tools that run on XenServer. Please let me know how to download an SDK with C bindings. ~Sateesh

    1. Nov 05, 2008

      Ewan Mellor says:

      A new version of libxenserver is now available. There's a link above.

      A new version of libxenserver is now available. There's a link above.

      1. Nov 08, 2008

        sateesh c says:

        Nice to see the C bindings after long waiting. But while unzipping the archive ...

        Nice to see the C bindings after long waiting.

        But while unzipping the archive of libxenserver binaries (libxenserver-5.0.0-2.tar.bz2) I got the following errors.

        ---------------------------------------------------------------------------------------------------------------------------------------

        !   C:\Documents and Settings\testuser\Desktop\libxenserver-5.0.0-2(2).tar.bz2: Cannot open libxenserver.so.1 (libxenserver.so.1 --> libxenserver\libxenserver.so)
        !   C:\Documents and Settings\testuser\Desktop\libxenserver-5.0.0-2(2).tar.bz2: Symbolic link points to missing file

        ---------------------------------------------------------------------------------------------------------------------------------------

        ~Sateesh

        1. Nov 09, 2008

          sateesh c says:

          Hi, I could build the libraries from the sources. Thanks, Sateesh C.

          Hi,

          I could build the libraries from the sources.

          Thanks,
          Sateesh C.

        2. Nov 13, 2008

          Ewan Mellor says:

          What are you using to unzip the archive? Here's what I get: ~ $ ls -l libxens...

          What are you using to unzip the archive? Here's what I get:

          ~ $ ls -l libxenserver-5.0.0-2.tar.bz2
          -rwxrw-r-- 1 emellor xendev 269351 Nov 14 03:04 libxenserver-5.0.0-2.tar.bz2*
          ~ $ md5sum libxenserver-5.0.0-2.tar.bz2
          5c005005ec50dd7700d6b6bdffbaf53f  libxenserver-5.0.0-2.tar.bz2
          ~ $ tar xjvf libxenserver-5.0.0-2.tar.bz2
          libxenserver/libxenserver.so
          libxenserver/libxenserver.so.1
          libxenserver/libxenserver.so.1.3
          libxenserver/COPYING
          libxenserver/README
          ~ $ ls -l libxenserver/
          total 1092
          -rw-rw-r-- 1 emellor xendev   26527 Nov  5 01:09 COPYING
          -rw-r--r-- 1 emellor xendev    2537 Nov  5 01:09 README
          lrwxrwxrwx 1 emellor xendev      17 Nov 14 03:05 libxenserver.so -> libxenserver.so.1*
          lrwxrwxrwx 1 emellor xendev      19 Nov 14 03:05 libxenserver.so.1 -> libxenserver.so.1.3*
          -rwxr-xr-x 1 emellor xendev 1077961 Nov  5 01:09 libxenserver.so.1.3*
          
  2. Nov 08, 2008

    sateesh c says:

    I need a small clarification regarding the C bindings. Will the above mentioned...

    I need a small clarification regarding the C bindings.

    Will the above mentioned libxenserver SDKs work for XenServer 4.1 as well ?

    Thanks
    ~Sateesh

    1. Nov 13, 2008

      Ewan Mellor says:

      Yes, all of our SDKs will work against XenServer 4.0 and 4.1 as well as 5.0. Th...

      Yes, all of our SDKs will work against XenServer 4.0 and 4.1 as well as 5.0. There will of course be some functionality that is missing on the older servers, so your client program will need to check host.software_version["product_version"] to gracefully handle the compatibility.

      1. Nov 13, 2008

        Ewan Mellor says:

        I've put a comment to this effect on the page above. Thanks for asking the ques...

        I've put a comment to this effect on the page above. Thanks for asking the question!

  3. Mar 16, 2009

    Anonymous says:

    From the doc. It said The SDK is available for download as a ZIP file at http:/...

    From the doc. It said

    The SDK is available for download as a ZIP file at http://community.citrix.com/display/xs/XenServer+SDK of around
    250MB.

    Where can I download the SDK VM?

    1. May 05, 2009

      Ewan Mellor says:

      The SDK was moved temporarily, sorry about that. I've put new links to it on th...

      The SDK was moved temporarily, sorry about that. I've put new links to it on the page you mention, and on this one. Thanks for letting us know.

  4. Jun 09

    Anonymous says:

    Where's the SDK VM at? I rechecked the links but getting an error when it c...

    Where's the SDK VM at? I rechecked the links but getting an error when it can't find it..

    Dan Maldonado

    Computer Sciences Corp

    1. Jun 13

      Vishal Ganeriwala says:

      Try this link http://www.citrix.com/lang/English/lp/lp_1688621.asp
  5. Jun 13

    john casey says:

    The SDK VM link is invalid.   Thanks, John Casey LayerzNgn

    The SDK VM link is invalid. 

     Thanks,

    John Casey

    LayerzNgn

    1. Jun 13

      Vishal Ganeriwala says:

      Try this link http://www.citrix.com/lang/English/lp/lp_1688621.asp
  6. Jun 15

    Anonymous says:

    XAPI is provided over the local unix domain socket /var/xapi/xapi. I want ...

    XAPI is provided over the local unix domain socket /var/xapi/xapi.

    I want to use a local session for the XAPI calls.

    But using XAPI C bindings I am not able to create a session for the socket.

    I would appreciate any help regarding this.

     ~Sateesh.

    1. Nov 03

      Goncalo Gomes says:

      Hi Sateesh, I have answered a similar question just a few minutes ago. Hope they...

      Hi Sateesh, I have answered a similar question just a few minutes ago. Hope they can give you some sense of direction.

      http://forums.citrix.com/thread.jspa?messageID=1416213�\\

  7. Nov 06

    Anonymous says:

    Whome to contact for issues with Citrix Storagelink Adapter SDK 1.09? I followe...

    Whome to contact for issues with Citrix Storagelink Adapter SDK 1.09?

    I followed the instructions given in the "storagelink_adapter_sdk_devguide" and created an Storage Array adapter. It loaded fine and I was able to add credentials, enumerate the Storage Systems. It failed with an access violation exception in the gateway service while enumerating the after returning from the "enumerateStoragePools" method. What I found is, when the pools list is populated with only one element then it works fine, but if the numer of elements exceeds one, it throws this exception. This holds good for any enum methods returning more than one elements. What might be the issue?

    I tried with the sample adapter and still see the same issue.

    Thanks,
    KK

Add Comment

Related Links