---
title: "Get an identified user"
method: GET
path: "/users/{userId}"
tags: ["Users"]
---

# Get an identified user

`GET /users/{userId}`

## Request

- Base URL: `https://api.produktly.com/api/v1`
- URL: `https://api.produktly.com/api/v1/users/{userId}`
- Auth: HTTP bearer

Returns the user's attributes and timestamps. metadata can be null for users identified client-side without attributes.

## Path parameters

- `userId` string, required: The user's external ID — the same value you pass to window.Produktly.identifyUser(). URL-encode it.

## Response `200`

The user

- User
  - `userId` string, required
  - `metadata` object, nullable, required
  - `createdAt` string, date-time, required
  - `updatedAt` string, date-time, required

## Other responses

- `400`: Validation error
- `401`: Unauthorized
- `404`: User not found
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/produktly/apis/produktly-api.md) · [All operations](https://skmtc.dev/produktly/apis/produktly-api/llms.txt) · [OpenAPI document](https://skmtc.dev/produktly/apis/produktly-api/revisions/fd942a97a7d1?raw)
