> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# QSH client API workflow

The QSH-exposed APIs are called QSH client APIs for
applications. The client applications interact with the QSH framework available on the
low-power processor. The following figure shows the detailed breakdown and
usage of the QSH client APIs:

<div className="flex flex-col items-center gap-2">
  <img src="https://mintcdn.com/qualcomm-prod/h7j64QujhJHkLxyj/Technologies/Sensors/media/qcs6490/qsh-client-api-workflow.svg?fit=max&auto=format&n=h7j64QujhJHkLxyj&q=85&s=6ff210aa61e2b2672f2e2dd259982657" alt="Figure : QSH client API workflow" width="768" height="801" data-path="Technologies/Sensors/media/qcs6490/qsh-client-api-workflow.svg" />

  <p className="text-sm text-gray-700">Figure: QSH client API workflow</p>
</div>

The following list describes the QSH client APIs:

* `getSession()`: To interact with the QSH, the sensor application client must create
  an interface session by invoking the `getSession()` API. Successful creation of the interface session returns an
  `ISession*` object to the client.

* `open()`, `close()`, `setCallback()`, and `sendRequest()`: The interface that `getSession()` API creates operates on a
  *once\_per\_session* basis. This interface allows the client application to
  use the QSH client APIs, such as `open()`, `close()`,
  `setCallback()`, and `sendRequest()`, until the session is
  explicitly deleted using the `close()` and `delete()` APIs.

  After the interface session establishes, the client application or the
  client code can open a sensor session by calling the `open()` API.
  Similar to `getSession()`, the `open()` API is also invoked on a
  *once\_per\_session* basis. The `setCallback()` and
  `sendRequest()` APIs are invoked once for a specified SUID.

**Next steps**

* [Develop applications using the QSH client APIs](./develop_app)
