This is a Python client for the User Management API from Adobe, aka the UMAPI.

The User Management API is an Adobe-hosted network service which provides Adobe Enterprise customers the ability to manage their users. This client makes it easy to access the UMAPI from a local Python application.

This client is open source, maintained by Adobe, and distributed under the terms of the OSI-approved MIT license. Copyright (c) 2016-2021 Adobe Inc.


You can get this package from PyPI: pip install umapi-client. Or you can download the desired release package from GitHub and use pip to install from the download.


  1. Clone the Github repository or download one of the posted releases.
  2. From the command line, change to the directory.
  3. To install, run the command python install. [NOTE: To avoid needing admin/root privileges for the installation of needed dependencies, it is recommended that you use virtualenv (or equivalent) to make a virtual python environment. See the virtualenvwrapper documentation for more information.
  4. Some of the packages required by this module use encryption, and so may require you to do local builds of modules that use SSL. Typically, this will require you to have a python installed that supports compiling extensions.
  5. To run tests, use the command python test.

Getting Started

Before making calls to the User Management API, you must complete the following preparatory steps:

  1. Obtain admin access to an Adobe Enterprise Dashboard.
  2. Set up a private/public key pair
  3. Create an integration on Adobe I/O

Step 1 is outside of the scope of this document. Please contact an administrator of your organization’s Dashbord environment to obtain access. Steps 2 and 3 are outlined in the UMAPI documentation.

Once access is obtained, and an integration is set up, you will need the following configuration values:

  1. Organization ID
  2. Tech Account ID
  3. IMS Hostname
  4. IMS Token Exchange Endpoint (aka JWT Endpoint)
  5. API Key
  6. Client Secret
  7. Private Key File (unencrypted form)

All but the last of these will be available on the Adobe I/O page for your integration. The last one you should have on your local disk, and keep secret.

Once these initial steps are taken, and configuration items are identified, then you will be able to use this library to make API calls.

Usage Documentation

All new users of the library are highly recommended to pick up version 2, and follow the version 2 usage documentation.

Users who have applications running against version 1 of the library can still use the version 2 implementation, but they will need to do some package renames to get access to the version 1 library classes. This is outlined in the version 1 usage documentation.