---
title: "Get a user by id, merged with their primary company (admin only)"
method: GET
path: "/api/admin/users/{id}"
tags: ["Administration/Users"]
---

# Get a user by id, merged with their primary company (admin only)

`GET /api/admin/users/{id}`

## Path parameters

- `id` string, required

## Response `200`

Default Response

- object
  - `id` string, required
  - `firstName` string, nullable, required
  - `lastName` string, nullable, required
  - `email` string, nullable, required
  - `primaryCompanyId` string, nullable, required
  - `primaryRole` string, nullable, required
  - `role` string, nullable, required
  - `companyId` string, nullable, required
  - `company` object, nullable, required
    - `id` string, required
    - `officialName` string, required
    - `name` string, required
    - `transliteratedName` string, nullable
    - `transliteratedOfficialName` string, nullable
    - `description` string, nullable
    - `country` string, required
    - `countryName` string, nullable
    - `county` string, nullable
    - `city` string, nullable
    - `zipCode` string, nullable
    - `addressLine1` string, nullable
    - `addressLine2` string, nullable
    - `phone` string, nullable
    - `website` string, nullable
    - `companySize` string, nullable
    - `companyType` string, nullable
    - `featuredImageFileId` string, nullable
    - `featuredImageFileUrl` string, nullable
    - `originalFeaturedImageFileUrl` string, nullable
    - `videoFileId` string, nullable
    - `videoFileUrl` string, nullable
    - `originalVideoFileUrl` string, nullable
    - `numOfPermanentEmployees` number, nullable
    - `numOfMaleEmployees` number, nullable
    - `numOfFemaleEmployees` number, nullable
    - `facilityProcesses` string, nullable
    - `geojson` string, nullable
    - `imageList` object[], nullable
    - `workosOrganizationId` string, nullable
    - `higgId` string, nullable
    - `globalLocationNumber` string, nullable
    - `vatId` string, nullable
    - `dunsNumber` string, nullable
    - `commercialRegisterNumber` string, nullable
    - `osHubId` string, nullable
    - `annualProductionCapacity` number, nullable
    - `annualProductionCapacityUnit` string, nullable
    - `minimumOrderQuantity` number, nullable
    - `minimumOrderQuantityPerStyle` number, nullable
    - `standardLeadTime` number, nullable
    - `shopId` string, nullable
    - `isDemoCompany` number, nullable
    - `isClientCompany` number, nullable
    - `enabledFeatures` object[], required
      - `id` string, required
      - `name` string, required
      - `description` string, nullable, required
  - `userCompanies` object[], required
    - `id` string, required
    - `companyId` string, required
    - `userId` string, required
    - `role` string, required
    - `isPrimary` boolean, required
    - `hasAgreedWithTerms` boolean, required
    - `hasAgreedWithTermsAt` string, nullable, required
    - `userActivationLastNotifiedAt` string, nullable, required
    - `name` string, nullable, required
    - `officialName` string, nullable, required
    - `facilityProcesses` string, nullable, required
    - `isActiveCompany` number, required
  - `appFeatures` unknown[], required
    - unknown
  - `preferences` object, required
  - `enabledDevelopmentTags` object[], required
    - `featureId` string, required
    - `tag` string, required
    - `name` string, required
    - `description` string, nullable, required
    - `isEnabled` number, required

## Other responses

- `401` — Default Response
- `403` — Default Response
- `404` — Default Response

## Changes

> 22 revisions in range; 1 not diffed.

- **2026-08-31** `97e51f27dc77` — 15 breaking, 59 info
  - the response property `company` became nullable for the status `200`
  - the response property `companyId` became nullable for the status `200`
  - the response property `email` became nullable for the status `200`
  - the response property `enabledDevelopmentTags/items/description` became nullable for the status `200`
  - …70 more
- **2026-08-12** `ac2cf3c5eae2` — 69 breaking
  - the response property `company/anyOf[subschema #1]/addressLine1` became optional for the status `200`
  - the response property `company/anyOf[subschema #1]/addressLine2` became optional for the status `200`
  - the response property `company/anyOf[subschema #1]/annualProductionCapacity` became optional for the status `200`
  - the response property `company/anyOf[subschema #1]/annualProductionCapacityUnit` became optional for the status `200`
  - …65 more
- **2026-08-11** `0d855c8aa184` — 46 breaking, 1 info
  - the `company` response's property type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `company/addressLine1` from the response with the `200` status
  - removed the required property `company/addressLine2` from the response with the `200` status
  - removed the required property `company/annualProductionCapacity` from the response with the `200` status
  - …43 more

[Change history](https://skmtc.dev/retraced/apis/api-reference/changes/api/admin/users/:id/get.md)

---

[API](https://skmtc.dev/retraced/apis/api-reference.md) · [All operations](https://skmtc.dev/retraced/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/retraced/api-reference/revisions/97e51f27dc77/schema)
