> 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/add-contact-identity.md).

# Add Contact Identity

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 contact identity; the response returns its id.

This method is on the **Hub** surface (`norbix.hub.membership`) — call it from admin tooling or IaC.

{% 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.hub.membership.addContactIdentity({
  contactId: 'ct_4kX9mQvR2tYw7ZbC1dFgHj',
  value: 'alice@example.com',
  isPrimary: true,
  isVerified: true,
});
```

{% endtab %}

{% tab title=".NET" %}

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

using var client = new NorbixClient();

var result = await client.Membership.AddContactIdentityAsync(new AddContactIdentityRequest
{
    ContactId = "ct_4kX9mQvR2tYw7ZbC1dFgHj",
    Value = "alice@example.com",
    IsPrimary = true,
    IsVerified = true,
});
```

{% endtab %}

{% tab title="Python" %}

```python
from norbix_python import NorbixHub

norbix = NorbixHub()

result = norbix.membership.add_contact_identity(
    contactId="ct_4kX9mQvR2tYw7ZbC1dFgHj",
    value="alice@example.com",
    isPrimary=True,
    isVerified=True,
)
```

{% endtab %}

{% tab title="Go" %}

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

var result map[string]any
err := c.Hub.Membership.AddContactIdentity(ctx, "ct_4kX9mQvR2tYw7ZbC1dFgHj", map[string]any{
	"value": "alice@example.com",
	"isPrimary": true,
	"isVerified": true,
}, &result)
```

{% endtab %}

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

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

final hub = NorbixHub();

final result = await hub.membership.addContactIdentity(contactId: 'ct_4kX9mQvR2tYw7ZbC1dFgHj', body: {
  'value': 'alice@example.com',
  'isPrimary': true,
  'isVerified': true,
});
```

{% endtab %}

{% tab title="Swift" %}

```swift
import NorbixSwift

let client = Norbix()

let result = try await client.hub.membership.addContactIdentity([
    "contactId": "ct_4kX9mQvR2tYw7ZbC1dFgHj",
    "value": "alice@example.com",
    "isPrimary": true,
    "isVerified": true,
])
```

{% endtab %}

{% tab title="Kotlin" %}

```kotlin
import dev.norbix.sdk.hub.NorbixHub

val hub = NorbixHub()

val result = hub.membership.addContactIdentity(mapOf(
    "contactId" to "ct_4kX9mQvR2tYw7ZbC1dFgHj",
    "value" to "alice@example.com",
    "isPrimary" to true,
    "isVerified" to true,
))
```

{% endtab %}

{% tab title="CLI" %}

```sh
norbix hub membership contact identity add --contactId ct_4kX9mQvR2tYw7ZbC1dFgHj --value alice@example.com --isPrimary true --isVerified 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: [Add Contact Identity](/api-reference/membership/users/add-contact-identity.md).
