---
title: "Profiles"
description: "<p>Get and delete user profiles.</p>"
url: "https://www.contentstack.com/docs/developers/apis/lytics-api/profiles"
product: "Contentstack"
doc_type: "guide"
audience:
  - developers
  - admins
version: "current"
last_updated: "2026-11-05"
---

# Profiles

Get and delete user profiles.

## Get profile attributes

### Get profile attributes

**GET** `/v2/attributes/{table}/{key}/{value}`

Get profile attributes for a user.

#### URL Parameters

- **table** (required)
  The table (e.g. user)
- **key** (required)
  Identity Key (e.g. email)
- **value** (required)
  Value (e.g. hello@lytics.com)

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {},
  "request_id": "string",
  "status": 0
}
```

## Update all profile attributes

### Update all profile attributes

**PUT** `/v2/attributes/{table}/{key}/{value}`

Update all of the profile attributes for a user.

#### URL Parameters

- **table** (required)
  The table (e.g. user)
- **key** (required)
  Identity Key (e.g. email)
- **value** (required)
  Value (e.g. hello@lytics.com)

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {},
  "request_id": "string",
  "status": 0
}
```

## Update some profile attributes

### Update some profile attributes

**PATCH** `/v2/attributes/{table}/{key}/{value}`

Update some of the profile attributes for a user.

#### URL Parameters

- **table** (required)
  The table (e.g. user)
- **key** (required)
  Identity Key (e.g. email)
- **value** (required)
  Value (e.g. hello@lytics.com)

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {},
  "request_id": "string",
  "status": 0
}
```

## Delete profile attributes

### Delete profile attributes

**DELETE** `/v2/attributes/{table}/{key}/{value}`

Delete profile attributes for a user.

#### URL Parameters

- **table** (required)
  The table (e.g. user)
- **key** (required)
  Identity Key (e.g. email)
- **value** (required)
  Value (e.g. hello@lytics.com)

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {},
  "request_id": "string",
  "status": 0
}
```

## Get the status of a user profile deletion

### Get the status of a user profile deletion

**GET** `/v2/identity/deletestatus/{request_id}`

Get the status of a GDPR-compliant user profile deletion request

#### URL Parameters

- **request_id** (required)
  The GDPR delete request ID

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {
    "completed": true,
    "request_id": "string",
    "requested": "string",
    "state": "string",
    "submitted": "string"
  },
  "request_id": "string",
  "status": 0
}
```

## Get a user profile (POST)

### Get a user profile (POST)

**POST** `/v2/identity/lookup`

Get a user profile by identity key/value using POST

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.
- **field_blocklist** (optional)
  Fields to exclude (e.g. email,city)
- **hash_pii** (optional)
  Return PII/private fields SHA256-hashed instead of plain (only fields the caller may already read; never widens access)

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {
    "entity": {},
    "field_provenance": {
      "property1": {
        "compacted": true,
        "configured_merge_op": "string",
        "contributors": [
          {
            "excluded": true,
            "excluded_because": "string",
            "fragment": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "kind": "string",
            "label": "string",
            "streams": [
              "string"
            ],
            "value": {},
            "won": true,
            "written": "string"
          }
        ],
        "merge_op": "string",
        "no_winner": "string",
        "truncated": true,
        "winner_take_all": true
      },
      "property2": {
        "compacted": true,
        "configured_merge_op": "string",
        "contributors": [
          {
            "excluded": true,
            "excluded_because": "string",
            "fragment": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "kind": "string",
            "label": "string",
            "streams": [
              "string"
            ],
            "value": {},
            "won": true,
            "written": "string"
          }
        ],
        "merge_op": "string",
        "no_winner": "string",
        "truncated": true,
        "winner_take_all": true
      }
    },
    "field_sources": {
      "property1": [
        "string"
      ],
      "property2": [
        "string"
      ]
    },
    "fragments": [
      {
        "conflict": true,
        "conflicts_with": "string",
        "created": "string",
        "keys": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "modified": "string",
        "neighbor_limit": true,
        "neighbors": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "streams": [
          "string"
        ]
      }
    ],
    "keys": [
      {
        "key": "string",
        "value": "string"
      }
    ]
  },
  "request_id": "string",
  "status": 0
}
```

## Bulk delete user profiles

### Bulk delete user profiles

**DELETE** `/v2/identity/queue/bulk/{table}/{field}`

Queue bulk GDPR-compliant deletion requests for multiple user profiles

#### URL Parameters

- **table** (required)
  The table (e.g. user)
- **field** (required)
  Identity field (e.g. email)

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {
    "errors": {
      "property1": "string",
      "property2": "string"
    },
    "successes": {
      "property1": "string",
      "property2": "string"
    }
  },
  "request_id": "string",
  "status": 0
}
```

## Get a user profile (GET)

### Get a user profile (GET)

**GET** `/v2/identity/{table}/{key}/{value}`

Get a user profile by identity key/value

#### URL Parameters

- **table** (required)
  The table (e.g. user)
- **key** (required)
  Identity Key (e.g. email)
- **value** (required)
  Value (e.g. hello@lytics.com)

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.
- **field_blocklist** (optional)
  Fields to exclude (e.g. email,city)
- **hash_pii** (optional)
  Return PII/private fields SHA256-hashed instead of plain (only fields the caller may already read; never widens access)

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {
    "entity": {},
    "field_provenance": {
      "property1": {
        "compacted": true,
        "configured_merge_op": "string",
        "contributors": [
          {
            "excluded": true,
            "excluded_because": "string",
            "fragment": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "kind": "string",
            "label": "string",
            "streams": [
              "string"
            ],
            "value": {},
            "won": true,
            "written": "string"
          }
        ],
        "merge_op": "string",
        "no_winner": "string",
        "truncated": true,
        "winner_take_all": true
      },
      "property2": {
        "compacted": true,
        "configured_merge_op": "string",
        "contributors": [
          {
            "excluded": true,
            "excluded_because": "string",
            "fragment": [
              {
                "key": "string",
                "value": "string"
              }
            ],
            "kind": "string",
            "label": "string",
            "streams": [
              "string"
            ],
            "value": {},
            "won": true,
            "written": "string"
          }
        ],
        "merge_op": "string",
        "no_winner": "string",
        "truncated": true,
        "winner_take_all": true
      }
    },
    "field_sources": {
      "property1": [
        "string"
      ],
      "property2": [
        "string"
      ]
    },
    "fragments": [
      {
        "conflict": true,
        "conflicts_with": "string",
        "created": "string",
        "keys": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "modified": "string",
        "neighbor_limit": true,
        "neighbors": [
          {
            "key": "string",
            "value": "string"
          }
        ],
        "streams": [
          "string"
        ]
      }
    ],
    "keys": [
      {
        "key": "string",
        "value": "string"
      }
    ]
  },
  "request_id": "string",
  "status": 0
}
```

## Delete a user profile

### Delete a user profile

**DELETE** `/v2/identity/{table}/{key}/{value}`

Delete a user profile, compliant with GDPR deletion requests

#### URL Parameters

- **table** (required)
  The table (e.g. user)
- **key** (required)
  Identity Key (e.g. email)
- **value** (required)
  Value (e.g. hello@lytics.com)

#### Query Parameters

- **account_id** (optional)
  The account ID. Defaults to the user's default account.

#### Headers

- **Authorization** (optional)

#### Sample Response

```json
{
  "_meta": {},
  "data": {
    "completed": true,
    "request_id": "string",
    "requested": "string",
    "state": "string",
    "submitted": "string"
  },
  "request_id": "string",
  "status": 0
}
```