Get Identity
Returns the full record for a single person — names, addresses, tags, entity-field attributes, and notes — by their
personId.
API Endpoint
- HTTP Method:
GET - Endpoint:
/api/v1/people/{personId} - Base URL (Cloud):
https://customername.econnectcloud.com/identities - Base URL (On-prem):
https://<server-host-or-ip>:5009
Authentication
Requires a JWT bearer token. See Authentication.
Minimum Permission
The permission name and category below are what you'll see in the Identities web app under System → System settings → Roles.
| Permission | Category |
|---|---|
| Read All Identity | Identities |
Path Parameter
| Parameter | Type | Description |
|---|---|---|
personId | string (GUID) | The person's unique identifier. |
Code Examples
- Curl
- PowerShell
- C#
API_URL="https://customername.econnectcloud.com/identities"
TOKEN="your_jwt"
PERSON_ID="0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d"
curl -sk -X GET "$API_URL/api/v1/people/$PERSON_ID" \
-H "Authorization: Bearer $TOKEN" | jq
$API_URL = "https://customername.econnectcloud.com/identities"
$TOKEN = "your_jwt"
$PERSON_ID = "0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d"
$person = Invoke-RestMethod -Uri "$API_URL/api/v1/people/$PERSON_ID" `
-Method Get -Headers @{ Authorization = "Bearer $TOKEN" }
$person.aliases
$person.tags
$person.entityFields
using eConnect.IdentitiesDbSdk;
// NuGet: eConnect.IdentitiesDbSdk (private package - request access from eConnect support).
var httpClient = new HttpClient();
var sdk = await IdentityDbSdk.GetSdk(
"https://customername.econnectcloud.com/identities",
httpClient,
"your_username",
"your_password");
var personId = Guid.Parse("0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d");
IdentityPersonItem person = await sdk.GetPersonAsync(personId);
// Name (primary alias)
var alias = person.Aliases.FirstOrDefault();
Console.WriteLine($"Name: {alias?.FirstName} {alias?.LastName}");
// Attributes (custom entity fields)
foreach (var field in person.EntityFields)
Console.WriteLine($" {field.Name} = {field.StringValue}");
// Tags (tagId only - resolve names via the Tags endpoints)
foreach (var tag in person.Tags)
Console.WriteLine($" Tag {tag.TagId} (expires {tag.Expires:u})");
Response
200 OK — an IdentityPersonItem:
{
"personId": "0a1b2c3d-4e5f-6a7b-8c9d-0e1f2a3b4c5d",
"aliases": [
{
"personAliasId": "1f2e3d4c-5b6a-7980-1234-56789abcdef0",
"firstName": "Jane",
"lastName": "Doe",
"middleName": null,
"title": null
}
],
"addresses": [
{
"personAddressId": "2a3b4c5d-6e7f-8091-2345-6789abcdef01",
"street": "123 Main St",
"street2": null,
"city": "Las Vegas",
"state": "NV",
"postalCode": "89101",
"country": "USA"
}
],
"entityFields": [
{
"entityFieldId": "3b4c5d6e-7f80-9123-4567-89abcdef0123",
"name": "LoyaltyTier",
"stringValue": "Gold",
"dateValue": null,
"numberValue": null,
"boolValue": null
}
],
"tags": [
{
"tagId": "4c5d6e7f-8091-2345-6789-abcdef012345",
"expires": null,
"created": "2026-01-15T12:00:00Z"
}
],
"notes": [
{
"noteId": "5d6e7f80-9123-4567-89ab-cdef01234567",
"summary": "VIP",
"body": "Prefers window seating",
"author": "host@venue.com",
"sharedId": null
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
personId | string (GUID) | The person's identifier. |
aliases[] | array | Names: firstName, lastName, middleName, title. The first alias is the primary name. |
addresses[] | array | Postal addresses. |
entityFields[] | array | Custom attributes — name plus one of stringValue / dateValue / numberValue / boolValue. |
tags[] | array | Applied tags — tagId, expires, created. |
notes[] | array | Free-text notes — summary, body, author. |
Tag names
A person's tags[] contain only the tagId (plus expires / created). To resolve a tag's name and
description, use the Tags endpoints.
Response Codes
| Code | Meaning |
|---|---|
200 OK | The person was found; the IdentityPersonItem is returned. |
404 Not Found | No person exists with that personId. |
401 Unauthorized | Missing or invalid JWT. |
403 Forbidden | The user lacks the Read All Identity permission. |