Chapter 1. Introduction

Red Hat Satellite provides a Representational State Transfer (REST) API. The API provides software developers and system administrators with control over their Red Hat Satellite environment outside of the standard web interface. The REST API is useful for developers and administrators who aim to integrate the functionality of Red Hat Satellite with custom scripts or external applications that access the API over HTTP.

1.1. Overview of the Red Hat Satellite API

The benefits of using the REST API are:

  • Broad client support — any programming language, framework, or system with support for HTTP protocol can use the API.
  • Self-descriptive — client applications require minimal knowledge of the Red Hat Satellite infrastructure because a user discovers many details at runtime.
  • Resource-based model — the resource-based REST model provides a natural way to manage a virtualization platform.

You can use the REST API to perform the following tasks:

  • Integrate with enterprise IT systems.
  • Integrate with third-party applications.
  • Perform automated maintenance or error checking tasks.
  • Automate repetitive tasks with scripts.

As you prepare to upgrade Satellite Server, ensure that any scripts you use that contain Satellite API commands are up to date. API commands differ between versions of Satellite.

1.2. Satellite API Compared to Hammer CLI Tool

For many tasks, you can use both Hammer and Satellite API. You can use Hammer as a human-friendly interface to Satellite API. For example, to test responses to API calls before applying them in a script, use the --debug option to inspect API calls that Hammer issues: hammer --debug organization list.

In the background, each Hammer command first establishes a binding to the API and then sends a request. This can have performance implications when executing a large number of Hammer commands in sequence. In contrast, scripts that use API commands communicate directly with the Satellite API.

Note that you must manually update scripts that use API commands, while Hammer automatically reflects changes in the API. For more information, see the Hammer CLI Guide.