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

# Conductor's User Management API

> Create and manage Conductor users programmatically via API to fit Conductor into your existing user-management workflows.

Conductor’s User Management API allows our users the flexibility to create and manage users in our platform through an API. This supports our customers who prefer to configure and manage users in their proprietary or third-party user access management systems.

<Info>
  ### Note!

  Conductor provides APIs for several different uses across its Intelligence and Monitoring products. This article describes an API for Conductor Intelligence to manage user access and configuration. If you are looking for information about a different API offering, consider the following articles:

  * [Conductor's Data API](/docs/api/introduction/)
  * [Conductor Monitoring's Reporting API](/docs/other-apis/conductor-monitoring-reporting-api/)
  * [Conductor Monitoring's CMS API](/docs/other-apis/cms-api/)
  * [Conductor Monitoring's Data Enrichment API](/docs/other-apis/data-enrichment-api/)
</Info>

## Benefits

* **Centralized Management.** A user management API allows for the centralized management of user accounts and access control. This means that user information can be maintained in one location, making it easier to manage and update.
* **Integration**. By providing a user management API, organizations can enable other applications to easily integrate with their user management system. This allows for a more seamless user experience, as users can use a single set of credentials to access multiple applications.
* **Customization.** A user management API can provide more flexibility and customization options for organizations, allowing them to tailor user management to their specific needs. For example, an organization might have unique requirements for user roles and permissions, which can be implemented through a custom user management API.
* **Security.** By centralizing user management and access control, a user management API can improve security by reducing the risk of unauthorized access or misuse of user data.
* **Scalability.** A user management API can also help to improve scalability, as it allows for the management of a large number of users and user accounts. By providing an API, organizations can more easily accommodate an increasing number of users and user-related requests.

Overall, using a user management API can provide significant value for organizations by streamlining user management, improving security, and enabling easier integration with other applications, while also improving their users’ experience.

## What can I accomplish with Conductor's User Management API?

The User Management API lets your organization:

* Get lists of and details about your current users
* Create new users and update existing users' access
* Activate and deactivate existing users

## Configure the User Management API

Note that whichever team you work with to build this connection will need Conductor credentials to access both the instructions linked above and the User Management API itself. Learn [how to add users here](/docs/platform/user-setup-in-conductor-creator-and-conductor-intelligence/).

### Authentication

Every User Management API request except **Log in** is authenticated with a bearer token. You obtain that token by calling the [Log in](/docs/other-apis/user-management/endpoints/login/) endpoint with an application identity, then include the returned token on all subsequent requests.

#### Application identity

The application identity is the set of credentials the API authenticates with. These credentials must belong to a user that is:

* Configured separately from your interactive Conductor logins
* **Not** enabled for SSO
* Assigned the **Admin** user type

Once you authenticate as this Admin identity, you can manage the Standard and Read-only users that belong to the same accounts.

#### Get a bearer token

Send a `POST` request to the [Log in](/docs/other-apis/user-management/endpoints/login/) endpoint with your application identity's `username` and `password`:

```bash theme={null}
curl --request POST \
  --url https://app.conductor.com/user-api/v1/login \
  --header 'Content-Type: application/json' \
  --data '{
    "username": "your-application-identity@example.com",
    "password": "your-password"
  }'
```

A successful request returns a JSON body containing your token and its lifetime in seconds:

```json theme={null}
{
  "accessToken": "eyJhbGci...",
  "expiresIn": 86400,
  "idToken": "eyJhbGci...",
  "refreshToken": "eyJhbGci..."
}
```

#### Use the bearer token

Pass the `accessToken` value in the `Authorization` header as a `Bearer` token on every other endpoint:

```bash theme={null}
curl --request GET \
  --url https://app.conductor.com/user-api/v1/accounts \
  --header 'Authorization: Bearer eyJhbGci...'
```

<Note>
  The token expires after the number of seconds returned in `expiresIn` (24 hours by default). When it expires, call the [Log in](/docs/other-apis/user-management/endpoints/login/) endpoint again to obtain a new one. Try any request interactively from the [User Management API Playground](/docs/other-apis/user-management/playground/).
</Note>
