About application programming interfaces (APIs)

Describes most of the iSeries™ application programming interfaces (APIs), as well as some APIs for related products that can be used on iSeries servers.

Before using APIs, you should be familiar with the API concepts discussed in this topic. On occasion, you may need to refer to other IBM® books or topics for more specific information about a particular topic. Information for specific APIs or categories of APIs often provide links to additional information that may be useful to you.

Who should use APIs

The APIs are intended for experienced application programmers who are developing system-level and other i5/OS™ applications. This topic provides reference information only; it is neither an introduction to the i5/OS licensed program nor a guide to writing i5/OS applications.

How this information is organized

In the API finder, you can search for APIs by category, by API name, by descriptive name, or by part of the name. You also can search for new APIs, changed APIs, and exit programs.

The API categories are major functional categories, such as backup and recovery, objects, and work management. Within the individual categories, the APIs are organized in alphabetical order as follows:

Compatibility with future releases

In future releases, IBM intends that one of the following will be true:

It is IBM's intention that the APIs will continue to work as they originally worked and any existing applications that use the APIs will continue to work without changes. Significant architectural changes, however, may necessitate incompatible changes. Additionally, some API definitions, for example the UNIX® type of API definitions, are established by industry standards organizations where the degree of compatibility is determined by the organizations.

To ensure better compatibility with future releases, you should retrieve and use all of the following when you work with user spaces generated by list APIs:

System APIs or CL commands--when to use each

Before system APIs were offered on the system, you had to either code separate CL programs to perform the needed functions using the appropriate CL commands or code a call to the Execute Command (QCMDEXC) API in your program. Both methods made coding an application on the system more cumbersome (less straightforward and not as fast as possible).

CL commands will always be needed; they are ideal for the interactive user and for CL applications that are performing basic tasks. They provide a complete set of functions on the system.

APIs are not provided as a replacement for CL commands, although in many cases there may be both an API and a CL command that perform the same function. If a CL command and an API provide the same function, at times the API provides more flexibility and information. The CL command is intended to be entered either interactively or in a CL program, and the API is designed as a programming interface.

Some APIs have no equivalent CL command. These APIs have been provided in areas where customers and business partners have indicated that they need high-level language (HLL) access.

Actions and system functions of APIs

An API can be categorized by the type of action it performs and by the system function that it relates to.

Following are some of the types of APIs that perform actions; several examples of these APIs are discussed in more detail in later chapters of this book.

While many APIs are used alone, some can be used together to perform a task or function. The following is a list of a few functions:

Related reference
Determining whether to use data queues or user queues
Examples: Using data queues or user queues