> For the complete documentation index, see [llms.txt](https://docs.codemash.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.codemash.io/sdks-and-cli/membership/users/save-user-name-with-permissions.md).

# Save User Name With Permissions

A **contact** (user) is a person in your project's membership directory, with one or more linked logins (identities). Membership manages their profile, identities, roles, and lifecycle. This method creates the user name with permissions; the response returns its id.

This method is on the runtime **API** surface (`norbix.api.membership`) — call it from your app.

{% hint style="info" %}
These examples assume the SDK is installed and your credentials are set as environment variables — each client reads them automatically, so the constructors below take no arguments. See [Install a Norbix SDK](/sdks-and-cli/install.md).
{% endhint %}

{% tabs %}
{% tab title="JavaScript / TypeScript" %}

```ts
import { Norbix } from '@norbix.ai/ts';
const norbix = new Norbix();

const result = await norbix.api.membership.saveUserNameWithPermissions({
  password: 'S3cure-P4ssphrase!',
  userName: 'alice@example.com',
  roles: ['item-1', 'item-2'],
  ignoreUserRegistersAsRole: true,
});
```

{% endtab %}

{% tab title=".NET" %}

```csharp
using Norbix.Sdk;
using Norbix.Sdk.Types.Api;

using var client = new NorbixClient();

var result = await client.Membership.SaveUserNameWithPermissionsAsync(new SaveUserNameWithPermissions
{
    Password = "S3cure-P4ssphrase!",
    UserName = "alice@example.com",
    Roles = new[] { "item-1", "item-2" },
    IgnoreUserRegistersAsRole = true,
});
```

{% endtab %}

{% tab title="Python" %}

```python
from norbix_python import NorbixApi

norbix = NorbixApi()

result = norbix.membership.save_user_name_with_permissions(
    password="S3cure-P4ssphrase!",
    userName="alice@example.com",
    roles=["item-1", "item-2"],
    ignoreUserRegistersAsRole=True,
)
```

{% endtab %}

{% tab title="Go" %}

```go
c, _ := norbix.New(norbix.Options{})
ctx := context.Background()

var result map[string]any
err := c.API.Membership.SaveUserNameWithPermissions(ctx, map[string]any{
	"password": "S3cure-P4ssphrase!",
	"userName": "alice@example.com",
	"roles": []string{"item-1", "item-2"},
	"ignoreUserRegistersAsRole": true,
}, &result)
```

{% endtab %}

{% tab title="Dart / Flutter" %}

```dart
import 'package:norbix/norbix_api.dart';

final api = NorbixApi();

final result = await api.membership.saveUserNameWithPermissions(body: {
  'password': 'S3cure-P4ssphrase!',
  'userName': 'alice@example.com',
  'roles': ['item-1', 'item-2'],
  'ignoreUserRegistersAsRole': true,
});
```

{% endtab %}

{% tab title="Swift" %}

```swift
import NorbixSwift

let client = Norbix()

let result = try await client.api.membership.saveUserNameWithPermissions([
    "password": "S3cure-P4ssphrase!",
    "userName": "alice@example.com",
    "roles": ["item-1", "item-2"],
    "ignoreUserRegistersAsRole": true,
])
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
import dev.norbix.sdk.api.NorbixApi

val api = NorbixApi()

val result = api.membership.saveUserNameWithPermissions(mapOf(
    "password" to "S3cure-P4ssphrase!",
    "userName" to "alice@example.com",
    "roles" to listOf("item-1", "item-2"),
    "ignoreUserRegistersAsRole" to true,
))
```

{% endtab %}

{% tab title="CLI" %}

```sh
norbix raw '/{version}/membership/auth/register/user-name-with-permissions' --api -X POST --body '{"password":"S3cure-P4ssphrase!","userName":"alice@example.com","roles":["item-1","item-2"],"ignoreUserRegistersAsRole":true}'
```

{% endtab %}
{% endtabs %}

## In the dashboard

Manage this visually in Norbix Cloud — see [Membership → Users](/norbix-cloud/membership/users.md).

## API reference

Full request and response for this endpoint: [Save User Name With Permissions](/api-reference/membership/users/save-user-name-with-permissions.md).
