# SDK Core APIs

## Introduction

The SDK core APIs provide infrastructure to invoke any API on a server. The SDK Core APIs provide the client side interfaces to set up connection with the server, package or unpackage messages in XML format, query any API on the server, determine the queried result, and so on.

The data structures used for sending requests and for receiving responses are called Input Output (I/O) elements. XML encoding is used to package these I/O elements. Each element has a name and content, and might have one or more child elements within. The content type is a string, integer, array of elements, or a NetApp-defined data type.

The SDK Core APIs internally convert any API to be invoked and the I/O elements, to XML format. The mechanism is as follows:

- The client code uses a small set of primitive data types to create a request.

The only primitive data types available in the SDK Core APIs are integer, string, and boolean. Nested structures and arrays are also available, which contain integer, string, and boolean, in turn.

- An API name is associated with it.

- Named parameters are added to the request.

On the server side, a similar set of primitives extracts the parameters from the request for processing, and packages the reply. At the client side, the response data is extracted using the SDK Core APIs.

The transport mechanism used for the API communication is either HTTP, HTTPS, or DCE/RPC for Windows. HTTP and HTTPS are important while managing devices residing outside the corporate firewall. HTTPS provides secure communication by encrypting the API requests and responses.

## Content of this section

This section provides information about the Core APIs in four different languages:

- C and C++ Core APIs—This section lists the functions in C and C++.

- Java Core APIs—This section lists the Java classes, interfaces, exceptions, and errors.

- Perl Core APIs—This section lists the functions in Perl.

- Microsoft .NET Core APIs—This sections lists the Microsoft .NET classes, exceptions, and enumerations.

- Python Core APIs—This section lists the functions in Python

- Ruby Core APIs—This section lists the functions in Ruby

Related Topic

- Library Information