---
title: "Search users"
method: POST
path: "/users/search"
tags: ["Users"]
---

# Search users

`POST /users/search`

Search users using OpenSearch-powered full-text and field-specific search.

This endpoint provides fast, indexed search across user data with support for:
- Full-text search across multiple fields
- Field-specific filtering with various operators
- Sorting and pagination
- Saved search preferences

**Note:** Only active (non-deleted) users are searchable. Soft-deleted records are automatically excluded from all search results.

**Response Formats:**
- `flat` (default): Returns indexed fields only for faster performance
- `full`: Returns complete user objects with all relationships

## Request body

- UserSearchRequest — Request body for searching users
  - `criteria` UserSearchCriteria — Search criteria for filtering users. Note: Only active (non-deleted) users are searchable. Soft-deleted records are automatically excluded.
    - `id` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `name` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `email` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `emailVerified` BooleanSearchCriteria — Search criteria for boolean fields
      - `operator` 'TRUE' | 'FALSE', required — Search operator: - `TRUE`: Field is true - `FALSE`: Field is false
    - `phone` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `status` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `roles` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `visibility` KeywordSearchCriteria — Search criteria for keyword fields (exact match, no partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `teamIds` UUIDSearchCriteria — Search criteria for UUID fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `ONE_OF`: Matches any UUID in array - `NOT_ONE_OF`: Does not match any UUID in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of UUIDs for ONE_OF or NOT_ONE_OF operators
    - `teamNames` TextSearchCriteria — Search criteria for text fields (supports wildcards and partial matching)
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'STARTS_WITH' | 'ENDS_WITH' | 'INCLUDES' | 'ONE_OF' | 'NOT_ONE_OF' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `STARTS_WITH`: Begins with prefix - `ENDS_WITH`: Ends with suffix - `INCLUDES`: Contains substring - `ONE_OF`: Matches any value in array - `NOT_ONE_OF`: Does not match any value in array - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `values` string[] — Array of values for ONE_OF or NOT_ONE_OF operators
    - `customersCount` IntSearchCriteria — Search criteria for integer fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` integer — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` integer — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` integer — Maximum value for BETWEEN or NOT_BETWEEN
    - `quotesCount` IntSearchCriteria — Search criteria for integer fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` integer — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` integer — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` integer — Maximum value for BETWEEN or NOT_BETWEEN
    - `quotesWon` IntSearchCriteria — Search criteria for integer fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` integer — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` integer — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` integer — Maximum value for BETWEEN or NOT_BETWEEN
    - `quoteWinRate` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `ordersCount` IntSearchCriteria — Search criteria for integer fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` integer — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` integer — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` integer — Maximum value for BETWEEN or NOT_BETWEEN
    - `ordersTotalRevenue` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `ordersTotalTransportationCost` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `ordersTotalGrossProfit` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `averageGrossProfitPerOrder` FloatSearchCriteria — Search criteria for float/decimal fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` number, float — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` number, float — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` number, float — Maximum value for BETWEEN or NOT_BETWEEN
    - `carriersCount` IntSearchCriteria — Search criteria for integer fields
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'GREATER_THAN' | 'LESS_THAN' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `GREATER_THAN`: Greater than value - `LESS_THAN`: Less than value - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` integer — Single value for EQUALS, NOT_EQUALS, GREATER_THAN, LESS_THAN
      - `min` integer — Minimum value for BETWEEN or NOT_BETWEEN
      - `max` integer — Maximum value for BETWEEN or NOT_BETWEEN
    - `createdAt` DatetimeSearchCriteria — Search criteria for datetime fields. Supports both absolute datetime values and relative time expressions.
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'BEFORE' | 'AFTER' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `BEFORE`: Before datetime - `AFTER`: After datetime - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` string, date-time — Absolute datetime for EQUALS, NOT_EQUALS
      - `min` string, date-time — Minimum datetime for BETWEEN or NOT_BETWEEN
      - `max` string, date-time — Maximum datetime for BETWEEN or NOT_BETWEEN
      - `valueRelative` integer — Relative time from now (negative for past, positive for future). Example: -7 with WEEK unit means 7 weeks ago.
      - `valueRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `minRelative` integer — Relative time for min boundary
      - `minRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `maxRelative` integer — Relative time for max boundary
      - `maxRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
    - `lastInvitedAt` DatetimeSearchCriteria — Search criteria for datetime fields. Supports both absolute datetime values and relative time expressions.
      - `operator` 'EQUALS' | 'NOT_EQUALS' | 'BEFORE' | 'AFTER' | 'BETWEEN' | 'NOT_BETWEEN' | 'EXISTS' | 'DOES_NOT_EXIST', required — Search operator: - `EQUALS`: Exact match - `NOT_EQUALS`: Not equal to - `BEFORE`: Before datetime - `AFTER`: After datetime - `BETWEEN`: Between min and max (inclusive) - `NOT_BETWEEN`: Not between min and max - `EXISTS`: Field has a value (not null) - `DOES_NOT_EXIST`: Field is null
      - `value` string, date-time — Absolute datetime for EQUALS, NOT_EQUALS
      - `min` string, date-time — Minimum datetime for BETWEEN or NOT_BETWEEN
      - `max` string, date-time — Maximum datetime for BETWEEN or NOT_BETWEEN
      - `valueRelative` integer — Relative time from now (negative for past, positive for future). Example: -7 with WEEK unit means 7 weeks ago.
      - `valueRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `minRelative` integer — Relative time for min boundary
      - `minRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
      - `maxRelative` integer — Relative time for max boundary
      - `maxRelativeUnit` 'YEAR' | 'MONTH' | 'WEEK' | 'DAY' | 'HOUR' | 'MINUTE' | 'SECOND' — Time unit for relative time calculations: - `YEAR`: Years - `MONTH`: Months - `WEEK`: Weeks - `DAY`: Days - `HOUR`: Hours - `MINUTE`: Minutes - `SECOND`: Seconds
  - `pagination` SearchPaginationInput — Pagination options for search requests
    - `pageNumber` integer — Page number (1-based)
    - `pageSize` integer — Number of results per page (max 250)
  - `sort` SearchSortOption[] — Sort options for the search results
    - `field` string, required — Field name to sort by (must be an indexed field)
    - `order` 'asc' | 'desc', required — Sort direction (ascending or descending)
  - `savedSearch` SavedSearchLookup — Reference to a saved search by ID or client key. Provide either id or key (not both).
    - `id` string, uuid — Saved search UUID
    - `key` string — Client-defined key for the saved search
  - `format` 'flat' | 'full' — Response format: - flat: Returns only indexed fields (default, faster) - full: Returns complete user objects

## Response `200`

Successful search results

- UserSearchResponse — Response for user search requests. Note: Only active (non-deleted) users are included in results.
  - `data` union[], required — Search results - either flat rows or full user objects based on format parameter
    - union
      - UserSearchRow — Flattened user data from search index. Note: This represents only active users. Soft-deleted records are never returned.
        - `object` 'USER_SEARCH_ROW', required — Object type identifier for discriminating between flat and full response formats
        - `id` string, uuid, required
        - `name` string, required
        - `email` string, email, required
        - `emailVerified` boolean, required — Whether email is verified
        - `phone` string, nullable
        - `status` 'pending' | 'active' | 'inactive', required
        - `roles` string[] — User roles
        - `visibility` 'ALL' | 'LIMITED', nullable
        - `teamIds` string[] — Team IDs (maps from groupIds)
        - `teamNames` string[] — Team names (maps from groupNames)
        - `customersCount` integer, required — Number of customers (maps from shippersCount)
        - `quotesCount` integer, nullable
        - `quotesWon` integer, nullable
        - `quoteWinRate` number, float, nullable — Win rate percentage
        - `ordersCount` integer, required — Number of shipments
        - `ordersTotalRevenue` number, float, required — Total shipment revenue
        - `ordersTotalTransportationCost` number, float, required — Total transportation cost
        - `ordersTotalGrossProfit` number, float, required — Total gross profit
        - `averageGrossProfitPerOrder` number, float, nullable — Average gross profit per shipment
        - `carriersCount` integer, required — Number of carriers
        - `createdAt` string, date-time, required
        - `lastInvitedAt` string, date-time, nullable
      - User
        - `object` 'USER' — Object type identifier
        - `id` string, uuid, required — Unique user identifier
        - `email` string, email, required — User's email address
        - `name` string, nullable — User's full name
        - `phone` string, nullable — User's phone number
        - `phoneExt` string, nullable — Phone extension
        - `status` 'PENDING' | 'ACTIVE' | 'INACTIVE', required — User account status: - `PENDING`: User invited but has not completed onboarding - `ACTIVE`: User account is active and can access the system - `INACTIVE`: User account is deactivated
        - `roles` UserRole[], required — User's roles within the organization
        - `key` string, nullable — Client-defined reference identifier for this user
        - `datUsername` string, nullable — DAT (Load Board) integration username
        - `mcpUsername` string, nullable — MyCarrierPortal integration username
        - `avatarId` string, uuid, nullable — Profile avatar document ID
        - `teams` TeamReference[] — Teams this user belongs to
          - `object` 'TEAM' — Object type identifier
          - `id` string, uuid, required — Unique team identifier
          - `name` string, required — Team name
          - `key` string, nullable — Client-defined reference identifier for this team
          - `createdAt` string, date-time, required — Timestamp when team was created
          - `updatedAt` string, date-time, required — Timestamp when team was last updated
          - `deletedAt` string, date-time, nullable — Timestamp when team was soft-deleted (null if active)
        - `createdAt` string, date-time, required — Timestamp when user was created
        - `updatedAt` string, date-time, required — Timestamp when user was last updated
        - `deletedAt` string, date-time, nullable — Timestamp when user was soft-deleted (null if active)
  - `pagination` SearchPaginationInfo, required — Pagination information for search results
    - `pageNumber` integer, required — Current page number
    - `pageSize` integer, required — Number of results returned on this page
    - `totalPages` integer, required — Total number of pages available
  - `totalResults` integer, required — Total number of matching results (excluding soft-deleted records)

## Other responses

- `400` — Bad request - invalid input
- `401` — Unauthorized - invalid or missing access token
- `422` — Validation error - invalid field values
- `429` — Rate limit exceeded

---

[API](https://skmtc.net/mvmnt/apis/mvmnt-api.md) · [All operations](https://skmtc.net/mvmnt/apis/mvmnt-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mvmnt/mvmnt-api/revisions/c44e5e7a4256/schema)
