---
title: "Get a user list"
method: POST
path: "/api/v2/billing-insights/users-details"
tags: ["BillingInsights"]
---

# Get a user list

`POST /api/v2/billing-insights/users-details`

## Request

- Base URL: `https://billing-insights.api.relativity.one/billing-drilldown-api`
- URL: `https://billing-insights.api.relativity.one/billing-drilldown-api/api/v2/billing-insights/users-details`
- Auth: none required
- TypeScript: <https://skmtc.dev/relativity/apis/billing-insights-api/docs/api/v2/billing-insights/users-details/post.ts> (a function with typed inputs; its response is checked against the schema)

Get a user list with billing attributes for a given date

## Request body

- GetUsersDetailsRequest: Request body used in users-details API
  - `dateKey` string, nullable: Specifies the year and the month for which details should be returned. Format: YYYYMM.
  - `selectorLevel` 'Workspace' | 'Matter' | 'Client' | 'Instance' | 'Contract'
  - `itemSelectors` HierarchyItemSelector[], nullable: Limits the results just to Users who have access to particular element in the hierarchy
    - `contractID` string, nullable
    - `instanceID` string, nullable
    - `clientArtifactID` integer, nullable
    - `matterArtifactID` integer, nullable
    - `workspaceArtifactID` integer, nullable
  - `filters` FieldFilter[], nullable
    - `fieldName` string, nullable: Name of a field to which filtering will be applied
    - `operator` string, nullable: Specifies a filtering operator List of possible values: - "=" - "<" - ">" - "<=" - ">="
    - `value` string, nullable: Specifies a filter value
  - `order` FieldOrder: Allows to specify order that should be applied to the query result
    - `fieldName` string, nullable: Specifies the field name which should be used for sorting the results. The field matches the structure of the response payload, with the exception that all the property names should be upper case instead of lower case.
    - `direction` 'Asc' | 'Desc': Specifies the sort direction
  - `pagingRequest` PagingRequest: Specifies paging options - _top_ and _skip_ values need to be either empty or populated. Specifying just a single value is considered a bad request. - if _top_ and _skip_ are specified and _maxItemCount_ is not specified, _continuationToken_ will not be returned.The API guarantees that all the records were populated, and there is no need to fetch additional records. - In all other cases, _continuationToken_ might be returned, indicating there are more records to fetch.
    - `top` integer, nullable: Return top N records
    - `skip` integer, nullable: Exclude first N records
    - `maxItemCount` integer, nullable: Specifies maximum number of records that should be returned from the API - If there are more records to fetch, the _continuationToken_ is returned in the _pagingResponse_
    - `includeCount` boolean, nullable: Specifies that _totalRecordCount_ should be included in the _pagingResponse_
    - `continuationToken` string, nullable
  - `includeWorkspaceInfo` boolean: Specifies if the response should include workspace artifact IDs with matter and client structure to which user has access to. Default value is false.
  - `shouldUnhashData` boolean: Specifies if the response should include unhashed data. Default value is false.

## Response `200`

OK

- GetUsersDetailsResponse
  - `results` GetUsersDetailsResponseItem[], nullable
    - `email` string, nullable: Email address of the User. Uniquely identifies the User.
    - `userRole` string, nullable: Role of the User in Relativity. Possible values: - _Regular_ - _Administrator_
    - `billableStatus` string, nullable: Specifies Billable status of the User. Possible values: - _Billable RelativityOne_ - _Billable Server_ - _Non-billable_
    - `lastLoginUtc` string, date-time, nullable: Specifies the last login date for the given datekey.
    - `userActivity` string, nullable: Specifies if the User was active (has logged in) in the month identified by datekey. Possible values: - _Active_ - _Inactive_
    - `userType` string, nullable: Specifies the type of the User. Possible values: - _Internal_ - _External_
    - `anonymization` string, nullable: If the value is _Hashed_ then value of a _Email_ field is replaced with hash List of possible values: - Hashed - None
    - `anonymizedFields` object, nullable: Collection that holds what type of user data is hashed.
    - `comment` string, nullable: Provides additional information about Billing data for the User
    - `instanceSpecificData` object, nullable: Describes instance-specific data of the User. Keys in the dictionary are lowercase Instance ids.
    - `workspaces` object, nullable: Collection that holds artifactIds of workspaces to which user has access and information about its' client and matter artifactId.
    - `collectionTimeUtc` string, date-time, nullable: Date when the value was collected
  - `pagingResponse` PagingResponse: Paging information about the response. If the caller wants to obtain the rest of the result set there should be subsequent request made with same parameters and _continuationToken_ included in the _PagingRequest.continuationToken_
    - `totalRecordCount` integer, nullable: If _PagingRequest.includeCount_ was set to true, total number of records will be returned
    - `continuationToken` string, nullable: If the field is present it means that not the whole result set was included in the response and there are additional results to be retrieved

---

[API](https://skmtc.dev/relativity/apis/billing-insights-api.md) - [All operations](https://skmtc.dev/relativity/apis/billing-insights-api/llms.txt) - [OpenAPI document](https://skmtc.dev/relativity/apis/billing-insights-api/revisions/f6fa4175d8c9?raw)
