---
title: "Get user by key"
method: GET
path: "/users/{userKey}"
tags: ["User"]
---

# Get user by key

`GET /users/{userKey}`

Returns information about a specific user by their key

## Path parameters

- `userKey` string, required

## Response `200`

Successfully retrieved user information

- UserResponse
  - `userId` integer, nullable
  - `email` string, nullable
  - `orgKey` string, nullable
  - `creationTimestamp` integer, nullable — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
  - `lastUpdatedTimestamp` integer, nullable — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
  - `lastSavedTimestamp` integer, nullable — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
  - `lastSeenTimestamp` integer, nullable — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
  - `googleProfileId` string, nullable
  - `googleDriveId` string, nullable
  - `googleProfilePhotoUrl` string, nullable
  - `googleProfileLink` string, nullable
  - `googleProfileFullName` string, nullable
  - `googleProfileFirstName` string, nullable
  - `googleProfileLastName` string, nullable
  - `googleProfileGender` string, nullable
  - `googleProfileLocale` string, nullable
  - `googleAnalyticsClientId` string, nullable
  - `timezoneId` string, nullable
  - `userSource` 'UNKNOWN' | 'WEB' | 'MOBILE' | 'SHARING' | 'GOOGLE_APPS_MARKETPLACE' | 'ANDROID' | 'GMAIL_ADDON' | 'WEB_MAIL_MERGE' | 'WEB_STREAK_SHARE' | 'WEB_EMAIL_TRACKING'
  - `userType` 'HUMAN' | 'AGENT'
  - `firstExtension` string, nullable
  - `hasCancellationDiscount` boolean, nullable
  - `usedPlatforms` PlatformUse[], nullable
    - `platform` 'WEB' | 'IOS' | 'IOS_IN_HOUSE' | 'ANDROID' | 'ZAPIER' | 'STRIPE' | 'API' | 'SHEETS' | 'GOOGLE_IMAGE_PROXY' | 'GOOGLE_WEBHOOK' | 'TASK_QUEUE' | 'CLEARBIT' | 'HANGOUTS_CHAT' | 'UNKNOWN' | 'GMAIL_ADDON_IOS' | 'GMAIL_ADDON_ANDROID' | 'GMAIL_ADDON_WEB' | 'SLACK' | 'MCP' | 'RETOOL', required
    - `firstDateOfUse` integer, required — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
    - `lastDateOfUse` integer, required — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
  - `securityReportOnTeamsPipelines` boolean, nullable
  - `externalSharingRestrictionOnTeamsPipelines` boolean, nullable
  - `automaticallySendInvoiceEmails` boolean, nullable
  - `emailsToSendInvoiceTo` string[], nullable
  - `customerSpecifiedInvoiceData` string, nullable
  - `phoneNumber` string, nullable
  - `isOauthComplete` boolean
  - `firstOauthTimestamp` integer, nullable — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
  - `tourId` string, nullable
  - `userSettingsKey` string, nullable
  - `streakCalendarId` string, nullable
  - `lastTrialStart` integer, nullable — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
  - `lastTrialLength` integer
  - `lastProPlusTrialStart` integer, nullable — Epoch timestamp in milliseconds since 1970-01-01T00:00:00Z.
  - `onTrialWithoutCreditCard` boolean, nullable
  - `canceledTrial` boolean, nullable
  - `wantsTaskDigestEmail` boolean, nullable
  - `archiveKeysetFileLink` string, nullable
  - `userKey` string, nullable
  - `displayName` string, nullable
  - `key` string, nullable
  - `intercomHmac` string, nullable
  - `intercomJwt` string, nullable
  - `experiments` object, nullable
  - `integrationSegment` integer, nullable

## Other responses

- `401` — Unauthorized - authentication required
- `403` — Forbidden - insufficient permissions
- `404` — User not found

## Changes

- **2026-07-12** `3ec494b690a5` — 1 info
  - endpoint added
- **2025-10-05** `cf99e86ccf37` — 1 breaking
  - api path removed without deprecation
- **2025-10-03** `3fa5b3e091d6` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/streakyc/apis/streak/changes/users/:userKey/get.md)

---

[API](https://skmtc.dev/streakyc/apis/streak.md) · [All operations](https://skmtc.dev/streakyc/apis/streak/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/streakyc/streak/revisions/3ec494b690a5/schema)
