---
title: "Get profile by ID."
method: GET
path: "/api/v1/profile/user/{userId}"
tags: ["Profile"]
---

# Get profile by ID.

`GET /api/v1/profile/user/{userId}`

## Request

- Base URL: `https://api.intheloop.io`
- URL: `https://api.intheloop.io/api/v1/profile/user/{userId}`
- Auth: API key in header `Authorization`

## Path parameters

- `userId` string, required

## Query parameters

- `authorizedId` string

## Headers

- `Loop-Workspace-Id` string
- `Authorization` string
- `X-Impersonate-User` string

## Response `200`

OK

- ProfileUser: Profile user
  - `id` string: Resource id
  - `name` string: Resource name or title
  - `revision` string: Resource revision
  - `clientId` string: Resource client id
  - `$type` string, required
  - `contextType` 'Workspace' | 'Virtual', required: Defines whether a profile context is shared (workspace) or private (user).
  - `isPublic` boolean, required: Indicates whether this profile is public (has identificators) or private.
  - `company` string: Company associated with this profile.
  - `companyId` string: Id of the linked Company entity, or null if unlinked. The only company representation used by new profiles — resolve the display name via this id, it is never denormalized.
  - `companyLinkManual` boolean, required: True when the Company link was set/cleared manually. A manual link is pinned: the domain auto-association job never re-links or switches it.
  - `title` string: Title associated with this profile.
  - `userData` ProfileUserData: Per-user custom data stored on a profile.
    - `nickName` string: Custom nickname for the profile.
    - `notes` string: Free-text notes about this profile.
    - `profileIdentificators` ProfileUserIdentificator[]: Private identificators visible only to this user.
      - `userIdentificator` string: User's Identificator for EmailUser is email for phone is telephone, ....
      - `userType` 'EmailUser' | 'ViberUser' | 'MessengerUser' | 'WhatsappUser' | 'PhoneUser', required: User types
      - `userId` string: User ID.
      - `identificator` string: Unique string identificator for the user in this context.
  - `profileIdentificators` ProfileUserIdentificator[]: Public Identificators linking.
    - `userIdentificator` string: User's Identificator for EmailUser is email for phone is telephone, ....
    - `userType` 'EmailUser' | 'ViberUser' | 'MessengerUser' | 'WhatsappUser' | 'PhoneUser', required: User types
    - `userId` string: User ID.
    - `identificator` string: Unique string identificator for the user in this context.
  - `weight` number, required: Usage weight (contact interaction frequency) for the current user on this profile.

## Other responses

- `400`: Bad request. Check fields message and error code from response body for additional information.
- `401`: Unauthorized request. Check fields message and error code from response body for additional information.
- `404`: Requested resource not found.
- `429`: Too many requests. Check response header Retry-After indicating how long to wait before making a new request.
- `451`: Unavailable because account is not verified.

---

[API](https://skmtc.dev/intheloop/apis/loop-api.md) - [All operations](https://skmtc.dev/intheloop/apis/loop-api/llms.txt) - [OpenAPI document](https://skmtc.dev/intheloop/apis/loop-api/revisions/0892c5ba0787?raw)
