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

# Create users

For each organization, [create Privy users](/api-reference/users/create) to represent the individuals within that organization.

The user IDs for these users can then be assigned specific roles and permissions over the organization's wallet(s). Privy's infrastructure ensures that only authenticated users are able to take access from wallets within their defined scope.

## Using your own authentication system

Privy seamlessly integrates with any OIDC-compatible, JWT-based authentication system (including Auth0, Firebase, AWS Cognito, etc.).

To allow users to access organization wallets via your own authentication system, first [configure your authentication provider's settings](/authentication/user-authentication/jwt-based-auth/setup) in the Privy Dashboard.

Next, for each user, set the user's `linked_accounts` to an array with a single entry containing:

* `type: 'custom_auth'`
* `custom_user_id: string`, which should be the unique ID for the user in your authentication system

## Using Privy's authentication system

Alternatively, if your application does not have an existing authentication system or you would prefer to use Privy's authentication service, simply create users with a `linked_accounts` array containing all of the accounts (e.g. email, SMS, socials) that they should be able to authenticate with.

View the [API reference for creating users](/api-reference/users/create) to inspect the full types of linked accounts.
