# 1. Introduction

This guide includes a listing of all AMPS commands as well as the required and optional parameters. AMPS supports a consistent set of commands and options regardless of the protocol used to communicate with AMPS. This guide covers the semantics of the commands and options, but does not cover how those commands and options are represented in any particular protocol. Each protocol uses a different concrete format for messages, and that format is specific to the protocol.

To use a command from your application, set the properties of the Command object as shown in this guide, the use the execute function to send the command. The AMPS client is responsible for interpreting the command and formatting the message to AMPS in the proper format for the specific protocol the client is using.

This guide lists the available options and their usage. When using the AMPS client libraries (either with the named convenience methods or with the `Command` interface), your application only needs to specify a subset of options. The AMPS client itself will handle formatting the command, adding options necessary for submitting the command (such as requesting a response indicating if a subscription succeeded, and so forth).

The Developer Guide for each language provides a cookbook for common commands to AMPS, and indicates which fields and options to set for those commands.

Tip

The AMPS client libraries handle many of the details for an application, such as handling heartbeating, requesting acknowledgement on commands, and so on.

The Developer Guides for the AMPS client libraries include a reference that lists the fields and options to set to produce a specific result.