> This page is for Developers.

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.emnify.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.emnify.com/_mcp/server.

> Manage users in a multi-tenancy system with organization-based user administration, roles, and permissions via the API.

The emnify REST API is a multi-tenancy system where tenant is an organization.

Each organization can have multiple users.
The users of an organization are managed by the administrator of this organization or (possibly) the parent organization.

* When an organization administrator manages own user space, setting explicitly an organization for a user is optional. Then the organization for the new account is inherited from the administrator user creating the account.
* The organization administrator may specify  explicitly an organization for a user, if the new user is to be created in a "child" (direct, not "grandchild") organization of this organization.
* The system-wide administrators (emnify) must always specify an organization when creating a user account.

The following is a sample user in JSON representation:

```json
{
  "id": 123,
  "username": "eabbot@flatland.org",
  "name": "Edwin Abbott",
  "created": "2014-09-27T08:03:00+0000",
  "status": {
    "id": 1,
    "description": "Active"
  },
  "organisation": {
    "id": 123,
    "name": "Company"
  },
  "roles": [
    {
      "id": 2,
      "name": "User"
    },
    {
      "id": 3,
      "name": "Observer"
    }
  ]
}
```

| Name           | Type            | Description                                                                                              |
| :------------- | :-------------- | :------------------------------------------------------------------------------------------------------- |
| `id`           | Integer         | Unique ID of this user                                                                                   |
| `username`     | String          | Used for login, for full capabilities is has to be a valid email address                                 |
| `name`         | String          | User's full name                                                                                         |
| `created`      | Timestamp       | Timestamp when this user was created - Type: ISO 8601 timestamp format                                   |
| `status`       | Object          | `id` (Integer) - ID of status of this user `description` (String) - Description of meaning of the status |
| `organisation` | Object          | `id` (Integer) - ID of organization `name` (String) - Name of the organization                           |
| `roles`        | List of Objects | List of one or more roles                                                                                |
| `mfa`          | List of Objects | List of one or more MFA keys, if any have been created by this user                                      |