# Manage the availability of your users with the iAdvize API

## Overview

Managing the availability of your users through the API can meet several integration use cases:

* Synchronize your users' availability between several tools,
* Modify the availability of your users on the different channels according to the current activity,
* View the availability of your users and the number of conversations in progress on each channel in real time.

## Prerequisites

API authentication uses temporary and revocable access keys (tokens). Please note that the lifetime of the key is 24 hours.

To generate your access key, please refer to [this section](/technologies/graphql-api/authentication.md).

## Steps to follow <a href="#how-to-proceed" id="how-to-proceed"></a>

### **Check the availability of a user** <a href="#id-2-check-the-availability-of-a-user" id="id-2-check-the-availability-of-a-user"></a>

The [UserAvailability](/technologies/graphql-api/reference.md) object is available in the user resource in our GraphQL API and allows you to consult the availability and occupation of a user for each channel (chat, call, video, third party channels).

For each channel, the [UserChannelAvailability](/technologies/graphql-api/reference.md) object allows you to know:

* if the channel is activated for this user,
* whether the user is currently available on this channel,
* the number of conversations in progress on this channel, for this user,
* the number of simultaneous contacts allowed on this channel, for this user.

The [UserPresence](/technologies/graphql-api/reference.md) object also lets you know if the user is connected to the solution or not.

### **Changing the status of a user** <a href="#id-3-changing-the-status-of-a-user" id="id-3-changing-the-status-of-a-user"></a>

The **userAvailabilityStatusUpdate** resource is available in our GraphQL API and allows you to modify in real time the availability of a user (available/unavailable) for each channel (chat, call, video, third-party channels).

{% hint style="info" %}
The webhook user.availability.updated allows you to be informed of each change of status of your users ([webhook reference](https://docs.iadvize.dev/use-cases/administration/users/pages/Btf9Z1ckUjapkIYEdr1L#user.availability.updated))
{% endhint %}

## Good practices

To discover all the resources available to manage your users and their availability, you can consult our [GraphQL documentation.](/technologies/graphql-api.md)

\\


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.iadvize.dev/use-cases/administration/users/manage-the-availability-of-your-users-with-the-iadvize-api.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
