Skip to main content
Version: 2.0.0


Create a new user with specified user information.


userData - An object that contains the information about the user. The payload is defined below.


key - A unique id by which Permit will identify the user for permission checks.

You will later pass this ID to the permit.check() API. You can use anything for this ID; the user email - a UUID or anything else as long as it's unique on your end. The user key must be url-friendly (slugified).

email - optional - The email of the user. If synced, will be unique inside the environment.
first_name - optional - First name of the user.
last_name - optional - Last name of the user.
attributes - optional - Arbitraty user attributes that will be used to enforce attribute-based access control policies.


import io.permit.sdk.openapi.models.UserCreate;
import io.permit.sdk.openapi.models.UserRead;

// optional attributes for attribute-based access control
HashMap<String, Object> userAttributes = new HashMap<>();
userAttributes.put("age", Integer.valueOf(50));
userAttributes.put("fav_color", "red");

UserRead user = permit.api.users.create(
(new UserCreate("auth0|elon"))